انبار داده چیست و چه تفاوتی با پایگاه داده، دریاچه داده (Data Lake) و دادهگاه (Data Mart) دارد؟

بد نیست پیش از هر چیز به معرفی و توضیح مفهوم انبار داده بپردازیم. انبار داده (Data warehouse) مخزن اصلی اطلاعات است و میتوان از تحلیل آن برای تصمیمگیریهای آگاهانهتر استفاده کرد. دادهها به طور معمول در دورههای منظم از سیستمهای تراکنشی (Transactional information systems)، پایگاههای داده رابطهای (Relational databases) و دیگر منابع وارد یک انبار داده میشوند. تحلیلگران کسبوکار، دانشمندان داده و تصمیم گیران سازمانی از طریق ابزارهای هوش تجاری، کلاینتهای SQL و دیگر برنامههای تحلیلی به دادهها دسترسی مییابند.
اینک دادهها و روشهای تحلیلی برای ماندن کسبوکارها در عرصه رقابت به جزئی ضروری تبدیل شدهاند. کسبوکارها از گزارشها، داشبوردها و ابزارهای تحلیلی برای استخراج بینشهایی از دادههای خود، نظارت بر عملکرد کسبوکار و پشتیبانی از تصمیمگیریها بهره میگیرند. این گزارشها، داشبوردها و ابزارهای تحلیلی از انبارهای داده بهره میگیرند تا دادهها را به طرز مؤثری برای بهینهسازی ورودی/خروجی و ارائه نتایج کوئری در سرعتهای بسیار بالا به صدها و هزاران کاربر همزمان تحویل دهند.
معماری انبار داده
معماری انبار داده شامل سه سطح است. در سطح تحتانی معماری، سرور پایگاه داده قرار دارد که دادهها در آن بارگذاری و ذخیره میشوند. سطح میانی شامل موتور تحلیلی است که برای دسترسی و تحلیل دادهها استفاده میشود. سطح فوقانی کلاینت فرانتاند است که نتایج را از طریق ابزارهای گزارشگیری، تحلیلی و دادهکاوی ارائه میکند.
انبار داده چگونه عمل میکند؟
انبار داده با سازماندهی دادهها در یک شِما عمل میکند. این شِما طرح کلی و نوع دادهها مانند عدد صحیح (integer)، فیلد داده (data field) یا رشته (string) را تعیین میکند. وقتی دادهها تحلیل شدند در جداول مختلف که توسط شِما توصیف شدهاند، ذخیره میشوند. ابزارهای کوئری از شِما برای تعیین این که باید به کدام جداول دسترسی داشته باشند و تحلیل کنند، استفاده میکنند.
مزیتهای انبار داده
مزیتهای انبار داده به صورت زیر هستند:
- تصمیمگیری بهتر
- انسجام دادهها از منابع مختلف
- کیفیت، انسجام و دقت داده
- هوش تاریخی (سوابق)
- جداسازی پردازش تحلیل از پایگاههای داده تراکنشی و بهبود عملکرد هر دو سیستم.
انبار داده در برابر پایگاه داده
یک انبار داده به طور خاص برای تحلیل داده طراحی شده و در آن مقادیر بالایی از دادهها برای درک روابط و روندهای دادهها بررسی میشود. یک پایگاه داده برای گردآوری و ذخیرهسازی دادهایی مانند ثبت جزییات یک تراکنش استفاده میشود.
خصوصیات | انبار داده | پایگاه داده تراکنشی |
بار کاری مناسب | تحلیل، گزارشدهی، کلانداده | پردازش تراکنش |
منبع داده | دادههای گردآوری و نرمالسازی شده از منابع مختلف | دادههای گردآوریشده در وضعیت موجود از یک منبع منفرد مانند یک سیستم تراکنشی |
گردآوری داده | عملیاتهای عمده نوشتن که به طور معمول طبق یک زمانبندی دستهای از پیش تعیینشده انجام میگیرند. | برای عملیاتهای نوشتن مداوم بهینهسازی شده، زیرا دادههای جدید برای بیشینهسازی بازده تراکنش در دسترس هستند. |
نرمالسازی داده | شِمای نرمالزدایی شده (denormalized) مانند شِمای ستاره یا دانه برفی (Snowflake) | با نرمالسازی بالا، شماهای استاتیک |
ذخیرهسازی داده | برای سهولت دسترسی و عملکرد سریع کوئری، با استفاده از ذخیرهسازی ستونی بهینهسازی شده است | برای خروجی بالای عملیاتهای نوشتن در یک بلوک فیزیکی مبتنی بر ردیف بهینهسازی شده است |
دسترسی به دادهها | برای کمینهسازی I/O و بیشینهسازی خروجی داده بهینهسازی شده است | حجمهای بالای عملیاتهای خواندن مقدار کوچکی از اطلاعات |
انبار داده در برابر دریاچه داده
دریاچه داده (Data lake) برخلاف یک انبار داده یک مخزن متمرکز از همه دادهها است که دادههای ساختیافته و ساختنیافته را شامل میشود. انبار داده از شِماهای از پیش تعریفشده بهره میگیرد که برای روشهای تحلیلی بهینهسازی شدهاند. در یک دریاچه داده، شِما تعریف نشده است و امکان انواع دیگری از تحلیلها مانند تحلیلهای کلانداده، جستجوی تمام متن، تحلیلهای همزمان و یادگیری ماشین را فراهم میسازد.
خصوصیات | انبار داده | دریاچه داده |
داده | دادههای رابطهای از سیستمهای تراکنشی، پایگاههای داده عملیاتی و خروجی برنامههای تجاری | دادههای غیر رابطهای و رابطهای از دستگاههای IoT، وبسایتها، برنامههای موبایل، رسانههای اجتماعی و برنامههای سازمانی |
شِما | پیش از پیادهسازی انبار داده طراحی شده است (شمای نوشتنی) | در زمان تهیه تحلیل، طراحی میشود (شمای خواندنی) |
هزینه/عملکرد | سریعترین نتایج کوئری با استفاده از دیسکهای (hard disk) گران قیمت | نتایج کوئری سریعتر در دیسکهای ارزان قیمت |
کیفیت داده | دادههای کاملاً گزینششده که به عنوان نسخه اصلی حقیقت عمل میکند | هر دادهای که بتوان یا نتوان گزینش کرد (یعنی دادههای خام) |
کاربران | تحلیلگران تجاری، دانشمندان داده و توسعهدهندگان داده | دانشمندان داده، توسعهدهندگان داده و تحلیل گران تجاری (با استفاده از دادههای گزینششده) |
روشهای تحلیلی | گزارشدهی دستهای، هوش تجاری و بصریسازی | یادگیری ماشین، تحلیل مبتنی بر پیشبینی، کشف داده و پروفایل کردن |
انبار داده در برابر دادهگاه
دادهگاه (Data mart) یک انبار داده است که در جهت رفع نیازهای یک تیم خاص یا واحد کسبوکار مشخص مانند بخش مالی، بازاریابی یا فروش ایجاد شده است. دادهگاه، کوچکتر و متمرکز است و ممکن است شامل خلاصهای از دادههایی باشد که به بهترین وجه نیازهای کاربران خود را رفع میکند.
خصوصیات | انبار داده | دادهگاه |
حوزه عمل | زمینههای موضوعی چندگانه متمرکز که با هم ادغامشدهاند | زمینههای موضوعی نامتمرکز خاص |
کاربران | در سطح سازمان | جامعه یا بخش خاصی از سازمان |
منبع دادهها | منابع زیاد | یک منبع یا منابع معدود یا بخشی از دادههای قبلاً گردآوری شده در یک انبار داده |
اندازه | بزرگ و در حد صدها گیگابایت تا پتابایت | کوچک و عموماً تا 10 گیگابایت |
طراحی | بالا به پایین | پایین به بالا |
جزییات دادهها | دادههای کامل و دقیق | میتواند شامل دادههای خلاصه باشد |
اگر این نوشته مورد توجه شما قرار گرفته است، پیشنهاد میکنیم موارد زیر را نیز ملاحظه کنید:
- دادهکاوی چیست؟ بخش اول: مبانی
- انواع ویژگی ها (خصیصه ها) و مفهوم بردار ویژگی در داده کاوی
- پایگاه داده و سیستم های مدیریت اطلاعات
- داده کاوی — آشنایی با مفهوم نمونه و ویژگی
- آموزش آماده سازی داده ها برای تحلیل آماری در SPSS
- مجموعه آموزشهای آمار، احتمالات و دادهکاوی
- MongoDB چیست؟ — راهنمای شروع با دیتابیس مانگو دی بی
==