بررسی ساختارانباره داده (Data werehouse)
سیستم های انبار داده مختلف، ساختارهای متفاوتی دارند. بعضی از سیستمها یک Operational Data Store یا محل ذخیره داده های عملیاتی دارند در حالی که بعضی دیگر ممکن است چند Data Mart داشته باشند. بعضی از سیستمها تعداد کمی منبع داده دارند و بعضی دیگر با چندین منبع داده کار می کنند. به این دلیل که کلا درباره معماری انبار داده صحبت می کنیم و روی سیستم خاصی بحث نمی کنیم بهتر است که لایه های معماری انبار داده را به صورت عام بررسی کنیم.
در کل همه سیستم های انبار داده لایه های زیر را دارا هستند:
- Data Source Layer : لایه منبع داده
- Data Extraction Layer : لایه استخراج داده ها
- Staging Area :
- ETL Layer : لایه استخراج، تبدیل و بارگذاری
- Data Storage Layer : لایه ذخیره سازی داده ها
- Data Logic Layer : لایه منطق داده ها
- Data Presentation Layer : لایه نمایش داده ها
- Metadata Layer : لایه فرا داده (متادیتا)
- System Operations Layer : لایه عملیات سیستم
تصویر بالا ارتباط بین مولفه های مختلف در معماری انبار داده را نشان می دهد.
Data Source Layer : لایه منبع داده
لایه منبع داده، منابع داده ای که داده ها را به انبار داده تغذیه می کند را نشان می دهد. منبع داده ها می تواند به هر فرمتی وجود داشته باشد مثلا فایل متنی (plain text)، پایگاه داده رابطه ای، انواع دیگر پایگاه داده، فایلهای اکسل و … می توانند به عنوان منبع داده به سیستم انبار داده وارد شوند.
منبع داده می تواند شامل انواع داده ها باشد مثل:
- عملیات روزمره یک کسب و کار: مانند داده های فروش محصولات، داده های منابع انسانی، داده های محصول، داده های انبار و موجودی، داده های بازاریابی، داده های سیستمها و …
- لاگ های وب سرور و داده های بازدید و مرور کاربران در سایت شرکت
- داده های داخلی تحقیق بازار
- داده های شخص ثالث مانند داده های سرشماری، داده های جمعیت شناختی (داده هایی مانند سن، ویژگی های فردی و اجتماعی افراد، تحصیلات، شغل و …) و داده های حاصل از نظرسنجی ها
همه این منابع داده، لایه منبع داده را تشکیل می دهند.
Data Extraction Layer : لایه استخراج داده ها
داده ها از منابع داده به سیستم انبار داده وارد می شوند. احتمال دارد پاکسازی و تصفیه داده ها در این مرجله انجام شود ولی تبدیلات سنگین روی داده ها در این مرحله انجام نمی شود.
Staging Area
این مرحله جایی است که داده قبل از این که تمیز و تبدیل شود، قرار می گیرد. وجود یک مکان مشترک برای همه داده ها، پردازش و یکپارچه سازی بعدی داده ها را راحت تر می کند.
ETL Layer : لایه استخراج، تبدیل و بارگذاری
این لایه جایی است که با اعمال مکانیزم تبدیل طبیعت تراکنشی داده ها به طبیعت تحلیلی، هوشمندی در داده ها به وجود می آید. عمل پاکسازی داده ها در این لایه اتفاق می افتد. “فاز طراحی ETL” معمولا یکی از وقت گیرترین فازها در پروژه طراحی انبار داده است و معمولا یک ابزار ETL در این لایه استفاده می شود.
Data Storage Layer : لایه ذخیره سازی داده ها
لایه ذخیره سازی داده ها محل قرارگیری داده تبدیل و تمیز شده است. در این لایه سه نوع موجودیت، براساس قلمرو و کارکرد پیدا می شود:
- انبار داده
- Data mart
- ODS یا Operational Data Store
در هر سیستم ممکن است، یک، دو یا هر سه نوع موجودیت فوق را داشته باشید.
Data Logic Layer : لایه منطق داده ها
در لایه منطق داده ها، قواعد کسب وکار ذخیره می شود. قواعد کسب و کاری که در این جا ذخیره می شود، تاثیری روی قواعد تبدیل داده های اصلی نمی گذارد ولی روی نحوه گزارش ها تاثیر می گذارد.
Data presentation Layer : لایه نمایش داده ها
داده های این لایه، همان اطلاعاتی است که در دسترس کاربران است. این داده ها به فرم جدول، گزارش گرافیکی در مرورگر، گزارشی که به صورت خودکار تولید و ایمیل می شود، هشداری که به کاربران یک وضعیت غیرعادی را اعلام می کند و مواردی از این دست هستند. معمولا در لایه Presentation از ابزار OLAP و یا گزارش گیری استفاده می شود.
Metadata Layer : لایه متادیتا
در این لایه اطلاعات مربوط به داده های ذخیره شده در سیستم انبار داده ها ذخیره می شود. مدل منطقی داده شبیه موارد موجود در لایه متادیتا است. ابزار متادیتا برای مدیریت متادیتا در این لایه به کار گرفته می شود.
System Operation Layer : لایه عملیات سیستم
این لایه شامل اطلاعاتی درباره چگونگی انجام عملیات در سیستم انبار داده است مانند وضغیت فعالیتهای ETL، عمکرد سیستم و سابق دسترسی کاربر.