html5-img
1 / 26

Business Intelligence roadmap chapter 8 Database design

Business Intelligence roadmap chapter 8 Database design. Slides prepared by: Roya Hosseini Professor: Dr. Ahmad Abdollahzadeh Amirkabir University of Technology, Computer Engineering and Information Technology Department Intelligent Systems Laboratory Autumn 2009. مروری بر فصل هشتم:

kovit
Download Presentation

Business Intelligence roadmap chapter 8 Database design

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. Business Intelligence roadmapchapter 8Database design Slides prepared by: RoyaHosseini Professor: Dr. Ahmad Abdollahzadeh Amirkabir University of Technology, Computer Engineering and Information Technology Department Intelligent Systems Laboratory Autumn 2009

  2. مروری بر فصل هشتم: • مواردی که باید در طراحی پایگاه داده لحاظ نمود. • تفاوت میان روش های مختلف طراحی پایگاه داده (طراحی پایگاه داده عملیاتی و پایگاه داده BI) • مجتمع سازی و خلاصه سازی در طراحی چندبعدی • توضیح شمای دانه برفی و شمای ستاره ای • جنبه های مختلف طراحی پایگاه داده شامل روش های پیاده سازی، بخش بندی کردن، کلاستر نمودن، ایندکس گذاری ، back up و بازیابی • توضیح مختصری از فعالیت های طراحی پایگاه داده به همراه نتایج اجرای هر یک • ریسک عدم در نظر گرفتن مرحله طراحی پایگاه داده RoyaHosseini CEIT - Business Intelligence – CH8 – Database Design

  3. ملاحظات در طراحی پایگاه داده • گزارش گیری و پرس و جو • الگوهای رایج پرس و جو در سازمان چیست؟ • برای پرسش های drill down به چه سطحی از جزئیات نیاز است؟ • پیش بینی می شود به چه میزانی پرس و جوی ad-hoc انجام شود؟ • چه تعداد بعد باید برای گزارش گیری تعریف نمود؟ این بعدها چه بعدهایی هستند؟ • چند بعد جدید در آینده ممکن است نیاز باشد تا به ابعاد پیشین افزوده گردد؟ RoyaHosseini CEIT - Business Intelligence – CH8 – Database Design

  4. ملاحظات طراحی • آیا باید داده های مجتمع شده و خلاصه شده ذخیره شوند؟ • تعداد دسترسی های همزمان به داده ها چه قدر است؟ • اندازه پایگاه داده BI چه قدر خواهد بود؟ حجم پیش بینی شده برای داده ها و فاکتورهای رشد داده به چه میزان است؟ • به چه میزانی داده های تاریخی (قدیمی) نگه داشته می شود؟ • فرکانس بارگذاری به چه میزانی است؟ • آیا پایگاه داده نیاز دارد از نوع توزیع شده باشد؟ RoyaHosseini CEIT - Business Intelligence – CH8 – Database Design

  5. ملاحظات عملکرد (performance) • نیاز های عملکرد performance requirement)) چیست؟ • چگونه کلاستر کردن جداول انجام می شود؟به وسیله ستون تاریخ و یا ...؟ • چه جداولی با یکدیگر استفاده می شوند؟ • نحوه بخش بندی جداول چگونه است؟ با تاریخ؟ • از چه الگوریتمی برای اندیس گذاری استفاده می شود؟ (B-tree, hash, inverted file, sparse, binary) • آیا می توان چندین عملیات را به طور موازی انجام داد؟ RoyaHosseini CEIT - Business Intelligence – CH8 – Database Design

  6. انتخاب سیستم مدیریت پایگاه داده • از چه DBMS ی برای سیستم های فعلی استفاده می شود؟ آیا از همان DBMS برای پایگاه داده BI استفاده می شود؟ • آیا DBMS فعلی قابلیت گسترش به سایز مورد انتظار را دارد؟ • آیا از DBMS فعلی راضی هستیم؟ اگر جواب منفی است چه کاری در رابطه با آن باید انجام شود؟ • آیا نیاز است که یک DBMS دیگر تهیه شود؟ RoyaHosseini CEIT - Business Intelligence – CH8 – Database Design

  7. کارکنان • چه مهارت های در دسترسی برای طراحی پایگاه داده BI وجود دارد؟ • آیا به میزان کافی مدیر پایگاه داده وجود دارد؟ • آیا یک مدیر پایگاه داده را می توان به صورت تمام وقت برای پایگاه داده BI در نظر گرفت؟ • آیا این مدیر مهارت های طراحی چند بعدی را دارد؟ اگر پاسخ منفی است در چه زمانی می توان به او آموزش داد؟ • آیا نیاز است یک مشاور برای آموزش مدیر پایگاه داده و تیم استخدام نمود؟ RoyaHosseini CEIT - Business Intelligence – CH8 – Database Design

  8. به منظور اینکه بتوان در پایگاه داده BI، امکان slice و dice را فراهم نمود، نیاز است تا مدیران پایگاه داده و توسعه دهندگان، روش های طراحی جدید را بیاموزند. برای شروع این کار نیاز است تا درک کاملی از روش های دسترسی داده فراهم شود. • روش های دسترسی به داده: • روش قراردادی(conventional way) که معمولا با دستورهای SQL، رکورد ها بازیابی می شوند. • روش ذخیره سازی و دسترسی چندبعدی که slice و dice را پشتیبانی می کند و امکان مشاهده اطلاعات را از زوایای مختلف فراهم می کند. RoyaHosseini CEIT - Business Intelligence – CH8 – Database Design

  9. تفاوت میان طراحی پایگاه داده عملیاتی و پایگاه داده BI RoyaHosseini CEIT - Business Intelligence – CH8 – Database Design

  10. تفاوت میان طراحی پایگاه داده عملیاتی و پایگاه داده BI مشتری سفارش های مشتری سفارش خلاصه ماهانه خلاصه مربوط به هر منطقه اجناس سفارش داده شده خلاصه محصول طراحی پایگاه داده عملیاتی – نرمال شده طراحی چندبعدی پایگاه دادهBI RoyaHosseini CEIT - Business Intelligence – CH8 – Database Design

  11. برای طراحی پایگاه های داده BI باید نکات زیر را در نظر گرفت: • هدف از طراحی پایگاه داده BI، فراهم نمودن بازیابی ساده و با بازده بالا است نه کارایی در ذخیره سازی داده و نگهداری آن (مخصوص پایگاه داده عملیاتی) • برطرف نمودن و یا کاهش افزونگی داده هدف طراحی پایگاه داده BI نیست. افزونگی برای کنترل پیچیدگی در طراحی پایگاه داده BI وجود دارد ولی باید کنترل شود. افزونگی داده ها باید کنترل شود و سازگار باشد. • فرضیات اصلی که باید در طراحی پایگاه داده BI در نظر گرفته شوند عبارتند از: • داده ها به شیوه ای ذخیره شده اند که به راحتی توسط کاربران بخش های مختلف در دسترس باشند. • طراحی نرمال شده برای BI مناسب نیست و باعث پیچیدگی بیش از اندازه می شود. • داده های پایگاه داده BI، از منابع داده ای داخلی و خارجی موجود بدست می آیند. RoyaHosseini CEIT - Business Intelligence – CH8 – Database Design

  12. نکته کلیدی در طراحی پایگاه داده BI این است که آیا داده خلاصه شده باید ذخیره شود و اینکه چه سطحی از خلاصه سازی مورد نیاز است؟ • مدیر پایگاه داده ممکن است این داده ها را در یک و یا چند پایگاه داده جدا ذخیره کند. • این نوع طراحی باید بر اساس نیازهای دسترسی و کاربرد خاص انجام شود. RoyaHosseini CEIT - Business Intelligence – CH8 – Database Design

  13. طراحی منطقی پایگاه داده • طراحی چندبعدی پایگاه داده بازیابی سریع حجم وسیعی از داده ها را پشتیبانی می کند. دو روش رایج برای طراحی چند بعدی عبارتند از: • شمای ستاره ای • شمای دانه برفی RoyaHosseini CEIT - Business Intelligence – CH8 – Database Design

  14. شمای ستاره ای • در شمای ستاره ای داده ها به شکل آرایه ای از مقادیر از پیش محاسبه شده به نام Fact که تحلیل بر روی آن ها انجام می شود، نشان داده می شوند. • این Fact ها داده های عملیاتی را که توسط Dimension ها از پیش خلاصه شده اند، نمایش می دهند. • Dimension در شمای ستاره ای یک Business object است که درباره آن داده برای مقاصد و اهداف تجاری ذخیره می شود. • در شمای ستاره ای یک شی در وسط قرار می گیرد که Fact table نام دارد. این شی به اشیاء دیگر به نام Dimension table متصل می شود. • شمای ستاره ای دو و فقط دو سطح دارد: در سطح اول Fact table و در سطح بعد مجموعه ای از Dimension table ها RoyaHosseini CEIT - Business Intelligence – CH8 – Database Design

  15. ویژگی جداول Fact • جداول حقیقت نشاندهنده یک Business event هستند(مانند فروش و یا تقاضا) • حقایق جنبه های قابل سنجش یک Business event هستند، به عبارتی ستون ها در جدول حقیقت را تشکیل می دهند. • یک جدول حقیقت به جداول بعد متصل می شود. • کلیدخصوصی جدول حقیقت به صورت ترکیبی از کلیدهای خصوصی جداول بعد متصل به آن است. • در یک زمینه خاص ممکن است چندین جدول حقیقت وجود داشته باشد. مانند: • حقایق مربوط به فروش بر اساس مغازه، منطقه، زمان • حقایق مربوط به فروش بر اساس محصول، مغازه، زمان • حقایق مربوط به فروش بر اساس مشتری، منطقه، زمان • جداول حقیقت تعداد سطرهای بسیار زیاد و تعداد ستون های اندک دارند. RoyaHosseini CEIT - Business Intelligence – CH8 – Database Design

  16. ویژگی جداول بعد • جداول ابعاد business object ها هستند که زوایای مختلفی که حقایق در جدول حقیقت می توانند مشاهده و تحلیل شوند را نشان می دهند. • معمولا این جداول یک کلید خصوصی دارند. • این جداول غیر نرمال هستند. • این جداول تعداد سطر اندک و تعداد ستون زیاد دارند. • یکی از ابعاد همواره بعد زمان است. RoyaHosseini CEIT - Business Intelligence – CH8 – Database Design

  17. شمای ستاره ای یکی از رایج ترین شماهای طراحی پایگاه داده برای کاربردهای BI است.زیرا: • در اجرای پرس و جوهای مربوط به تحلیل روند و گزارش هایی که حاوی اطلاعات چندین سال می باشند، بازده بالایی دارد. • ماکزیمم انعطاف را در تحلیل اطلاعات چندبعدی دارد. • بیشتر فروشندگان DBMS آن را پشتیبانی می کنند. • سادگی آن تحلیل های پیچیده داده را نسبت به طراحی نرمال، بسیار راحت تر نموده است. RoyaHosseini CEIT - Business Intelligence – CH8 – Database Design

  18. شمای دانه برفی • این شما یک نوع شمای ستاره ای است، با این تفاوت که جداول ابعاد در آن ساختار سلسله مراتبی و نرمال شده دارند. • مزایا: • اندازه جدول بعد کاهش می یابد و از افزونگی در داده جلوگیری می شود. • انعطاف بیشتری دارند. • معایب: • تعداد زیاد جداول ممکن است بازده پرس و جو را کاهش دهد، چرا که به Join میان جداول نیاز است. • نگهداری پایگاه داده به دلیل افزایش تعداد جداول، مشکل تر می شود. RoyaHosseini CEIT - Business Intelligence – CH8 – Database Design

  19. توصیه هایی برای طراحی پایگاه داده فیزیکی • هر DBMS گزینه های مختلفی برای پیاده سازی دارد که مدیر پایگاه داده باید با توجه به فضای ذخیره سازی، فضای بافر، اندازه بلوک داده و نوع فشرده سازی استفاده شده، یک مورد را انتخاب کند. • Dataset ها را باید با توجه به نوع کاربردشان در محل مناسب ذخیره نمود. به عنوان نمونه: • داده هایی که مکرر استفاده می شوند، باید در رسانه ای با سرعت دسترسی بالا ذخیره شوند. • داده های تجمیع شده باید در سرورهای میانی ذخیره شوند در حالیکه داده های مربوط به جزئیات باید در mainframe ها ذخیره شوند. • برای بهینه سازی I/O ذخیره داده ها در دیسک به صورت interleaved انجام شود. • از روش های آدرس دهی و جستجویی استفاده شود که به کمترین میزان جستجو نیاز داشته باشند و ترجیحا برای بازیابی، تنها یک رکورد به ازای هر بازیابی جستجو شود. • چندین عملیات را بتوان به طور موازی انجام داد. RoyaHosseini CEIT - Business Intelligence – CH8 – Database Design

  20. جداول باید در بین چندین دیسک تقسیم شوند. این توزیع فیزیکی داده بر اساس ستون تقسیم کننده که معمولا ستونی از نوع زمان است، انجام می شود. این ستون باید بخشی از کلید خصوصی جدول باشد در نتیجه مقدار آن نمی تواند مقداری مشتق شده و یا null باشد. • باید جداولی که مربوط به یکدیگرند، در یک دیسک ذخیره و کلاستر شوند. کلاستر نمودن یکی از سودمندترین روش ها برای دسترسی ترتیبی حجم وسیعی از داده هاست. • باید ستون هایی از جداول را که اغلب جستجو می شوند و مقادیر متعددی می پذیرند، ایندکس گذاری کرد. برای این کار می توان از الگوریتم های رایج اندیس گذاری مانند Hash، B-tree، Inverted file، Sparse و Binary استفاده نمود. RoyaHosseini CEIT - Business Intelligence – CH8 – Database Design

  21. باید dataset ها را گه گاه مجددا سازماندهی نمود. دلیل انجام این کار این است که بارگذاری های افزایشی در طول زمان dataset را قطعه قطعه می کند و در نتیجه کارایی بازیابی به شدت پایین می آید. • باید مکانیزم هایی برای full/incremental backup از پایگاه های داده منبع در نظر گرفت. • برای بهبود اجرای یک پرس و جو، query را می توان به چندین جزء شکست و هر یک را همزمان اجرا نمود. RoyaHosseini CEIT - Business Intelligence – CH8 – Database Design

  22. فعالیت های طراحی پایگاه داده • برای طراحی پایگاه داده فعالیت های زیر می توانند به هر ترتیبی انجام شوند: • نیازمندی های دسترسی داده مرور شوند. • مشخص نمودن نیازهای مربوط به تجمیع (aggregation)و خلاصه سازی • طراحی پایگاه های داده BI • طراحی ساختار پایگاه داده فیزیکی • ساخت پایگاه های داده BI • توسعه رویه های نگهداری پایگاه داده • نظارت بر طرح های پایگاه داده و اصلاح آن ها در صورت نیاز • نطارت بر طرح های پرس و جو و اصلاح آن ها در صورت نیاز RoyaHosseini CEIT - Business Intelligence – CH8 – Database Design

  23. نتایج حاصل از انجام فعالیت های طراحی پایگاه داده • مدل فیزیکی پایگاه داده : که با عنوان مدل منطقی هم شناخته می شود. بر حسب نوع شمای طراحی این مدل می تواند ستاره ای، دانه برفی و یا ERD باشد. • طراحی فیزیکی پایگاه دادهBI: در این قسمت محل قرار دادن dataset ها، محل اندیس ها، کلاستر و قسمت بندی (partitioning) مشخص می شود. • زبان تعریف داده: مجموعه ای از دستورات SQL است که به DBMS می گوید چه ساختارهایی برای پایگاه داده مانند جداول، ستون ها، اندیس ها و ... ایجاد شود. • زبان کنترل داده: مجموعه ای از دستورات SQL که می گوید چه سطح دسترسی به افراد، گروه ها و ... داده شود. • پایگاه های داده فیزیکی BI • رویه های نگهداری پایگاه داده RoyaHosseini CEIT - Business Intelligence – CH8 – Database Design

  24. افرادی که در فعالیت های طراحی پایگاه داده نقش دارند: • Application Lead Developer: به مدیر پایگاه داده در تعیین اینکه چه query ها و گزارش هایی باید به طور موازی اجرا شوند و اینکه به چه سطحی از امنیت نیاز است، کمک می کند. • Data administrator: مدل منطقی داده و فراداده را برای مدیر پایگاه داده فراهم می کند. • :Database Administratorمسئولیت طراحی پایگاه داده را دارد. باید مسیرهای دسترسی را بداند، باید حجم داده و میزان رشد آن را بتواند پیش بینی کند و نیز از محدویت های platform آگاه باشد. • ETL Developer: فرآیند ETL به طراحی پایگاه داده بستگی دارد. این فرد باید در طراحی پایگاه داده شرکت داده شود تا از تغییرات طراحی پایگاه داده مطلع شود و در نتیجه بتواند در فرآیند ETL اصلاحات لازم را لحاظ نماید. RoyaHosseini CEIT - Business Intelligence – CH8 – Database Design

  25. ریسک انجام ندادن طراحی پایگاه داده • Engine های DBMS رابطه ای بر اساس مجموعه ی پیچیده ای از قوانین هستند. این قوانین بایستی درک و دنبال شوند. سازمان ها نیاز دارند تا برای این منظور مدیران پایگاه داده را به کار گیرند. • در صورتیکه برنامه نویسانی که به با نحوه کار engine های DBMS آشنایی ندارند، طراحی پایگاه داده را انجام دهند، نتیجه کار یک طراحی فوق العاده ضعیف خواهد بود که خود منجر به تاثیرات فاجعه باری بر عملکرد و کارایی خواهد شد. در حقیقت در این حالت شکست BI امری حتمی خواهد بود. RoyaHosseini CEIT - Business Intelligence – CH8 – Database Design

  26. The End… RoyaHosseini CEIT - Business Intelligence – CH8 – Database Design

More Related