Presentation is loading. Please wait.

Presentation is loading. Please wait.

Business Intelligence roadmap chapter 8 Database design

Similar presentations


Presentation on theme: "Business Intelligence roadmap chapter 8 Database design"— Presentation transcript:

1 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

26 The End… Roya Hosseini CEIT - Business Intelligence – CH8 – Database Design


Download ppt "Business Intelligence roadmap chapter 8 Database design"

Similar presentations


Ads by Google