انتخاب دید ذخیره شده در پایگاه داده های تحلیلی

32
ه ت ف ر ش ی په داده گا ای پ

Upload: eleanor-rowe

Post on 01-Jan-2016

81 views

Category:

Documents


0 download

DESCRIPTION

انتخاب دید ذخیره شده در پایگاه داده های تحلیلی. ارائه دهندگان : محمد رضا شمس محمد تقی صفار استاد مربوطه: دکتر رهگذر پاییز 88. رئوس مطالب. معرفی پایگاه داده تحلیلی ( Data Warehousing ) معرفی جداول بعد و واقعیت دید ذخیره شده ( Materialized View ) محاسبه هزینه دید ذخیره شده - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: انتخاب دید ذخیره شده در پایگاه داده های تحلیلی

پایگاه داده پیشرفته

Page 2: انتخاب دید ذخیره شده در پایگاه داده های تحلیلی

پایگاه داده پیشرفته

Page 3: انتخاب دید ذخیره شده در پایگاه داده های تحلیلی

3 رئوس مطالب رئوس مطالب

( معرفی پایگاه داده تحلیلیData Warehousing)

معرفی جداول بعد و واقعیت

( دید ذخیره شدهMaterialized View)

محاسبه هزینه دید ذخیره شده

ساختار شبکه در مجموعه دیدها

الگوریتم های انتخاب مجموعه دید های ذخیره شده

پایگاه داده پیشرفته

Page 4: انتخاب دید ذخیره شده در پایگاه داده های تحلیلی

4 معرفی پایگاه داده تحلیلی معرفی پایگاه داده تحلیلی

مقدمه

تعریف پایگاه داده تحلیلی از نظرBill Inmon:

مجموعه ای از داده های موضوع گرا، مجتمع، متغیر با زمان و پایدار

کمک به تصمیم گیری های مدیریتی و پیش بینی آینده

تفاوت پایگاه داده تحلیلی با پایگاه داده

(از دید مدل داده: استفاده از سیستم پردازش تحلیلی بر خطOLAP به جای )

سیستم های پردازش تراکنش

عملیات قابل اجرا

حجم داده

زمان پرس وجو

پایگاه داده پیشرفته

Page 5: انتخاب دید ذخیره شده در پایگاه داده های تحلیلی

5 مولفه های یک پایگاه داده تحلیلی

مولفه های یک پایگاه داده تحلیلی

:مولفه های یک پایگاه داده تحلیلی

مولفه داده منبع: داده تولید شده، داخلی، آرشیو و خارجی

مولفه انتقال داده: استخراج، تغییر شکل و بارگذاری داده

مولفه پایگاه داده

مولفه متاداده: داده درباره داده

مولفه مدیریت و کنترل

مدل داده چند بعدی: مدل کردن داده به شکل یک مکعب داده(Cube)

(بعدDimension )

( واقعیتFact)

پایگاه داده پیشرفته

Page 6: انتخاب دید ذخیره شده در پایگاه داده های تحلیلی

6ساختار جداول بعد و واقعیتساختار جداول بعد و واقعیت

پایگاه داده پیشرفته

انواع ساختارها: ستاره ای، دانه برفی و کهکشانی

؟ ؟؟انتخاب ساختار مناسب برای طراحی پایگاه داده تحلیلی

Page 7: انتخاب دید ذخیره شده در پایگاه داده های تحلیلی

7 معرفی دید ذخیره شده معرفی دید ذخیره شده

:تفاوت دید معمولی با دید ذخیره شده

دید معمولی: ذخیره تعریف دید و اجرای آن در هر بار فراخوانی

دید ذخیره شده: ذخیره نتایج حاصل از اجرای دید

اهمیت استفاده از دید ذخیره شده: ایجاد دید بر روی اطالعات جمع بندی و طبقه بندی

شده به جای اجرای مرتب یک پرس و جو بر روی یک پایگاه داده

:وجود روش های متفاوت ایجاد یک دید ذخیره شده، نحوه مقایسه مسئله مهم

و در نهایت انتخاب بهترین روش در شرایط متفاوت !!!

پایگاه داده پیشرفته

Page 8: انتخاب دید ذخیره شده در پایگاه داده های تحلیلی

8 محاسبه هزینه ایجاد دید ذخیره شده

محاسبه هزینه ایجاد دید ذخیره شده

( وجود محدودیت هایconstraint مختلف و نیاز به روش های گوناگون )

دو عامل مهم در محاسبه هزینه

(هزینه اجرای یک پرس و جوqueryبر روی پایگاه داده تحلیلی )

هزینه نگهداری یک دید ذخیره شده

رابطه معکوس دو عامل و نیاز به روشی جهت ارزیابی همزمان آن ها

رابطهLinear cost model بر مبنای حاصل جمع دو عامل

پایگاه داده پیشرفته

Page 9: انتخاب دید ذخیره شده در پایگاه داده های تحلیلی

9Query DAG Query DAG

DAG: Directed acyclic graph

نمونه ازDAG

پایگاه داده پیشرفته

Page 10: انتخاب دید ذخیره شده در پایگاه داده های تحلیلی

10

im

ii GQEfQE(G)

1

مدل محاسبه خطی مدل محاسبه خطی

پایگاه داده پیشرفته

هزینه اجرای همه

پرس و جوها

مجوعه ای از پرس و جوها Q=(Q1,Q2, …,Qm)

مجموعه ای از جداول منبعS=(S1, S2 , …,Sn)

query DAG :GQi

گرافG(گرافی از پرس و جوها :multi query graph)

تکرار پرس و

جو

هزینه اجرای

i مین پرسو جو

Page 11: انتخاب دید ذخیره شده در پایگاه داده های تحلیلی

11

in

ii GSMfSM(G)

1

مدل محاسبه خطی مدل محاسبه خطی

پایگاه داده پیشرفته

هزینه نگهداری کل

مجوعه ای از پرس و جوها Q=(Q1,Q2, …,Qm)

مجموعه ای از جداول منبعS=(S1, S2 , …,Sn)

:GSi انتشار تغییرDAGها برای هر پرس و جو

تعداد تغییر

جداول منبع

هزینه انتشار مین iتغییر

جدول بر دید

Page 12: انتخاب دید ذخیره شده در پایگاه داده های تحلیلی

12

)()(1

vGSMfS)vM(G i

n

ii

مدل محاسبه خطی روی دید ذخیره

شدهمدل محاسبه خطی روی دید ذخیره

شده

پایگاه داده پیشرفته

محاسبه فرمول ها بر مبنای دید های ذخیره شده

)()(1

vGQEfQ)vE(G i

m

ii

:هزینه نهایی هر دید ذخیره شدهTotal

cost(v)=E(G(v)) + M(G(v))

سر جمع هزینه ها برای یک مجموعهM:عضوی از دیدهای ذخیره شده

Mv

vtTotaltTotal )(coscos

Page 13: انتخاب دید ذخیره شده در پایگاه داده های تحلیلی

13ویژگی های انتخاب دیدویژگی های انتخاب دید

محدودیت های موجودبهینه سازی زمان پاسخ به پرسش هامحدودیت در استفاده از حافظه بهینه سازی هزینه به روز رسانی دید های ذخیره شده

انتخاب دیدNP- Completeمسئله در حالت کلی بدون جواب بهینه در بعضی حاالتروش های مختلف برای پاسخ گویی به زیر مجموعه هایی از محدودیت هاتقریبی از جواب بهینه در همه روش هاکمینه کردن مجموع چند هزینه

پایگاه داده پیشرفته

Page 14: انتخاب دید ذخیره شده در پایگاه داده های تحلیلی

14مکعب داده ایمکعب داده ای

ALLعالوه بر مقادیر موجود در دامنه ابعاد مقدار خاصی است که نشانگر تجمیع تمامی مقادیر موجود در راستای

آن بعد است. معادلGROUP-BY در زبان SQL.

:مثالمکعب داده ای سه بعد: فروشنده، قطعه و خریدار.

مقادیر هر سلول: تعداد فروش(supplier1, part1, customer1 = )50(supplier1, ALL, customer1 = )75

پایگاه داده پیشرفته

Page 15: انتخاب دید ذخیره شده در پایگاه داده های تحلیلی

15مکعب داده ایمکعب داده ای

هر مجموعه سلول های مکعب داده ای به شکل , _ (ALL معادل با ) _ ,یک جدول داده ای یا یک پرس و جو است.

ویژگی های دارای مقدارALL در لیست GROUP-BY.قرار نمی گیرند

هر پرس و جوی تجمعی را می توان با مجموعه ویژگی هایی که درGROUP-BY.نمایش داد

می توان نتیجه بعضی از این پرس و جو ها را از نتیجه پرس و جو هایکلی تر استخراج کرد. ) به جای مراجعه به اصل داده ها(

( کدامین سلول های این مکعب ذخیره شده باشند؟materialized view selection)

پایگاه داده پیشرفته

Page 16: انتخاب دید ذخیره شده در پایگاه داده های تحلیلی

16شبکه دیدهاشبکه دیدها

.هر پرس و جو معادل یک دید است

پرس و جو های تجمعی هستند و آنها g پرس و جو ها در انباره داده معموال نمایش می دهیم.GROUP-BYرا با لیست

:رابطه ترتیب جزئی روی مجموعه دیدها اگر و فقط اگرA را بتوان از روی Bساخت A ≤ B

به عبارت دیگرA ≤ B iff A is a subset of B

:مثال{supplier} ≤ {supplier, part}

پایگاه داده پیشرفته

Page 17: انتخاب دید ذخیره شده در پایگاه داده های تحلیلی

17شبکه دید هاشبکه دید ها

رابطه ترتیب جزئی روی مجموعه دیدهای قابل تعریف = شبکه شبکه دارای دو عملگرLUB و GLB.است می توان آن را باlattice diagram.نمایش داد

{p, s, c}

{p, c} {s, c} {p, s}

{c} {s} {p}

none

پایگاه داده پیشرفته

Page 18: انتخاب دید ذخیره شده در پایگاه داده های تحلیلی

18 سلسله مراتب ابعاد مکعب داده ای

سلسله مراتب ابعاد مکعب داده ای

.یک بعد شامل چند صفت یا ویژگی است

.این صفات یک سلسله مراتب را تشکیل می دهند

.مثال: زمان شامل روز، ماه و سال می باشد

پرس و جوی تجمیع شده{time می تواند با }حالت درشت دانگی 3 {day{ ,}month{ و }year.اجرا شود }

{ پرس و جویmonth{ از روی }day{ و }year{ از روی }month یا }{day.قابل پاسخ گویی هستند }

{year{ ≤ }month{ ≤ }day}

پایگاه داده پیشرفته

Page 19: انتخاب دید ذخیره شده در پایگاه داده های تحلیلی

19 سلسله مراتب ابعاد مکعب داده ای

سلسله مراتب ابعاد مکعب داده ای

.سلسله مراتب روی ابعاد، یک ترتیب جزئی ایجاد می کند

:مثال

روز

ماه هفته

سال

none

پایگاه داده پیشرفته

Page 20: انتخاب دید ذخیره شده در پایگاه داده های تحلیلی

20شبکه ابعاد سلسله مراتبیشبکه ابعاد سلسله مراتبی

وابستگی پرس و جوهاناشی از ارتباط ابعاد مختلف با یکدیگر

•{supplier{ ≤ }supplier, part}ناشی از ارتباط سلسله مراتبی اجزای یک بعد

•{year{ ≤ }month}

.در حالت کلی رابطه ترتیب جزئی به شکل زیر مطرح می شودN بعد داریم و هر پرس و جو یک جز از سلسله مراتب هر بعد را

انتخاب می کند.(a1, a2, …, an( ≤ )b1, b2, …, bn )if for all i ai ≤ bi

پایگاه داده پیشرفته

Page 21: انتخاب دید ذخیره شده در پایگاه داده های تحلیلی

21 تخمین هزینه و فضای پرس و جو

تخمین هزینه و فضای پرس و جو

.هزینه یک پرس و جو رابطه مستقیم با اندازه جدول دارد.استفاده از ساختارهای ایندکس هزینه پرس و جو را پایین می آورد برای سادگی فرض می کنیم هزینه پرس و جو معادل است با تعداد

سطور جدول.

:فضای مورد نیاز برای ذخیره کردن یک دید.اجرا شود نیاز داریم آن را تخمین بزنیم g قبل از اینکه عمال:برای تخمین

می توان آن را روی مجموعه کوچکی از داده اصلی اجرا کرد.•مقادیر غیر تکراری بعضی از صفات نیاز است.•

پایگاه داده پیشرفته

Page 22: انتخاب دید ذخیره شده در پایگاه داده های تحلیلی

22انتخاب دیدهای ذخیره شدهانتخاب دیدهای ذخیره شده

دو محدودیت را در نظر می گیریمزمان پاسخ کمینه شود تعدادK.دید ذخیره شده انتخاب شود

برای انتخاب دیدهای ذخیره شده الزم است اندازه تمام دیدهای موجود درشبکه دیدها را تخمین بزنیم.

C(x) برابر است با اندازه دید x.

اگر دیدv ذخیره شده نباشد، می توان آن را از دید u با هزینه C(u) ساخت به شرطی که:

دیدu.ذخیره شده باشد v ≤ u .

پایگاه داده پیشرفته

Page 23: انتخاب دید ذخیره شده در پایگاه داده های تحلیلی

23انتخاب دیدهای ذخیره شدهانتخاب دیدهای ذخیره شده

:الگوریتم حریصانه مجموعه دیدهایS.تا کنون انتخاب شده است تابعB(v, S) برای دید v خارج از S:اینگونه تعریف می شود

را اینگونه تعریف می کنیم:Bw مقدار w ≤ vبرای هر

w ≤ u و S یک دید با کمترین هزینه متعلق به uفرض کنید B(v, S) = ∑ Bw در غیر اینصورت صفر. Bw = C(u) – C(v) آنگاه C(v) ≤ C(u)اگر

در هر مرحلهv را انتخاب می کنیم که در آن B(v, S) بیشینه باشد تا دید را انتخاب کرده باشیمKاینکه

پایگاه داده پیشرفته

Page 24: انتخاب دید ذخیره شده در پایگاه داده های تحلیلی

24انتخاب دیدهای ذخیره شدهانتخاب دیدهای ذخیره شده

S = {top view}for i = 1 to k do begin

select that view v not in S such that B(v, S) is maximized

S = S union {v}end;resulting S is the greedy selection

پایگاه داده پیشرفته

Page 25: انتخاب دید ذخیره شده در پایگاه داده های تحلیلی

25انتخاب دیدهای ذخیره شدهانتخاب دیدهای ذخیره شده

دید ذخیره شده انتخاب کنیم.4مثال: در شبکه زیر می خواهیم

پایگاه داده پیشرفته

Page 26: انتخاب دید ذخیره شده در پایگاه داده های تحلیلی

26انتخاب دیدهای ذخیره شدهانتخاب دیدهای ذخیره شده

پایگاه داده پیشرفته

Page 27: انتخاب دید ذخیره شده در پایگاه داده های تحلیلی

27انتخاب دیدهای ذخیره شدهانتخاب دیدهای ذخیره شده

در عمل باید تعداد دیدهای ذخیره شده را به گونه ای انتخاب کنیم که عالوهبر بهبود زمان پاسخ به پرس و جوها، در فضای حافظه نیز صرفه جویی

کنیم. هر چه تعداد دید ها بیشتر شود، فضای بیشتری احتیاج دارد و در بهبود

زمان پاسخ نیز تاثیر کمتری دارد.

پایگاه داده پیشرفته

Page 28: انتخاب دید ذخیره شده در پایگاه داده های تحلیلی

28گسترش روش انتخاب دیدگسترش روش انتخاب دید

:مشکالت عمده روش انتخاب دید قبلی تمام دیدها با احتمال یکسان مورد پرس و جو قرار نمی گیرند. هر دید

می تواند دارای احتمال مورد پرس و جو قرار گرفتن باشد. محدودیت انتخاب دید را فضای حافظه مشخص می کند نه تعداد دید

های ذخیره شده.

.الگوریتم حریصانه را می توان با تغییراتی برای موارد باال نیز به کار برد

پایگاه داده پیشرفته

Page 29: انتخاب دید ذخیره شده در پایگاه داده های تحلیلی

29گسترش روش انتخاب دیدگسترش روش انتخاب دید

:اگر هر دید یک احتمال مورد پرس و جو قرار گرفتن داشته باشد در الگوریتم حریصانه، زمان محاسبهBw این احتمال را در مقدار Bw

ضرب می کنیم و روش انتخاب را مانند قبل ادامه می دهیم.

:اگر محدودیت فضای حافظه داشته باشیم در الگوریتم حریصانه، انتخاب دید ذخیره شده را بر اساس بیشینه

انجام می دهیم.B(v, S) / C(v)شدن این روش همیشه خوب کار نمی کند. ممکن است یک دید کوچک ولی با

g ارزش را انتخاب کنیم و دیگر برای دید بزرگتر ولی با ارزش تقریبابرابر، فضا نداشته باشیم.

پایگاه داده پیشرفته

Page 30: انتخاب دید ذخیره شده در پایگاه داده های تحلیلی

30خالصهخالصه

g سیستم های پشتیبان تصمیم گیری به داده های تاریخی نیاز دارند و معموالبه دنبال یافتن گرایشات و جهت گیری های کلی داده ها هستند تا اطالعات

یک رکورد.

برای بهبود زمان پاسخ گویی در این سیستم ها از انباره داده استفاده میg پاسخ تعدادی از پرس و جوها از قبل محاسبه شود. در این انباره ها معموال

و ذخیره می شوند.

در حالت کلی به دنبال پیدا کردن مجموعه دیدهای ذخیره شده بهینه براییک انباره هستیم به طوری که زمان پرس و جو ها و همچنین فضای

حافظه مورد نیاز را کمینه کند.

پایگاه داده پیشرفته

Page 31: انتخاب دید ذخیره شده در پایگاه داده های تحلیلی

31منابعمنابع

C.A. Dothe, M.S. Ali, “Materialized View Selection in Data Warehousing: A Survey”, Journal of Applied Sciences 9 (3): 401 – 414, 2009.

V. Harinayaran, A. Rajaraman, J.D. Ullman, “Implementing Data Cubes Effieciently”, ACM SIGMOD Record, 25: 205 – 216, 1996.

B. Ashadevi, R. Balasubramanian, “Cost Effective Approach for Materialized Views Selection in Data Warehousing Environment”, IJCSNS 8 (10): 236 – 242, 2008.

B. Inmon, “Data Warehousing Fundamentals”, John Wiley & Sons, Inc., 2001

پایگاه داده پیشرفته

Page 32: انتخاب دید ذخیره شده در پایگاه داده های تحلیلی

پایگاه داده پیشرفته