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

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

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

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

مشاهده و خرید کامل‌ترین دوره Power bi از نیک آموز

ساختار هر مدل 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 کافیست تا از ۳ تکنیک گفته شده در این مقاله استفاده کنید تا بتوانید در OLAP های Tabular صرفه‌جویی بسیاری را به‌دست آورید. به‌طور خلاصه، این ۳ تکنیک شامل موارد زیر است:

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

 ما در نیک آموز بخش نظرات این مقاله، مشتاق خواندن دیدگاه ارزشمندتان هستیم.

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

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

اولین نفر باش

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

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

title sign
دیدگاه کاربران