درباره انبار داده چه می‌دانید؟

درباره انبار داده چه می‌دانید؟

نوشته شده توسط: تیم فنی نیک آموز
تاریخ انتشار: ۰۸ آذر ۱۴۰۰
آخرین بروزرسانی: ۰۷ مرداد ۱۴۰۲
زمان مطالعه: 9 دقیقه
۰
(۰)

مقدمه

اگر دانشجو، تحلیلگر، مهندس یا هرکسی در فضای داده هستید، مهم است که درباره انبار داده بدانید. اگر درباره انبار داده اطلاعی ندارید و یا نمی ‌دانید چه زمانی باید از انبار داده استفاده کرد؟ باید گفت این مقاله دقیقا مناسب شماست. در پایان این مقاله درباره انبار داده یاد خواهید گرفت. اینکه از چه نوع پایگاه داده‌ ای می ‌توان به عنوان انبار داده استفاده کرد. همچنین چطور انبار داده مناسب خود را انتخاب کنید.

الزامات تجاری: داشبوردها و تحلیل ‌ها

فرض کنیم شما برای یک شرکت تجارت الکترونیک کار می ‌کنید و در آنجا فروشندگان (Merchant) می‌ توانند اقلام را برای فروش عرضه کنند و خریداران (Customer) برای خرید آنها اقدام نمایند. فرض می ‌کنیم دو تا میکروسرویس برای بخش خریداران و فروشندگان طراحی شده است.به تدریج شرکت رشد می‌ کند و بزرگ‌ تر می ‌شود. امکان دارد بخواهیم داده ‌ها را برای اهداف مختلف تجاری تجزیه و تحلیل کنیم. همچنین فروشندگان ممکن است بخواهند عملکردها و روندها را برای بهینه سازی موجودی خود تجزیه و تحلیل کنند. در این شرایط ممکن است درخواست‌ های زیر در جهت تحلیل سامانه مطرح گردد:

  • ده فروشنده ‌ای که بالاترین تعداد اقلام فروش را داشته‌ اند.
  • میانگین زمان برای انجام یک سفارش.
  • شناسایی مشتریانی که اقلام مشابه را با هم خریداری نموده ‌اند.
  • ایجاد داشبورد فروشندگان که اقلام فروش با بالاترین عملکرد را به ازای هر فروشنده نشان دهد.

این درخواست ‌ها در مورد فروش‌ هایی که اتفاق افتاده مطرح می‌ شود. نیاز است حجم بزرگی از اطلاعات خوانده شده و همچنین داده‌ ها تجمیع شود تا بتوانیم سوالات را پاسخ دهیم. این گونه درخواست‌ ها است که می‌ تواند با کوئری ‌هایی به یک انبار داده پاسخ داده شود.

تعریف انبار داده (Data Warehouse)

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

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

  • Dimensional modeling – Kimball
  • Data vault – Inmon
  • Data mart
  • Flat table

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

مقایسه OLTP با OLAP مبتنی بر انبار داده

دو نوع پایگاه داده اصلی وجود دارد که در جدول زیر آن ‌ها را با هم مقایسه می‌ کنیم.مهم ‌ترین نقطه قوت در کوئری ‌های تحلیلی روی OLAP به دلیل استفاده از تکنیک ذخیره ستونی در این نوع پایگاه داده است. با یک مثال این مورد را توضیح می ‌دهیم. جدول زیر را در نظر بگیریددر صورتی که این جدول را به دو صورت مبتنی بر ستون و مبتنی بر ردیف ذخیره کنیم به صورت زیر در می آید. داده‌ ها به صورت صفحات (گروهی از رکوردها) روی دیسک ذخیره می شوند.

ذخیره‌ سازی مبتنی بر ردیف

Page 1: [1,item_1,gaming,10,'2021-10-02 00:00:00','2021-11-02 13:00:00'],
Page 2: [2,item_2,gaming,20,'2021-10-02 01:00:00','2021-11-02 14:00:00']
Page 3: [3,item_3,biking,30, '2021-10-02 02:00:00','2021-11-02 15:00:00'],
Page 4: [4,item_4,surfing,40, '2021-10-02 03:00:00','2021-11-02 16:00:00'],
Page 5: [5,item_5,biking,50, '2021-10-02 04:00:00','2021-11-02 17:00:00']

ذخیره‌ سازی مبتنی بر ستون

Page 1: [1,2,3,4,5],
Page 2: [item_1,item_2,item_3,item_4,item_5],
Page 3: [gaming,gaming,biking,surfing,biking],
Page 4: [10,20,30,40,50],
Page 5: ['2021-10-02 00:00:00','2021-10-02 01:00:00','2021-10-02 02:00:00','2021-10-02 03:00:00','2021-10-02 04:00:00'],
Page 6: ['2021-11-02 13:00:00','2021-11-02 14:00:00','2021-11-02 15:00:00','2021-11-02 16:00:00','2021-11-02 17:00:00']

برای کوئری زیر بررسی می ‌کنیم هر کدام از دو حالت ذخیره‌ سازی مبتنی بر ردیف و مبتنی بر ستون چه باز خوردی خواهد داشت و چه سرباری برای سیستم ایجاد می‌ کند.
[gap height=”20″]

SELECT item_type,
    SUM(price) total_price
FROM items
GROUP BY item_type;

در حالتی که پایگاه داده مبتنی بر ردیف ذخیره‌سازی را انجام دهد برای اجرای کوئری فوق نیاز است تمام صفحات به طور کامل روی حافظه بارگزاری شود، جمع ستون price برای گروه بندی مبتنی بر ستون item_type محاسبه شود.
در حالتی که پایگاه داده مبتنی بر ستون ذخیره‌ سازی را انجام دهد برای اجرای کوئری فوق نیاز است فقط صفحات ۳ و ۴ روی حافظه بارگذاری شود و جمع ستون price برای گروه‌ بندی مبتنی بر ستون item_type محاسبه شود.
همان ‌طور که مشاهده می ‌کنید، در رویکرد ذخیره ‌سازی مبتنی بر ستون فقط باید ۲ صفحه در پایگاه داده بارگذاری شود و در مقابل ۵ صفحه در رویکرد ذخیره‌ سازی مبتنی بر ردیف باید بارگذاری شود. به علاوه پایگاه داده‌ هایی که مبتنی بر ستون ذخیره ‌سازی را انجام می ‌دهند مزایای زیر را نیز دارا هستند.

  • فشرده‌سازی بهتر، چون انواع داده‌ های مشابه در کنار یکدیگر قرار دارند و می ‌توان آنها را با کارایی بیشتری فشرده کرد.
  • بهره‌گیری از پردازش برداری

جمع بندی

در این مقاله سه مفهوم بررسی شد.

  • انبار داده چیست؟
  • الزامات تجاری برای یک انبار داده
  • تفاوت بین استفاده از پایگاه داده OLTP و پایگاه داده OLAP به عنوان انبار داده.

هنگام انتخاب پایگاه داده برای یک انبار داده، گزینه ‌ای را انتخاب کنید که برای مدیریت مقدار داده‌ ای که تخمین می ‌زنید در انبار داده خود داشته باشید، مناسب باشد. اگر تخمین می‌ زنید تنها چند گیگابایت داده دارید یک انبار داده گران قیمت مثل OLAP انتخاب هوشمندانه ‌ای نخواهد بود. در حالی که اگر تخمین می ‌زنید در حد چند ترابایت داده خواهید داشت قطعا OLAP بهترین انتخاب خواهد بود.

منابع

https://www.startdataengineering.com/post/what-is-a-data-warehouse/

چه رتبه ای می‌دهید؟

میانگین ۰ / ۵. از مجموع ۰

اولین نفر باش

title sign
دانلود مقاله
درباره انبار داده چه می‌دانید؟
فرمت PDF
6 صفحه
حجم 1 مگابایت
دانلود مقاله
title sign
معرفی نویسنده
تیم فنی نیک آموز
مقالات
273 مقاله توسط این نویسنده
محصولات
0 دوره توسط این نویسنده
تیم فنی نیک آموز
پروفایل نویسنده
title sign
معرفی محصول
title sign
دیدگاه کاربران