انبار داده یا Data Warehouse چیست؟
مقدمه ای بر انبار داده یا Data Warehouse
انبار داده یا همان انبار داده سازمانی (Enterprise Data Warehouse)، سیستمی است که داده ها را از منابع اطلاعاتی مختلف سازمان در طول زمان جمع آوری و پاکسازی میکند و به شکل خاصی ذخیره میکند. از انبار داده برای انجام تحلیل های پیچیده بر روی داده های سازمان استفاده می شود. یکی از وظایف اصلی کسانی که در حوطه هوش تجاری و یا مهندسی داده فعالیت میکنند؛ تسلط بر مفاهیم و طراحی انبار داده است. برای آشنایی بیشتر با سایر مشاغل علم داده، می توانید به این لینک مراجعه کنید.
مفهوم انبار داده در سازمان زمانی معنا پیدا میکند که در سازمان هوش تجاری سازمانی یا Enterprise BI پیاده سازی شده باشد. در مقابل هوش تجاری سازمانی مفهومی به نام هوش تجاری سلف سرویس و یا Self Service BI وجود دارد. ابتدا به بررسی هوش تجاری سازمانی و سلف سرویس می پردازیم.
هوش تجاری سازمانی و سلف سرویس
هوش تجاری سازمانی درواقع پیاده سازی فرایند کامل هوش تجاری درسازمان است. بدین معنا که داده ها از منابع مختلف جمع آوری شده، پاکسازی شده و در انبار داده بارگذاری شوند. در واقع باید فرایند Extract ,Transform, Load یا همان ETL بر روی داده های سازمان اتفاق افتاد و داده ها در انبار داده سازمان به صورت یکپارچه و با شکل خاصی ذخیره گردند؛ و سازمان از این انبار داده برای ایجاد بینش و تحلیل داده ها استفاده میکند. در هوش تجاری مایکروسافت برای فرایند ETL و ساخت انبار داده، از ابزارهایی مثل SSIS استفاده میکنند. البته گاهی با همان کویریهای SQL نیز میتوان ETL را انجام داد.
در مقابل هوش تجاری سازمانی، هوش تجاری سلف سرویس مفهومی جدید و نوظهور است. در هوش تجاری سلف سرویس از ابزارهایی استفاده می شود که نیاز به پیاده سازی فرایند کامل هوش تجاری شامل ساخت انبار داده ندارد. استفاده از این ابزارهای هوش تجاری سلف سرویس منجر به این می شود که کاربران تجاری که دانش فنی زیادی در زمینه IT ندارند، نیز قادر به پیاده سازی هوش تجاری و ایجاد بینش از داده ها باشند. از جمله نرم افزارهای محبوب هوش تجاری سلف سرویس، می توان به Power BI، Tableau و QlickView اشاره کرد.
فرایند هوش تجاری سازمانی
همانطور که قبلا اشاره شد؛ هوش تجاری سازمانی شامل پیاده سازی تمامی فرایندهای هوش تجاری می باشد. این فرایند شامل شناسایی منابع داده ، استخراج داده از منابع شناسایی شده، پاکسازی و بارگذاری آنها در انباره داده است. به اختصار به این فرایند ETL گفته می شود. درادامه و در هوش تجاری سازمانی پس از ایجاد انبار داده و فرایند بروز رسانی آن، در صورت زیاد بودن حجم داده ها از ابزارهایی برای تسهیل در فشرده سازی و تحلیل داده ها استفاده می شود.
نمونه این ابزارها SQL Server Analysis Service یا به اختصار SSAS است. در نهایت نیز برای مصور سازی از ابزارهایی مثل Power BI، Tableau و QlickView استفاده می شود. در واقع ابزارهای هوش تجاری سلف سرویس در فرایند هوش تجاری سازمانی صرفا نقش مصور سازی را به عهده دارند. بنابراین میتوان گفت که انبار داده بخشی از فرایند هوش تجاری سازمانی است.

ETL چست
همانطور که قبلا نیز اشاره شد؛ برای ایجاد Data Warehouse، فرایندی بر روی داده های منابع داده صورت میگیرد که به آن به اختصار ETL گفته می شود. ETL سرحروف کلمات Extract, Transform, Load است؛ که به معنای استخراج، تبدیل و بارگذاری است. در فرایند ETL ابتدا به منابع داده ای وصل شده و دیتا را در دیتابیسی به نام Stage ذخیره میشود. سپس هرگونه پاکسازی و تبدیل داده ها و فرمولهای مورد نیاز بر روی داده ها انجام می شود. سپس داده ها در انبار داده بارگذاری می شوند.
لازم به ذکر است که، در مرحله دوم که همان Transform است فرایندهایی مثل حذف داده های تکراری، تغییر نوع داده ها، انجام محاسبات بر روی داده ها، و بررسی کیفیت و صحت داده ها انجام می شود. فرایند Load یا بارگذاری داده ها عموما شامل دو نوع بارگذاری اولیه (Initial Loading) و بارگذاری افزایشی (Incremental Loading) است. در بارگذاری اولیه، داده هایی که تا کنون در کسب و کار تولید شده اند؛ در انبار داده بارگذاری می شوند. در بارگذاری افزایشی فرایندی اعمال می شود که صرفا داده های جدید و یا تغییر یافته بارگذاری شوند.
برای فرایند ETL از ابزارهای مختلفی استفاده می شود. ابزاری که در هوش تجاری مایکروسافت برای اینکار وجود دارد؛ SSIS یا SQL Server Integration Tool است. در هوش تجاری اوراکل از ابزار ODI یا Oracle Data Integration استفاده می شود. ایزارهای مطرح دیگری نیز همانند Informatica Power Center، Talend، SAS Data Management وجود دارد. همچنین ابزارهای ابری مثل Azure Data Factory و AWS Glue نیز موجود هستند.
ویژگی های انبار داده
همانطور که گفته شد؛ در هوش تجاری سازمانی پس از انجام فرایند ETL دیتا در Data Warehouse بارگذاری می شود. انبار داده ویژگی هایی دارد که در ادامه به آنها میپردازیم.
- موضوع محور (Subject-Oriented) : بدین معنا که انبار داده حول یک موضوع مصل فروش و یا موجودی ساخته می شود
- متغیر با زمان (Time-variant) : بدین معنا که داده ها به مرور زمان به انبار داده اضافه می شوند.
- یکپارچه (Integrated) : به دلیل اینکه داده ها از منابع محتلف جمع آوری و یکپارچه می شود؛ انبار داده دارای یکپارچگی داده است.
- ثبات (non-volatile) : در انیار داده معمولا فقط ورود داده اتفاق می افتد و بروز رسانی و حذف داده ها رخ نمی دهد. بدین دلیل انبار داده ثبات دارد.
اجزای انبار داده
همانطور که گفته شده انبار داده، یک پایگاه داده است. بنابراین دارای جداولی است. جداول درانبار داده یا فکت (Fact) و یا دایمنشتن (Dimension) است. جداول دایمنشن، جداولی هستند که رکوردهای آن، ابعاد کسب و کار را توصیف می کنند. بعنوان مثال، در کسب و کار فروش، موجودیت هایی مانند کالا، مشتری، و تاریخ، ابعاد توصیف کننده داده ها هستند. دایمنشن ها عموما برای فیلتر کردن داده ها مورد استفاده قرار می گیرند.
دسته دوم جداول، فکت ها (Fact) هستند. جداول فکت در واقع شاخص های قابل محاسبه در کسب و کار را نگهداری می کنند. به عنوان مثال در کسب و کار فروش، شاخصه هایی مثل تعداد فروش، مبلغ فروش، مالیات، مبلغ تخیف و .. در جدول فکت نگهدای می شوند. در جداول Fact، علاوه بر شاخصه های قابل اندازه گیری، ستونهای کلیدی مرتبط با دایمنشن ها نیز نگهداری می شود. مثلا در کسب و کار فروش در جدول فکت ستونهای کد کالا، کد مشتری، تاریخ، و … نیز وجود دارد.
جدول فکت (Fact Table) چیست
در مدل داده ستارهای یا همان Star Schema، در یک انبار داده (Data Warehouse)، جدول فکت (Fact Table) هسته اصلی مدل تحلیلی را تشکیل میدهد. این جدول در مرکز طرح ستاره قرار گرفته و با ابعاد مختلف مرتبط است.
ساختار جدول فکت معمولاً شامل دو نوع کلید است: کلیدهای خارجی که به جدول ابعاد یا دایمنشن (Dimension Table) متصل میشوند و مقادیر عددی که معیارهای کسبوکار را نشان میدهند. این معیارها، که به آنان «اقلام فکت» میگویند، قابل جمع و تحلیل هستند. طراحی صحیح این مدل داده برای عملکرد بهینه انبار داده حیاتی است.
وجود این جدول فکت امکان انجام تحلیلهای چندبعدی و گزارشگیری کارآمد را فراهم میکند. به طور خلاصه، جدول فکت در انبار داده حاوی حقایق و ارقام قابل اندازهگیری است که بستر اصلی تحلیلها را تشکیل میدهد و با اتصال به ابعاد، معنای کامل مییابد.
جدول دایمنشن یا ابعاد (Dimension) چیست؟
در یک انبار داده (Data Warehouse)، جدول دایمنشن (Dimension Table) یکی از ارکان اصلی در مدل دادهای ستارهای محسوب میشود. این جدول وظیفه توصیف و ارائه بستر مفهومی برای رویدادهای قابل اندازهگیری در جدول فکت را بر عهده دارد.
ساختار جدول دایمنشن معمولاً شامل یک کلید اصلی جایگزین (Surrogate Key) و مجموعهای از ویژگیهای توصیفی است. این ویژگیها که متنمحور یا کیفی هستند، جزئیات کامل یک موجودیت کسبوکار (مانند مشتری، محصول یا زمان) را تشریح میکنند. طراحی دقیق این ابعاد در مدل داده برای غنای تحلیلی انبار داده ضروری است.
وجود این جدول دایمنشن امکان فیلتر کردن، گروهبندی و تجزیهوتحلیل دادههای فکت را بر اساس معیارهای مختلف فراهم میسازد. در واقع، جدول دایمنشن به رویدادهای خام در انبار داده معنا و مفهوم میبخشد و امکان پرسشهای تجاری پیچیده را مهیا میکند.
پایان