انبار داده (Data Warehouse) چیست؟ داده دارایی پر ارزش کسبوکارها است به شرطی که آن را درست ذخیره و مدیریت کنند. اکثر شرکتها صرفاً به ذخیره دادهها بسنده میکنند بدون آنکه سیستمی برای دستهبندی و تبدیل داده به اطلاعات داشته باشند.
انبار داده سیستم، روش و معماری دستهبندی و ذخیرهسازی داده است. در این پست درباره انبار داده (دیتا ورهاوس) صحبت میکنیم و سعی داریم به زبان ساده آن را توضیح دهیم. با دیکام همراه باشید.
انبار داده Data Warehouse چیست؟
انبار داده Data Warehouse یک سیستم یا معماری ذخیره داده است که برای جمعآوری و نگهداری داده از منابع متفاوت و متنوع (مثل دادههای مالی، عملیاتی و غیره) در یک مکان واحد استفاده میشود.
این دادهها بهصورت خلاصه، تمیز و دستهبندیشده در انبار داده ذخیره میگردند تا برای تجزیهوتحلیل، گزارشگیری و پاسخگویی به پرسشهای مدیران کسبوکار استفاده شوند.
انبار داده به زبان ساده:
اجازه بدهید با یک مثال انبار داده را شرح بدهیم. فرض کنید که یک کتابخانه از کتابهای متفاوت در اختیار شما است. هر کتاب شامل اطلاعاتی درباره یک موضوع متفاوت است. شما برای افزایش دانش خود نیاز به مطالعه کتب متفاوت و ترکیبکردن اطلاعات آنها برای رسیدن به پاسخ دارید.
چه میشود اگر قادر به خواندن و ترکیب این اطلاعات نباشید؟ مثلاً بخشی از کتابها به زبان دیگری نوشته شده باشند، بعضی از اطلاعات غلط و مخدوش باشند و یا شما اجازه دسترسی به بخشی از اطلاعات را نداشته باشید؟
مواردی که ذکر شد مشکلات استفاده از دادههای خام (دیتابیسها) است. حال تصور کنید تمام اطلاعاتی که نیاز دارید بهصورت مرتب و دقیق در یک مکان (کتاب) ذخیره شده و شما با اطمینان از درست بود اطلاعات از آن استفاده میکنید.
دیتا ورهاوس دقیقاً کارکرد مشابهی برای یک کسبوکار دارد.
انبار داده در نقش منبع اصلی اطلاعات (single source of Truth)
چه میشود اگر چند نسخه مختلف از یک فایل اطلاعات را ذخیره کرده باشید و دادههای هر فایل با دیگری کمی تفاوت دارد. کدام نسخه اصلی است؟ به اطلاعات کدام فایل میتوان اعتماد کرد؟
این موضوع یک مشکل عمومی است که گریبان بسیاری از شرکتها را میگیرد. نسخههای متعدد و مختلفی از اطلاعات وجود دارند که به سردرگمی و اشتباه منجر میشوند. چه میشد اگر فقط یک منبع واحد برای اطلاعات وجود میداشت؟
منبع اصلی اطلاعات یا “Single Source of Truth” یک مرجع واحد برای داده و اطلاعات است و تمام کاربران سیستم میتوانند به اطلاعات آن استناد کنند. انبار داده (data warehouse) بهعنوان مرجع مورداعتماد و مستند برای کاربران یک سازمان عمل میکند
زمانی که تمام کاربران از یک منبع داده استفاده کنند تناقض و اختلاف در گزارشها از بین میرود.
تفاوت انبار داده و پایگاه داده چیست؟
پایگاههای داده (دیتابیسها) از جهاتی شبیه به انبارهای داده هستند؛ اما برای اهداف کاملاً متفاوتی طراحی شدهاند. پایگاههای داده رابطهای (relational database) با این هدف ساخته شدهاند تا دادههایی که بهصورت مداوم تولید میشوند را به بهترین شکل ذخیره کنند. دیتابیسها برای نگهداری از داده در کمترین حجم ممکن، تعامل با تعداد زیادی کاربر و انجام عملیاتهایی مانند بهروزرسانی و حذف دادهها بهینهسازیشدهاند.
اما انبار داده تنها باهدف نگهداری از داده برای انجام عملیاتهای پرسوجو (query) گزارشگیری (reporting) و تجزیه تحلیل داده (Analytics) طراحی شده است.
4 ویژگی اصلی انبار داده
ویژگیهای اصلی انبارهای داده به شرح زیر است:
- موضوع گرا بودن (Subject-Oriented)
- یکپارچه بودن (Integrated)
- پایایی (Non-Volatile)
- زمان گرا بودن (Time-Variant)
موضوع گرایی (Subject-Oriented):
انبار داده قرار نیست تمام اطلاعات یک کسبوکار را داخل خود جای دهد. درون یک Data Warehouse تنها دادههایی ذخیره میشوند که به موضوعات مورد تمرکز شرکت مرتبط هستند.
انتخاب موضوع یا موضوعاتی که انبار داده بر اساس آنها ساخته میشود به استراتژی یک کسبوکار و نوع دادههای آن بستگی دارد.
برای مثال شرکتی که فعالیت اصلی آن فروش است به انبار دادهای حول موضوع فروش نیاز دارد تا بتواند به پرسشهای مثل پرفروشترین کالا؟ بهترین فروشنده؟ وضعیت کالاها در انبار؟ و مانند آن پاسخ دهد. شرکتی که فعالیت اصلی آن ارائه خدمات است موضوعات متفاوتی را در اولویت خواهد داشت.
با توضیح بالا میتوان درک کرد که هر شرکت و کسبوکاری به انبار داده متفاوت و مخصوص به خود نیاز دارد.
یکپارچه بودن (Integrated):
ازآنجاکه منابع داده متنوع است؛ داده ممکن است به فرمتها و استانداردهای متفاوتی ذخیره شده باشد. برای مثال واحدهای اندازهگیری مثل کیلوگرم، گرم یا پوند و یا سیستمهای نامگذاری متنوع میتواند باعث ناسازگاری و اشتباه در دستههای داده میشود.
به همین دلیل دادههای منابع مختلف در یک فرمت استاندارد و یکسان بهصورت یکپارچه ذخیره میگردند. این کار برای تحلیل داده ضروری است.
غیرفرار – پایا بودن (Non-Volatile):
دادهای که وارد انبار داده میشود نباید تغییر کند. در واقع دادهها در انبار داده بهصورت read-only ذخیره میشوند و حذف و ویرایش در آنها اتفاق نمیافتد. چرایی این امر به مفهوم “منبع اصلی اطلاعات” باز میگردد. هدف از ذخیره داده تحلیل آنها برای فهم اتفاقات گذشته است؛ بنابراین ورود داده جدید نباید به حذف دادههای قبلی منجر شود.
زمانگرا بودن (Time-Variant):
دادههای ذخیره شده در انبار داده باید همراه با عناصر مربوط به زمان ثبت شوند. در واقع انبار داده بهصورت مداوم تاریخچه تغییرات داده در طول زمان را بدون تغییر و ویرایش در داده ثبت میکند تا بعداً بتوان از آن برای تحلیل استفاده کرد.
مزایای استفاده از انبار داده:
افزایش کیفیت داده:
داده از منابع متفاوتی مانند نرم افزارهای عملیاتی، سیستمهای معاملاتی و فایلهای اطلاعات ( اکسل و…) گردآوری و در یک محل متمرکز میشود. در انتهای این فرایند (ETL) که شامل تمیزشدن دادهها، حذف دادههای تکراری، تغییر فرمت دادهها و تبدیل آنها به یک ساختار استاندارد است؛ یک منبع اصلی از اطلاعات به وجود میآید.
درک سریعتر اطلاعات و رسیدن به بینش تجاری:
وجود دادههای پراکنده تعیین استراتژی را برای مدیران کسبوکار دشوار میکند. یکپارچهسازی داده در Data Warehouse به مدیران توانایی میدهد تا از تمام ظرفیت اطلاعاتی شرکت برای رسیدن به استراتژی و تصمیم درست استفاده کنند.
تصمیمگیری هوشمندانه:
انبار داده امکان استفاده از قابلیتهای هوش تجاری BI و تحلیل داده در ابعاد کلان را فراهم میکند. مواردی مانند تحلیل توصیفی، دادهکاوی، تحلیل پیشگوییکننده با استفاده از یادگیری ماشین (machine learning) و هوش مصنوعی (AI)، ابزارهایی هستند که به تحلیلگران داده و مدیران کسبوکار برای گرفتن تصمیمات هوشمندانه کمک میکنند.
ایجاد مزیت رقابتی:
موارد ذکر شده در بالا در کنار یکدیگر باعث میشوند تا یک شرکت فرصتهای بیشتری را بهواسطه استفاده از داده به دست آورد.