جلسه شانزدهم دوره Business Intelligence در SQL Server 2016 به تدریس مهندس مسعود طاهری با موفقیت برگزار گردید.
در این جلسه ما در خصوص پردازش اشیاء موجود در Cube و همچنین روشهای افزایش سرعت پردازش Dimensionها و… صحبت کردیم.
برخی از مباحثی که در این جلسه بررسی شد عبارتند از
1- بررسی مفاهیم مربوط به پردازش
زمانی که شما یک پروژه SSAS ایجاد میکنید برای انتقال آن به Analysis Server باید با مفاهیم Build، Deploy، Process و… آشنا باشید. در این جلسه ما دوستان را با این مفاهیم آشنا کردیم و پس از آن به بررسی مفهوم asdatabase پرداختیم و سناریوی را شرح دادیم که قرار است بوسیله این فایل بانک اطلاعاتی OLAP را بر روی یک Analysis Server قرار دهیم.
2- بررسی سناریوهای مدیریتی OLAP Database
به ازای بانکهای اطلاعاتی OLAP میتوان فعالیتهای Administrationی هم انجام داد، این فعالیتها شامل موارد زیر میباشد.
1- Detach کردن یک بانک اطلاعاتی OLAP
2- Attach کردن یک بانک اطلاعاتی OLAP
3- Backup گرفتن از یک بانک اطلاعاتی OLAP
4- Restore کردن یک بانک اطلاعاتی OLAP
ما در این مبحث چند تمرین برای دانشجویان در نظر گرفته بودیم که دوستان توانستند آنها را با موفقیت انجام دهند.
3- معرفی انواع روشهای پردازش Dimensionها
یکی از کارهایی که پس از Deploy کردن یک OLAP Database بر روی سرور باید انجام داد عملیات پردازش Dimension میباشد.
در تصویر زیر روشهای پردازش Dimensionها ارائه شده ما باید سیاستی اتخاذ کنیم تا بتوانیم با توجه به شرایط و دادههای موجود در بانک اطلاعاتی OLAP و Data Warehouse دایمنشنهای موجود در OLAP Database را Process کنیم. در این درس ما نکاتی زیادی را برای دوستان مطرح کردیم که برخی از آنها تجربه خودم در محیط عملیاتی بود.
4- حل مثالی برای پردازش اجزاء موجود در Cube
در این جلسه ما سناریوی به شرح زیر مطرح کردیم.
1- در سیستم OLTP دادههای مربوط به جداول Dimension در حال تغییر میباشند.
2- این تغییرات Detect شده و با استفاده از یک SSIS Package به Data Warehouse منتقل میشوند. توجه داشته باشید که جدول Dimension ما از SCD Type 2 پشتیبانی میکند.
3- دادهها مربوط به جداول Fact به صورت Incremental به سیستم اضافه میشود.
ما در این مثال هدفمان این بود که عملیات Process را برای OLAP Database پیادهسازی کنیم. که برای انجام این کار از SSIS و کامپوننتهای آن استفاده کردیم.
5- پارتیشن بندی Cubeها
برای اینکه عملیات پارتیشنبندی Cube را پیادهسازی کنیم باید Measure Groupهای موجود در آن را پارتیشنبندی کنیم. پارتیشنبندی باعث افزایش سرعت پردازش و همچنین افزایش سرعت بانک اطلاعاتی OLAP میشود.
در این درس ما نکات مربوط به پارتیشنبندی Cube و همچنین تکنیکهای کاربردی آن یاد گرفتیم.
6- افزایش سرعت پردازش اجزاء موجود در Cube
ما در این درس نکات بسیار کاربردی برای افزایش سرعت پردازش اجزاء موجود در Cube یاد گرفتیم. از تنظیمات موجود در SSAS تا تنظیمات موجود در بانک اطلاعاتی OLAP و همچنین Data Warehouse
یکی دیگر از مباحث جالب این بحث تجربه یکی از دوستان با این مبحث در یک پروژه خیلی بزرگ بود جداول Fact این پروژه بیش از بیست و پنج میلیارد رکورد داشته که هم در Data Warehouse و هم در OLAP Database پارتیشن شده بود. استفاده از Columns Store Index در سمت Data Warehouse این پروژه باعث شده بود که حجم آن به شدت کاهش پیاده کند و همچنین سرعت پردازش Cube به ازای هر پارتیشن به کمتر از دقیقه برسد.
برای اینکه سرعت پردازش باز هم کمتر از این شود در OLAP Database باید تنظیمات خاصی انجام داد که در این درس این موارد بررسی شد.
7- تمرین کلاسی
بیشتر مباحث موجود در این درس توسط خود دانشجویان تمرین شد در انتهای بحث ما تمرین برای دانشجویان مطرح کردیم که شامل مباحث پردازش Dimensionها و همچنین پردازش Partitionهای موجود در Cube بود.