آشنایی با معماری Data Warehouse (انبار داده)

آشنایی با معماری Data Warehouse

در این مقاله از بخش مدیریت داده و Data Warehouse پس از اینکه با مقاله آشنایی با ابزارهای Data Warehouse آشنا شدیم می خواهیم با معماری Data Warehouse (انبار داده) آشنا شویم.

معماری Data Warehouse (انبار داده) را می توان به عنوان یک نمایش ساختاری (structural representation) از آرایش عملکردی بتنی که بر اساس آن یک انبار داده ساخته می شود، تعریف کرد که باید شامل تمام اجزای اصلی عملی آن باشد، که معمولاً با چهار لایه تصفیه شده محصور شده است.

لایه منبع Source layer که در آن همه داده‌ها از منابع مختلف قرار دارند،

لایه مرحله‌بندی Staging layer که در آن داده‌ها تحت فرآیند ETL قرار می‌گیرند،

لایه ذخیره‌سازی Storage layer که در آن داده‌های پردازش‌شده برای تمرین‌های آینده ذخیره می‌شوند،

لایه ارائه presentation layer که در آن ابزارهای جلویی مطابق با راحتی کاربران استفاده می‌شوند.

معماری Data Warehouse (انبار داده) چه کاربردی دارد؟

برای انجام فرآیند Data Warehouse در صورت آشنایی با این معماری می توانید براحتی با ابزارهای آن کار کنید و هر نوع اطلاعات و گزارشی در مدنظر داشته باشید را استخراج کنید.

معماری Data Warehouse (انبار داده)

معماری Data Warehouse (انبار داده)
معماری Data Warehouse (انبار داده)

معماری Data Warehouse (انبار داده) به طور کلی از سه لایه تشکیل شده است:

  • Top Tier (لایه بالا)
  • Middle Tier (لایه میانی)
  • Bottom Tier (لایه پایین)

Top Tier (لایه بالا)

  • Top Tier از قسمت جلویی Client-side معماری سمت مشتری تشکیل شده است.
  • اطلاعات کاربردی Transformed و Logic ذخیره شده در Data Warehouse (انبار داده) برای اهداف تجاری در این ردیف استفاده و به دست می آید.
  • چندین ابزار برای تولید و تجزیه و تحلیل گزارش (Report Generation) برای تولید اطلاعات مورد نظر وجود دارد.
  • داده کاوی (Data mining) که این روزها به یک روند عالی تبدیل شده است در اینجا انجام می شود.
  • تمام اسناد تجزیه و تحلیل نیازمندی ها، هزینه ها و ویژگی هایی که یک معامله تجاری مبتنی بر سود را تعیین می کنند، بر اساس این ابزارها انجام می شوند که از اطلاعات Data Warehouse (انبار داده) استفاده می کنند.

Middle Tier (لایه میانی)

  • Middle Tier (لایه میانی) از سرورهای OLAP تشکیل شده است.
  • OLAP یک سرور (Online Analytical Processing) پردازش تحلیلی آنلاین است
  • OLAP برای ارائه اطلاعات به تحلیلگران و مدیران تجاری (business analysts) استفاده می شود
  • از آنجایی که در Middle Tier (لایه میانی) قرار دارد، به درستی با اطلاعات موجود در Bottom Tier (لایه پایین) تعامل می کند و بینش را به ابزار Top Tier (لایه بالا) منتقل می کند، که اطلاعات موجود را پردازش می کند.
  • عمدتا از OLAP رابطه ای (Relational OLAP) یا چند بعدی (MultiDimensional OLAP) در معماری Data Warehouse (انبار داده) استفاده می شود.

Bottom Tier (لایه پایین)

Bottom Tier (لایه پایین) عمدتاً از Data Sources، ابزارهای ETL و Data Warehouse (انبار داده) تشکیل شده است:

1. Data Sources (منابع داده)

Data Sources (منابع داده) شامل داده های منبعی است که به دست می آید و برای پردازش بیشتر در اختیار ابزارهای Staging و ETL قرار می گیرد.

2. ابزارهای ETL

  • ابزارهای ETL بسیار مهم هستند زیرا به ترکیب منطق Logic، داده های خام Raw Data و Schema در یک واحد کمک می کنند و اطلاعات را در Data Warehouse (انبار داده) یا Data Marts بارگذاری می کنند.
  • گاهی اوقات، ETL داده ها را در Data Marts بارگذاری می کند و سپس اطلاعات در Data Warehouse (انبار داده) ذخیره می شود. این رویکرد به عنوان رویکرد پایین به بالا (Bottom-Up approach) شناخته می شود.
  • رویکردی که ETL اطلاعات را مستقیماً در Data Warehouse (انبار داده) بارگذاری می کند، به عنوان رویکرد بالا به پایین (Top-down Approach) شناخته می شود.

تفاوت بین رویکرد بالا به پایین (Top-down Approach) و رویکرد پایین به بالا (Bottom-up Approach)

رویکرد بالا به پایین (Top-down Approach)

به عنوان اطلاعات Data Warehouse (انبار داده) برای ایجاد Data Marts از اطلاعات موجود در Data Warehouse استفاده می شود.
مدل قوی و از این رو توسط شرکت های بزرگ ترجیح داده می شود.زمان، هزینه و تعمیر و نگهداری بالا است.
گزارش‌ها می‌توانند به راحتی تولید شوند، زیرا ابتدا داده‌های Data Marts ایجاد می‌شوند، و تعامل با داده‌های Data Marts نسبتاً آسان است.
نه به اندازه قوی، اما Data Warehouse (انبار داده) را می توان گسترش داد،
می توان تعداد داده ها را ایجاد کرد. زمان، هزینه و نگهداری کم است.

رویکرد پایین به بالا (Bottom-up Approach)

گزارش‌ها را می‌توان به راحتی تولید کرد، زیرا ابتدا Data marts ایجاد می‌شود، و تعامل با داده‌ها نسبتاً آسان است.
نه به اندازه قوی، اما انبار داده را می توان گسترش داد، و می توان تعداد داده ها را ایجاد کرد. زمان، هزینه و نگهداری کم است.

Data Marts

  • Data Mart همچنین یک مؤلفه ذخیره سازی است که برای ذخیره داده های یک عملکرد خاص یا بخشی مربوط به یک شرکت یا یک فرد انجام می شود.
  • Data Mart اطلاعات را از Data Warehouse (انبار داده) جمع آوری می کند و از این رو می توان گفت data mart زیر مجموعه اطلاعات را در Data Warehouse (انبار داده) ذخیره می کند.
  • Data Mart ها انعطاف پذیر و کوچک هستند.

3. Data Warehouse (انبار داده)

  • Data Warehouse (انبار داده) جزء اصلی کل معماری Data Warehouse است.
  • به عنوان یک repository مخزن برای ذخیره اطلاعات عمل می کند.
  • مقادیر زیادی داده در Data Warehouse (انبار داده) ذخیره می شود.
  • این اطلاعات توسط چندین فناوری مانند Big Data که نیازمند تجزیه و تحلیل زیرمجموعه های بزرگ اطلاعات هستند استفاده می شود.
  • Data Mart نیز مدل Data Warehouse (انبار داده) است.

لایه های مختلف معماری Data Warehouse (انبار داده)

در ادامه لایه های مختلف معماری Data Warehouse (انبار داده) وجود دارد:

لایه های مختلف معماری Data Warehouse (انبار داده)
لایه های مختلف معماری Data Warehouse (انبار داده)

چهار نوع لایه مختلف معماری وجود دارد که همیشه در معماری Data Warehouse (انبار داده) وجود دارند.

1. لایه منبع داده (Data Source)

  • لایه منبع داده (Data Source) لایه ای است که داده های منبع (Data Source) با آن مواجه می شوند و متعاقباً برای عملیات مورد نظر به لایه های دیگر ارسال می شوند.
  • داده ها می توانند از هر نوع type باشند.
  • منبع داده (Data Source) می تواند یک پایگاه داده، یک صفحه گسترده یا هر نوع فایل متنی دیگری باشد.
  • منبع داده (Data Source) می تواند از هر فرمتی باشد. با این حال، با توجه به اینکه منابع بسیار متفاوت هستند، نمی‌توان انتظار داشت که داده‌هایی با فرمت یکسان دریافت کنیم.
  • در زندگی واقعی، چند نمونه از داده ها می تواند به عنوان منبع داده (Data Source) باشد
  • Log Files یا هر برنامه خاص یا job یا ورود کارفرمایان در یک شرکت
  • داده های نظرسنجی Survey Data، داده های بورس Stock Exchange Data و غیره.
  • داده های مرورگر وب Web Browser Data و بسیاری موارد دیگر.

2. لایه مرحله بندی داده ها (Data Staging)

مراحل زیر در لایه مرحله بندی داده (Data Staging) انجام می شود.

# مرحله 1: استخراج داده ها (Data Extraction)

داده های دریافت شده توسط لایه منبع (Source Layer) به لایه مرحله بندی (Staging Layer) وارد می شود، جایی که اولین فرآیندی که با داده های به دست آمده انجام می شود استخراج است.

# مرحله 2: Landing Database

  • داده های استخراج شده extracted data به طور موقت در Landing Database ذخیره می شود.
  • پس از استخراج داده ها، داده ها را بازیابی می کند.

# مرحله 3: Staging Area

  • داده ها و اطلاعات در Landing Database گرفته می شود و چندین بررسی کیفی و عملیات مرحله بندی staging operations در منطقه مرحله بندی (staging area) انجام می شود.
  • Structure و Schema نیز شناسایی می‌شوند و تنظیماتی برای داده‌های نامرتب انجام می‌شود، بنابراین سعی می‌شود مشترکی بین داده‌های به‌ دست‌ آمده ایجاد شود.
  • داشتن یک مکان یا تنظیم برای داده ها درست قبل از تبدیل و تغییرات یک مزیت اضافه است که فرآیند Staging را بسیار مهم می کند.
  • پردازش داده ها را آسان تر می کند.

# مرحله 4: ETL

  • این یک فرآیند استخراج Extraction ، تبدیل Transformation و Load است.
  • ابزارهای ETL برای یکپارچه سازی و پردازش داده ها استفاده می شود که در آن منطق به داده های نسبتاً خام اما تا حدی مرتب شده اعمال می شود.
  • این داده ها بر اساس ماهیت تحلیلی analytical nature مورد نیاز استخراج می شوند و به داده هایی تبدیل می شوند که برای ذخیره در Data Warehouse (انبار داده) مناسب تشخیص داده می شوند.
  • پس از تبدیل Transformation، داده یا بهتر است بگوییم اطلاعات در نهایت در Data Warehouse (انبار داده) بارگذاری یا Load می شود.
  • چند نمونه از ابزارهای ETL عبارتند از Informatica، SSIS و غیره.

3. لایه ذخیره سازی داده ها (Data Storage)

  • داده های پردازش شده در Data Warehouse (انبار داده) ذخیره می شود.
  • این داده ها با ساختاری مشخص پاکسازی cleansed، تغییر شکل داده transformed و آماده می شوند و بنابراین فرصت هایی را برای کارفرمایان فراهم می کند تا از داده های مورد نیاز کسب و کار استفاده کنند.
  • بسته به رویکرد معماری، داده ها در Data Warehouse (انبار داده) و همچنین Data Marts ذخیره می شوند. Data Marts در مراحل بعدی مورد بحث قرار خواهد گرفت.
  • برخی از آنها یک فروشگاه داده عملیاتی (Operational Data Store) نیز دارند.

4. لایه ارائه داده (Data Presentation)

  • این لایه که در آن کاربران می توانند با داده های ذخیره شده در Data Warehouse (انبار داده) تعامل برقرار کنند.
  • از پرس و جوها و کوئری ها و چندین ابزار برای بدست آوردن انواع مختلف اطلاعات بر اساس داده ها استفاده می شود.
  • اطلاعات از طریق نمایش گرافیکی داده ها به دست کاربر می رسد و نمایش داده می شود.
  • ابزارهای گزارش برای به دست آوردن داده های تجاری استفاده می شود، و منطق تجاری نیز برای جمع آوری انواع مختلفی از اطلاعات استفاده می شود.
  • اطلاعات متا داده Meta Data و عملیات و عملکرد سیستم نیز در این لایه نگهداری و مشاهده می شود.

نتیجه می گیریم

نکته مهم در مورد Data Warehouse (انبار داده) کارایی آن است برای ایجاد یک Data Warehouse (انبار داده) کارآمد، چارچوبی به نام چارچوب تحلیل تجاری (Business Analysis Framework) ایجاد می کنیم.

در مورد طراحی Data Warehouse (انبار داده) چهار نوع دیدگاه وجود دارد:

1. نمای بالا به پایین (Top-Down View): این نما اجازه می دهد تا تنها اطلاعات خاصی که برای یک Data Warehouse (انبار داده) مورد نیاز است انتخاب شود.

2. نمای منبع داده (Data Source View): این نما تمام اطلاعات از منبع داده Data Source تا نحوه تبدیل و ذخیره آن را نشان می دهد.

3. نمای انبار داده (Data Warehouse View): این نما اطلاعات موجود در Data Warehouse (انبار داده) را از طریق جداول fact  و جداول dimension نشان می دهد.

4. نمای درخواست کسب و کار (Business Query View): این نمایی است که داده ها را از دیدگاه کاربر نشان می دهد.

در ادامه می توانید مقاله آشنایی با طراحی Data Warehouse را مطالعه بفرمایید.

من در انتهای بعضی مقالاتم به جهت تنوع و دوست داشتن و رفع خستگی (مطالعه مقالات) موزیکایی که دوست دارم رو میزارم که گوش کنید و حالش رو ببرید. مسلما مطالعه مستمر خیلی مفید و کاربردی نیست و لازم هستش یه مواقعی از موسیقی لذت ببرید.

امیدوارم موزیکای که میزارم رو دوست داشته باشید و اگر شما هم موزیکی دوست داشتید و به سبک من میخورد بگین که حتما در انتهای مقالات بعدی قرار بدم 🙂

موزیک Fade To Black از Metallica

محسن زمانی هستم، برنامه نویس و طراح وب ، سئو هم بلدم . به هدف تفریح و سرگرمی این وب سایت رو طراحی کردم تا مطالبی که دوست دارم رو اینجا به اشتراک بزارم.

دیدگاه خود را بنویسید:

آدرس ایمیل شما نمایش داده نخواهد شد.