مقدمه ای بر انبار داده یا Data Warehouse

انبار داده یا همان انبار داده سازمانی (Enterprise Data Warehouse)، سیستمی است که داده ها را از منابع اطلاعاتی مختلف سازمان در طول زمان جمع آوری و پاکسازی میکند و به شکل خاصی ذخیره میکند. از انبار داده برای انجام تحلیل های پیچیده بر روی داده های سازمان استفاده می شود. یکی از وظایف اصلی کسانی که در حوطه هوش تجاری و یا مهندسی داده فعالیت میکنند؛ تسلط بر مفاهیم و طراحی انبار داده است. برای آشنایی بیشتر با سایر مشاغل علم داده، می توانید به این لینک مراجعه کنید. 

مفهوم انبار داده در سازمان زمانی معنا پیدا میکند که در سازمان هوش تجاری سازمانی یا Enterprise BI پیاده سازی شده باشد. در مقابل هوش تجاری سازمانی مفهومی به نام هوش تجاری سلف سرویس و یا Self Service BI وجود دارد. ابتدا به بررسی هوش تجاری سازمانی و سلف سرویس می پردازیم.

هوش تجاری سازمانی و سلف سرویس

هوش تجاری سازمانی درواقع پیاده سازی فرایند کامل هوش تجاری درسازمان است. بدین معنا که داده ها از منابع مختلف جمع آوری شده، پاکسازی شده و در انبار داده بارگذاری شوند. در واقع باید فرایند Extract,Transform,Load یا همان ETL بر روی داده های سازمان اتفاق افتاد و داده ها در انبار داده سازمان به صورت یکپارچه و با شکل خاصی ذخیره گردند؛ و سازمان از این انبار داده برای ایجاد بینش و تحلیل داده ها استفاده میکند. 

در مقابل هوش تجاری سازمانی، هوش تجاری سلف سرویس مفهومی جدید و نوظهور است. در هوش تجاری سلف سرویس از ابزارهایی استفاده می شود که نیاز به پیاده سازی فرایند کامل هوش تجاری شامل ساخت انبار داده ندارد.  استفاده از این ابزارهای هوش تجاری سلف سرویس منجر به این می شود که کاربران تجاری که دانش فنی زیادی در زمینه IT ندارند، نیز قادر به پیاده سازی هوش تجاری و ایجاد بینش از داده ها باشند. از جمله نرم افزارهای محبوب هوش تجاری سلف سرویس، می توان به Power BI، Tableau و QlickView اشاره کرد.

فرایند هوش تجاری سازمانی

همانطور که قبلا اشاره شد؛ هوش تجاری سازمانی شامل پیاده سازی تمامی فرایندهای هوش تجاری می باشد. این فرایند شامل شناسایی منابع داده ، استخراج داده از منابع شناسایی شده، پاکسازی و بارگذاری آنها در انباره داده است. به اختصار به این فرایند ETL گفته می شود. درادامه و در هوش تجاری سازمانی پس از ایجاد انبار داده و فرایند بروز رسانی آن، در صورت زیاد بودن حجم داده ها از ابزارهایی برای تسهیل در فشرده سازی و تحلیل داده ها استفاده می شود. نمونه این ابزارها SQL Server Analysis Service یا به اختصار SSAS است. در نهایت نیز برای مصور سازی از ابزارهایی مثل Power BI، Tableau و QlickView استفاده می شود. در واقع ابزارهای هوش تجاری سلف سرویس در فرایند هوش تجاری سازمانی صرفا نقش مصور سازی را به عهده دارند.  بنابراین میتوان گفت که انبار داده بخشی از فرایند هوش تجاری سازمانی است.

فرایند هوش تجاری سازمانیETL چست

همانطور که قبلا نیز اشاره شد؛ برای ایجاد انبار داده فرایندی بر روی داده های منابع داده صورت میگیرد که به آن به اختصار 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 دیتا در انبار داده بارگذاری می شود. انبار داده ویژگی هایی دارد که در ادامه به آنها میپردازیم.

  • موضوع محور (Subject-Oriented) : بدین معنا که انبار داده حول یک موضوع مصل فروش و یا موجودی ساخته می شود
  • متغیر با زمان (Time-variant) : بدین معنا که داده ها به مرور زمان به انبار داده اضافه می شوند.
  • یکپارچه (Integrated) : به دلیل اینکه داده ها از منابع محتلف  جمع آوری و یکپارچه می شود؛ انبار داده دارای یکپارچگی داده است.
  • ثبات (non-volatile) : در انیار داده معمولا فقط ورود داده اتفاق می افتد و بروز رسانی و حذف داده ها رخ نمی دهد. بدین دلیل انبار داده ثبات دارد.

اجزای انبار داده

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

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

پایان