1 / 32

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

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

Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. انتخاب دید ذخیره شده در پایگاه داده های تحلیلی ارائه دهندگان : محمد رضا شمس محمد تقی صفار استاد مربوطه: دکتر رهگذر پاییز 88

  2. پایگاه داده پیشرفته رئوس مطالب • معرفی پایگاه داده تحلیلی (Data Warehousing) • معرفی جداول بعد و واقعیت • دید ذخیره شده (Materialized View) • محاسبه هزینه دید ذخیره شده • ساختار شبکه در مجموعه دیدها • الگوریتم های انتخاب مجموعه دید های ذخیره شده

  3. پایگاه داده پیشرفته معرفی پایگاه داده تحلیلی • مقدمه • تعریف پایگاه داده تحلیلی از نظر Bill Inmon: • مجموعه ای از داده های موضوع گرا، مجتمع، متغیر با زمان و پایدار • کمک به تصمیم گیری های مدیریتی و پیش بینی آینده • تفاوت پایگاه داده تحلیلی با پایگاه داده • از دید مدل داده: استفاده از سیستم پردازش تحلیلی بر خط(OLAP) به جای سیستم های پردازش تراکنش • عملیات قابل اجرا • حجم داده • زمان پرس وجو

  4. پایگاه داده پیشرفته مولفه های یک پایگاه داده تحلیلی • مولفه های یک پایگاه داده تحلیلی: • مولفه داده منبع: داده تولید شده، داخلی، آرشیو و خارجی • مولفه انتقال داده: استخراج، تغییر شکل و بارگذاری داده • مولفه پایگاه داده • مولفه متاداده: داده درباره داده • مولفه مدیریت و کنترل • مدل داده چند بعدی: مدل کردن داده به شکل یک مکعب داده(Cube) • بعد(Dimension) • واقعیت (Fact)

  5. پایگاه داده پیشرفته ساختار جداول بعد و واقعیت • انواع ساختارها: ستاره ای، دانه برفی و کهکشانی • انتخاب ساختار مناسب برای طراحی پایگاه داده تحلیلی ؟ ؟ ؟

  6. پایگاه داده پیشرفته معرفی دید ذخیره شده • تفاوت دید معمولی با دید ذخیره شده: • دید معمولی: ذخیره تعریف دید و اجرای آن در هر بار فراخوانی • دید ذخیره شده: ذخیره نتایج حاصل از اجرای دید • اهمیت استفاده از دید ذخیره شده: ایجاد دید بر روی اطلاعات جمع بندی و طبقه بندی شده به جای اجرای مرتب یک پرس و جو بر روی یک پایگاه داده • مسئله مهم: وجود روش های متفاوت ایجاد یک دید ذخیره شده، نحوه مقایسه و در نهایت انتخاب بهترین روش در شرایط متفاوت !!!

  7. پایگاه داده پیشرفته محاسبه هزینه ایجاد دید ذخیره شده • وجود محدودیت های (constraint) مختلف و نیاز به روش های گوناگون • دو عامل مهم در محاسبه هزینه • هزینه اجرای یک پرس و جو(query) بر روی پایگاه داده تحلیلی • هزینه نگهداری یک دید ذخیره شده • رابطه معکوس دو عامل و نیاز به روشی جهت ارزیابی همزمان آن ها • رابطه Linear cost model بر مبنای حاصل جمع دو عامل

  8. پایگاه داده پیشرفته Query DAG • DAG: Directed acyclic graph • نمونه از DAG

  9. پایگاه داده پیشرفته مدل محاسبه خطی • مجوعه ای از پرس و جوها Q=(Q1,Q2, …,Qm) • مجموعه ای از جداول منبع S=(S1,S2 , …,Sn) • query DAG :GQi • گراف G: گرافی از پرس و جوها(multi query graph) هزینه اجرای همه پرس و جوها تکرار پرس و جو هزینه اجرای iمین پرس و جو

  10. پایگاه داده پیشرفته مدل محاسبه خطی • مجوعه ای از پرس و جوها Q=(Q1,Q2, …,Qm) • مجموعه ای از جداول منبع S=(S1,S2 , …,Sn) • :GSiانتشار تغییر DAG ها برای هر پرس و جو هزینه نگهداری کل هزینه انتشار تغییر i مین جدول بر دید تعداد تغییر جداول منبع

  11. پایگاه داده پیشرفته مدل محاسبه خطی روی دید ذخیره شده • محاسبه فرمول ها بر مبنای دید های ذخیره شده • هزینه نهایی هر دید ذخیره شده: Total cost(v)=E(G(v)) + M(G(v)) • سر جمع هزینه ها برای یک مجموعه M عضوی از دیدهای ذخیره شده:

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

  13. پایگاه داده پیشرفته مکعب داده ای • ALL علاوه بر مقادیر موجود در دامنه ابعاد • مقدار خاصی است که نشانگر تجمیع تمامی مقادیر موجود در راستای آن بعد است. • معادل GROUP-BY در زبان SQL. • مثال: مکعب داده ای سه بعد: فروشنده، قطعه و خریدار. مقادیر هر سلول: تعداد فروش (supplier1, part1, customer1) = 50 (supplier1, ALL, customer1) = 75

  14. پایگاه داده پیشرفته مکعب داده ای • هر مجموعه سلول های مکعب داده ای به شکل ( _ , ALL, _ ) معادل با یک جدول داده ای یا یک پرس و جو است. • ویژگی های دارای مقدار ALL در لیست GROUP-BY قرار نمی گیرند. • هر پرس و جوی تجمعی را می توان با مجموعه ویژگی هایی که در GROUP-BY نمایش داد. • می توان نتیجه بعضی از این پرس و جو ها را از نتیجه پرس و جو های کلی تر استخراج کرد. ( به جای مراجعه به اصل داده ها) • کدامین سلول های این مکعب ذخیره شده باشند؟ (materialized view selection)

  15. پایگاه داده پیشرفته شبکه دیدها • هر پرس و جو معادل یک دید است. • پرس و جو ها در انباره داده معمولاً پرس و جو های تجمعی هستند و آنها را با لیست GROUP-BY نمایش می دهیم. • رابطه ترتیب جزئی روی مجموعه دیدها: • اگر و فقط اگر A را بتوان از روی B ساختA ≤ B به عبارت دیگر A ≤ B iff A is a subset of B • مثال: {supplier} ≤ {supplier, part}

  16. پایگاه داده پیشرفته شبکه دید ها • رابطه ترتیب جزئی روی مجموعه دیدهای قابل تعریف = شبکه • شبکه دارای دو عملگر LUB و GLB است. • می توان آن را با lattice diagram نمایش داد. {p, s, c} {p, c} {s, c} {p, s} {c} {s} {p} none

  17. پایگاه داده پیشرفته سلسله مراتب ابعاد مکعب داده ای • یک بعد شامل چند صفت یا ویژگی است. • این صفات یک سلسله مراتب را تشکیل می دهند. • مثال: زمان شامل روز، ماه و سال می باشد. • پرس و جوی تجمیع شده {time} می تواند با 3 حالت درشت دانگی {day}, {month} و {year} اجرا شود. • پرس و جوی {month} از روی {day} و {year} از روی {month} یا {day} قابل پاسخ گویی هستند. {year} ≤ {month} ≤ {day}

  18. پایگاه داده پیشرفته سلسله مراتب ابعاد مکعب داده ای • سلسله مراتب روی ابعاد، یک ترتیب جزئی ایجاد می کند. • مثال: روز ماه هفته سال none

  19. پایگاه داده پیشرفته شبکه ابعاد سلسله مراتبی • وابستگی پرس و جوها • ناشی از ارتباط ابعاد مختلف با یکدیگر • {supplier} ≤ {supplier, part} • ناشی از ارتباط سلسله مراتبی اجزای یک بعد • {year} ≤ {month} • در حالت کلی رابطه ترتیب جزئی به شکل زیر مطرح می شود. • N بعد داریم و هر پرس و جو یک جز از سلسله مراتب هر بعد را انتخاب می کند. • (a1, a2, …, an) ≤ (b1, b2, …, bn) if for all iai ≤ bi

  20. پایگاه داده پیشرفته تخمین هزینه و فضای پرس و جو • هزینه یک پرس و جو رابطه مستقیم با اندازه جدول دارد. • استفاده از ساختارهای ایندکس هزینه پرس و جو را پایین می آورد. • برای سادگی فرض می کنیم هزینه پرس و جو معادل است با تعداد سطور جدول. • فضای مورد نیاز برای ذخیره کردن یک دید: • قبل از اینکه عملاً اجرا شود نیاز داریم آن را تخمین بزنیم. • برای تخمین: • می توان آن را روی مجموعه کوچکی از داده اصلی اجرا کرد. • مقادیر غیر تکراری بعضی از صفات نیاز است.

  21. پایگاه داده پیشرفته انتخاب دیدهای ذخیره شده • دو محدودیت را در نظر می گیریم • زمان پاسخ کمینه شود • تعداد K دید ذخیره شده انتخاب شود. • برای انتخاب دیدهای ذخیره شده لازم است اندازه تمام دیدهای موجود در شبکه دیدها را تخمین بزنیم. • C(x) برابر است با اندازه دید x. • اگر دید v ذخیره شده نباشد، می توان آن را از دید u با هزینه C(u) ساخت به شرطی که: • دید u ذخیره شده باشد. • v ≤ u.

  22. پایگاه داده پیشرفته انتخاب دیدهای ذخیره شده • الگوریتم حریصانه: • مجموعه دیدهای S تا کنون انتخاب شده است. • تابع B(v, S) برای دید v خارج از S اینگونه تعریف می شود: برای هر w ≤ v مقدار Bw را اینگونه تعریف می کنیم: فرض کنید u یک دید با کمترین هزینه متعلق به S و w ≤ u اگر C(v) ≤ C(u) آنگاه Bw = C(u) – C(v) در غیر اینصورت صفر. B(v, S) = ∑ Bw • در هر مرحله v را انتخاب می کنیم که در آن B(v, S) بیشینه باشد تا اینکه K دید را انتخاب کرده باشیم

  23. پایگاه داده پیشرفته انتخاب دیدهای ذخیره شده 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

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

  25. پایگاه داده پیشرفته انتخاب دیدهای ذخیره شده

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

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

  28. پایگاه داده پیشرفته گسترش روش انتخاب دید • اگر هر دید یک احتمال مورد پرس و جو قرار گرفتن داشته باشد: • در الگوریتم حریصانه، زمان محاسبه Bw این احتمال را در مقدار Bw ضرب می کنیم و روش انتخاب را مانند قبل ادامه می دهیم. • اگر محدودیت فضای حافظه داشته باشیم: • در الگوریتم حریصانه، انتخاب دید ذخیره شده را بر اساس بیشینه شدن B(v, S) / C(v) انجام می دهیم. این روش همیشه خوب کار نمی کند. ممکن است یک دید کوچک ولی با ارزش را انتخاب کنیم و دیگر برای دید بزرگتر ولی با ارزش تقریباً برابر، فضا نداشته باشیم.

  29. پایگاه داده پیشرفته خلاصه • سیستم های پشتیبان تصمیم گیری به داده های تاریخی نیاز دارند و معمولاً به دنبال یافتن گرایشات و جهت گیری های کلی داده ها هستند تا اطلاعات یک رکورد. • برای بهبود زمان پاسخ گویی در این سیستم ها از انباره داده استفاده می شود. در این انباره ها معمولاً پاسخ تعدادی از پرس و جوها از قبل محاسبه و ذخیره می شوند. • در حالت کلی به دنبال پیدا کردن مجموعه دیدهای ذخیره شده بهینه برای یک انباره هستیم به طوری که زمان پرس و جو ها و همچنین فضای حافظه مورد نیاز را کمینه کند.

  30. پایگاه داده پیشرفته منابع • 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

  31. Thank You !

More Related