بهبود عملکرد Tabular Model در SQL Server با سه تکنیک کاربردی

بهبود عملکرد Tabular Model در SQL Server با سه تکنیک کاربردی

نوشته شده توسط: مسعود طاهری
تاریخ انتشار: ۱۹ اردیبهشت ۱۴۰۲
آخرین بروزرسانی: ۲۴ اردیبهشت ۱۴۰۲
زمان مطالعه: 8 دقیقه
۵
(۶)

بهبود عملکرد Tabular Model در SQL Server برای زمانی که شما از SSAS Tabular Model استفاده می‌کنید، با رعایت نکاتی در طراحی و پیاده‌سازی مدل OLAP خود، می‌توانید کارایی بانک اطلاعاتی OLAP را افزایش دهید. ما در مقاله گذشته، به معرفی SSAS Tabular پرداخته‌ایم و حالا در این مقاله، قصد داریم تعدادی از این تکنیک‌های کاربردی را به شما معرفی کنیم.

توجه داشته باشید که با این سه تکنیک بهبود عملکرد Tabular Model در SQL Server در OLAP های Tabular صرفه‌جویی بسیاری را به‌دست خواهید آورد که استفاده از آن‌ها را به شما توصیه می‌کنیم.

ساختار هر مدل Tabular در SSAS چگونه است؟

هر مدل Tabular در SSAS درون هسته خود یک پایگاه داده Columnar درون حافظه‌ای به نام Vertipaq دارد. وظیفه Vertipaq، بهینه‌سازی و ذخیره‌سازی مدل Tabular در حافظه RAM است. این Engine، داده‌ها را در ستون‌هایی تبدیل، سازماندهی و فشرده‌سازی می‌کند که ساختار خاص خود را دارند و به لحاظ فیزیکی از هم جدا شده‌اند.

سه تکنیک کاربردی جهت بهبود عملکرد Tabular Model در SQL Server

پایگاه داده‌های Columnar به ما این امکان را می‌دهند تا اندازه‌‌گیری‌های سریع را در یک ستون واحد انجام دهیم. با این وجود، محاسبات پیچیده شامل ستون‌های زیاد و… نیاز به زمان و CPU بیشتری برای پردازش دارد.

۳ تکنیک برای بهبود عملکرد Tabular Model در SQL Server

روش‌های مختلف بسیاری وجود دارد که می‌توان با کمک آن‌ها، به بهبود عملکرد Tabular Model در SQL Server کمک و مدل را بهینه‌سازی کرد که برحسب خصوصیات، مدل و هدف اصلی آن تفاوت اساسی دارند. در این مقاله، ما تعدادی از آن‌ها را انتخاب کرده‌ایم که با استفاده از آن، شما می‌توانید عملکرد Engine Tabular را افزایش دهید. این روش‌ها عبارتند از:

۱) بهینه سازی مدل داده ها

یکی از راه‌های بهبود عملکرد Tabular Model در SQL Server ، بهینه‌سازی مدل داده‌ها است. به لحاظ نظری، بهترین راه برای بهبود مدل جدولی، جمع‌آوری تمام اطلاعات در یک جدول واحد است. با اینکه این رویکرد، به یک فرآیند ETL بسیار آهسته و پرهزینه می‌انجامد که توصیه نمی‌شود. بنابراین، بهترین کار این است که مدل جدولی، به‌ویژه موارد پیچیده با روابط بسیار بین جدول‌های بزرگ را، بااستفاده از روش «مدل‌سازی کیمبال» (همچنین به نام «مدل‌سازی بُعدی» یا «طرح‌های ستاره‌ای») بسازید. این رویکرد، جدول‌های Fact و Dim را بهینه کرده که سناریوهای تحلیلی پیشرفته را تسهیل و تفسیر داده‌ها را ساده می‌کند.

سه تکنیک کاربردی جهت بهبود عملکرد Tabular Model در SQL Server

به شخصه خودم سعی می‌کنم همیشه این موضوع را در پروژه رعایت کنم. شما هم سعی کنید برای بهبود عملکرد Tabular Model در SQL Server برای بهینه‌سازی مدل‌ها، مدل OLAP خود را خیلی ساده در نظر بگیرید و به سمت مدل ستاره‌ای هدایت کنید. اگر ETL شما در این حالت پیچیده می‌شود، هنگام ساخت مدل می‌توانید از View کمک بگیرید و Fact و Dim ها را از روی DW با استفاده از ویو به‌سمت OLAP هدایت و یکسری تبدیلات به مدل ستاره‌ای را آن جا انجام دهید.

۲) حذف ستون های بلااستفاده در مدل OLAP

توجه داشته باشید که برای بهبود عملکرد Tabular Model در SQL Server نیازی نیست یک جدول را تماماً در مدل OLAP لود کنید. بسیاری از این فیلدهایی که در جدول شما وجود دارد و در مدل OLAP لود می‌شود، اصلاً نه در داشبوردها و نه در عبارت‌های DAX شما مورد استفاده قرار نمی‌گیرد. پس می‌توانید این نوع ستون‌ها را ازبین ببرید.

ضمناً شما می‌توانید با ابزار DAX Studio به‌دنبال فیلدهایی بگردید که بیشترین مقدار مصرف حافظه را گرفته‌اند. برای این کار می‌توانید با اجرای DAX Studio به سرور OLAP خود وصل شده و مراحل زیر را مطابق تصویر، دنبال کنید.

سه تکنیک کاربردی جهت بهبود عملکرد Tabular Model در SQL Server

یک تجربه از پروژه‌های ما در این زمینه این است که در یک پروژه‌ای که بر پایه OLAP Tabular بود، سروری داشتیم که در حدود ۱۲۸ گیگابایت RAM داشته و باتوجه به این که تیم فنی ما، حجم زیادی از فیلدها و رکوردهایی که لازم نداشتیم را به سمت OLAP هدایت کرده بود؛ این موضوع باعث شده بود که بیش از ۸۵ درصد RAM این سرور مورد توجه سرویس SSAS قرار گرفته و کندی‌هایی برروی آن داشته باشیم. با همین تکنیکی که اشاره شد، توانستیم مصرف RAM سرور را به کمتر از ۴۰ گیگابایت برسانیم.

سه تکنیک کاربردی جهت بهبود عملکرد Tabular Model در SQL Server

۳) پالایش مقادیر Dimension در SQL Server

جداول Dimension ابعاد تحلیل شما هستند و درواقع، هدف آن‌ها این است که ما بتوانیم مژرهایمان را براساس آن تحلیل کنیم. برای بهبود عملکرد Tabular Model در SQL Server در پالایش مقادیر Dimension، اگر گروهی از رکورد در تحلیل به آن رجوع نمی‌شود، سعی کنید با استفاده از View و یا سایر تکنیک‌ها، آن را ازبین ببرید و Dimension موجود در OLAP را سبک‌تر کنید. برای متوجه شدن این موضوع، به مثال زیر دقت کنید.

من یک جدول DimCustomer دارم که بیش از ۳۰ میلیون رکورد دارد. در جدول Fact من، از این ۳۰ میلیون رکورد، حدود ۵۰۰ هزار رکورد رد انداخته است. چه لزومی دارد که ۳۰ میلیون رکورد را به OLAP Tabular لود کنم؟

برای کاهش حجم لازم نیست از Dimension رکوردی حذف کنید و فقط کافی است تا از View استفاده نمایید.

جمع بندی بهبود عملکرد Tabular Model در SQL Server

برای بهبود عملکرد Tabular Model در SQL Server کافیست تا از ۳ تکنیک گفته شده در این مقاله استفاده کنید تا بتوانید در OLAPهای Tabular صرفه‌جویی بسیاری را به‌دست آورید. به‌طور خلاصه، این ۳ تکنیک شامل موارد زیر است:

  1. بهینه‌سازی مدل داده‌ها
  2. حذف ستون‌های بلااستفاده در مدل OLAP
  3. پالایش مقادیر Dimension

 

چه رتبه ای می‌دهید؟

میانگین ۵ / ۵. از مجموع ۶

اولین نفر باش

title sign
دانلود مقاله
بهبود عملکرد Tabular Model در SQL Server با سه تکنیک کاربردی
فرمت PDF
6 صفحه
حجم 1 مگابایت
دانلود مقاله
title sign
معرفی نویسنده
مسعود طاهری
مقالات
24 مقاله توسط این نویسنده
محصولات
64 دوره توسط این نویسنده
مسعود طاهری

مسعود طاهری مدرس و مشاور ارشد SQL Server & BI ،  مدیر فنی پروژه‌های هوش تجاری (بیمه سامان، اوقاف، جین وست، هلدینگ ماهان و...) ، مدرس دوره‌هــای SQL Server و هوش‌تجاری در شرکت نیک‌آموز و نویسنده کتاب PolyBase در SQL Server

پروفایل نویسنده
title sign
معرفی محصول
title sign
دیدگاه کاربران