چرا Data Modeling اهمیت دارد؟

برخورداری از یک دیتا مدل خوب به منظور تحلیل کسب و کار از اهمیت بسیاری برخوردار است. هدف یک پایگاه داده تراکنشی (transactional) با هدف یک پایگاه داده تحلیلی کاملا متفاوت است. اگر به طور مثال، هدف ذخیره ی اطلاعات فروش باشد، نیاز به وجود یک پایگاه داده که برای مقاصد جمع آوری اطلاعات با هدف دقت، صحت و امنیت بهینه سازی شده است، امری ضروری به نظر می رسد، در حالیکه برای تحلیل داده های فروش به یک مدل داده مناسب که برای مقاصد گزارش گیری و تجمیع داده بهینه سازی شده است نیازمندیم. این ۲ نیاز کاملا با هم متفاوت هستند و تفاوت آن ها فراتر از مباحث عملکردی (Performance) است.
استفاده از یک مدل نرمال شده (Normalized) که در آن تراکنش های روزانه ذخیره می شوند، برای مقاصد تحلیلی چالش های بسیاری به همراه می آورد. به عبارت دیگر نمی توان برای مقاصد تحلیلی از پایگاه داده نرمال شده ی تراکنشی استفاده نمود. یک دیتا مدل خوب برای مقاصد تحلیلی بسیار ساده تر از یک پایگاه داده ی نرمال شده تراکنشی است.

چرا Data Modeling اهمیت دارد؟

مدلسازی در اکسل و Power BI

 Power BI از تجربه مدل سازی Power Pivot و Tabular Analysis Services استفاده می کند. اگر چه ساده ترین راه حل برای کاربران، واکشی داده به همان صورتی که در مبدا (Data Source) ذخیره شده و برقراری ارتباط و طراحی گزارشات مورد نظر می باشد، اما این رویکرد چالش های بسیاری به همراه دارد. اگر کاربر خوش اقبال باشد و داده را از انبار داده ای با طراحی مناسب که از اصول طراحی استاندارد) مانند مدل طراحی ستاره ای (Star Schema) پیروی می کند، واکشی کند به تغییرات زیادی در مدل سازی خود نیاز نخواهد داشت اما در غیر این صورت با چالش های بسیاری روبرو خواهد بود.

یک سوال بسیار مهم که در ذهن هر کابر هوش تجاری ایجاد می شود این است که یک دیتا مدل (Data Model) خوب برای مقاصد تحلیلی چگونه است؟ در پاسخ باید گفت که یک مدل باید طوری طراحی شود که به سوالات کسب و کار شما پاسخ دهد و اطلاعات حاصل از آن به سادگی داده ها و اطلاعاتی که در جداول پایگاه داده ذخیره می شوند، نباشد. اما اگر بخواهیم یک روش عملی در پاسخ به این سوال ارائه دهیم این است که در طراحی مدل هر موجودیت (Entity) باید یک جدول به خود اختصاص دهد که بهترین روش برای دستیابی به طراحی ستاره ای (Star Schema) است.

Dimension و Fact

مجموعه ویژگی هایی (Attributes) که یک موجودیت را توصیف می کنند باید در قالب یک جدول جمع آوری و به عنوان Dimension معرفی شود و همچنین مجموعه اعداد و ارقامی که یک رویداد(event) را توصیف می کنند در جدولی تحت عنوان جدول Fact ذخیره می شوند.
به طور مثال کالا یک موجودیت از کسب و کار است و باید در قالب یک جدول ذخیره شود. قیمت، رنگ، سایز، گروه کالا، برند و دیگر اطلاعات کالا، ویژگی های (Attributes) کالا محسوب می شوند. لازم نیست تعداد زیادی جدول برای گروه کالا، برند یا اطلاعات دیگر کالا در نظر گرفته شود. همه ی این ویژگی ها باید تحت یک جدول واحد به عنوان کالا ذخیره و نگهداری شوند.
مشتری یک جدول را به خود اختصاص می دهد چرا که یکی از موجودیت های کسب و کار به شمار می رود. کشور، آدرس، شهر همگی ویژگی های مشتری به شمار می روند که باید در همان جدول مشتری ذخیره شوند. به هیچ وجه نباید جداول جداگانه برای شهر، کشور و ویژگی های دیگر یک مشتری در نظر گرفت مگر اینکه تشخیص دهیم به طور مثال کشور یک موجودیت از کسب و کار ما است. به طور مثال اگر تحلیل های دموگرافیک انجام می دهیم کشور یک موجودیت از کسب و کار ما به شمار می رود و اختصاص جدول جدا به آن منطقی به نظر می رسد.

فاکتور یک موجودیت است و یک جدول به خود اختصاص می دهد. تمام اطلاعاتی مانند تعداد فروش در هر فاکتور، تاریخ فاکتور، هزینه حمل و دیگر اطلاعاتی که یک رویداد فروش را شرح می دهند در یک جدول تحت عنوان Fact ذخیره می شوند.
در حقیقت مدل نهایی مجموعه ای از رویداد هایی که در قالب یک جدول Fact و جداول Dimension که آن رویداد را توصیف می کنند گردآوری می شوند. به طور مثال رویداد فروش شامل یک جدول فروش تحت عنوان Fact Sales (فکت فروش) و توصیف کننده های آن شامل مشتری، کارمند، کالا و زمان در جداول Dimension ذخیره می شوند.

مدلسازی داده ها

همان طور که در تصویر زیر مشاهده می کنید، جداول به صورت Star مدل (Star Schema) شده اند. مدل ستاره ای مدلی است که در آن جدول Fact در وسط قرار گرفته و Dimension ها آن را احاطه می کنند. در این نوع از مدل سازی که بسیار قابل فهم و دارای عملکرد بسیار خوب است، Dimension ها با یکدیگر ارتباط ندارند. یک مثال از این نوع مدل سازی (Data Modeling) در تصویر زیر قابل مشاهده است.

 مدلسازی داد ها

با مدل کردن داده به صورت مناسب و بهینه و پیروی از اصول طراحی استاندارد و استفاده از زبان قدرتمند DAX می توانیم به راه حل های بهتر، سریع تر و آسان تری دست یابیم.

حسین وثوقی

حسین وثوقی

دانش آموخته مهندسی صنایع و مدیریت فناوری اطلاعات دانشگاه تهران، علاقه مند به تحلیل و ارائه راه حل برای مسائل و بهینه سازی راه حل ها هستم ...
حسین وثوقی

حسین وثوقی (همه)

مطالب مرتبط

2
دیدگاه بگذارید

avatar
1 Comment threads
1 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
2 Comment authors
حسین وثوقیفاطمه Recent comment authors
  عضویت  
جدید ها قدیمی ها بیشترین رای
به دوستتان خبر دهید.
فاطمه
مهمان
فاطمه

سلام
دست شما درد نکنه مطالب خوب و آموزنده ای بود استفاده کردیم.