Metabase

پایداری مدل

در حال حاضر برای PostgreSQL، MySQL، و Redshift در دسترس است.

متابیس می‌تواند نتایج مدل‌های شما را پایدار کند تا مدل‌های شما (و سؤال‌های مبتنی بر آن مدل‌ها) سریع‌تر بارگذاری شوند.

متابیس نتایج مدل را در جداول در یک schema سفارشی در انبار دادهٔ شما (نه پایگاه دادهٔ اپلیکیشن متابیس) ذخیره می‌کند. وقتی افراد سؤال‌هایی بر اساس مدل‌های شما می‌پرسند، متابیس از جداول با نتایج ذخیره‌شده استفاده می‌کند به جای اجرای مجدد کوئری مدل.

پایداری مدل با امنیت ردیف و ستون یا جعل هویت کار نمی‌کند.

روشن کردن پایداری مدل در متابیس

برای پایدار کردن مدل‌ها برای بارگذاری سریع‌تر، باید پایداری مدل را برای موارد زیر روشن کنید:

  1. متابیس شما
  2. پایگاه‌داده‌های جداگانه
  3. (اختیاری) مدل‌های جداگانه

روشن کردن پایداری مدل برای متابیس شما

برای روشن کردن پایداری مدل برای متابیس شما، به Admin settings > Performance > Model persistence بروید.

می‌توانید مدل‌ها را طوری تنظیم کنید که بر اساس یکی از فرکانس‌های پیش‌فرض (هر 1 ساعت، 2 ساعت، و غیره) به‌روزرسانی شوند، یا گزینهٔ Custom را انتخاب کنید تا از syntax cron برای مشخص کردن فرکانس به‌روزرسانی خود استفاده کنید.

زمان‌بند cron از Report Timezone استفاده می‌کند اگر انتخاب شده باشد. در غیر این صورت زمان‌بند از System Timezone استفاده می‌کند (که به‌طور پیش‌فرض GMT در Metabase Cloud است).

توصیه می‌کنیم مدل‌هایتان را طوری زمان‌بندی کنید که با فرکانسی که جداول منبع شما با دادهٔ جدید به‌روزرسانی می‌شوند منطقی باشد به‌روزرسانی شوند.

اگر کسی تعریف کوئری یک مدل را تغییر دهد، هر سؤالی بر اساس آن مدل کوئری مدل را دوباره اجرا می‌کند تا به‌روزرسانی برنامه‌ریزی‌شدهٔ بعدی مدل.

روشن کردن پایداری مدل برای هر پایگاه داده

بعد از اینکه پایداری مدل را برای متابیس خود روشن کردید، باید آن را برای هر پایگاه دادهٔ خاص تنظیم کنید، چون متابیس نیاز دارد یک schema در انبار دادهٔ شما ایجاد کند تا مدل‌های پایدارشده را ذخیره کند.

  1. به Admin settings > Databases > [پایگاه داده شما] > Turn model persistence on بروید. اگر اعتبارنامه‌هایی که به متابیس داده‌اید برای اتصال به پایگاه داده شما مجاز هستند، متابیس باید تمام کار را برای شما انجام دهد: متابیس بررسی می‌کند که آیا schema از قبل وجود دارد، یا در غیر این صورت سعی می‌کند آن را ایجاد کند. اگر اعتبارنامه‌های اتصال فاقد مجوزهای لازم برای ایجاد schema در پایگاه داده شما هستند، باید خودتان schema را در پایگاه داده ایجاد کنید.

  2. برای ایجاد دستی schema در انبار داده خود، روی آیکون info کلیک کنید تا نام schema را دریافت کنید.

  3. schema را در پایگاه داده خود ایجاد کنید---مطمئن شوید که از نام schema دقیق از مرحله 1 استفاده می‌کنید. به‌عنوان مثال، اگر PostgreSQL را به‌عنوان انبار داده خود اجرا می‌کنید، schema را با اجرای CREATE SCHEMA IF NOT EXISTS schema_name ایجاد می‌کنید، با schema_name هر چیزی که متابیس در آیکون info به شما نشان داد.

  4. مطمئن شوید که اعتبارنامه‌هایی که متابیس برای اتصال به انبار داده شما استفاده می‌کند می‌توانند آن schema را مدیریت کنند و به آن بنویسند.

روشن کردن پایداری مدل برای مدل‌های جداگانه

همچنین می‌توانید پایداری را برای مدل‌های جداگانه روشن یا خاموش کنید. هنگام مشاهدهٔ یک مدل، روی ... در گوشهٔ بالا سمت راست کلیک کنید و Edit settings را انتخاب کنید. Persist model data را toggle کنید (برای انجام این کار نیاز به دسترسی Curate به کلکسیون مدل دارید).

Toggle کردن پایداری برای مدل‌های جداگانه برای مدل‌هایی با داده که با فرکانس متفاوت از برنامه‌ای که برای مدل‌های دیگر در آن پایگاه داده تنظیم کرده‌اید به‌روزرسانی می‌شوند، یا برای مدل‌هایی که بیشتر یا کمتر از مدل‌های دیگر در آن پایگاه داده استفاده می‌شوند مفید است.

به‌روزرسانی نتایج پایدارشدهٔ یک مدل

برای به‌روزرسانی نتایج یک مدل، به مدل بروید و روی منوی سه نقطه (...) کلیک کنید و Edit settings را انتخاب کنید. در نوار کناری info که باز می‌شود، یادداشتی دربارهٔ زمانی که متابیس آخرین بار نتایج مدل را به‌روزرسانی کرد می‌بینید، و یک آیکون برای به‌روزرسانی نتایج.

مشاهدهٔ لاگ‌های پایداری مدل

می‌توانید لاگ‌های پایداری مدل را با کلیک روی آیکون gear در گوشهٔ بالا سمت راست و انتخاب Admin settings > Tools > Model caching logs مشاهده کنید. به ابزارهای ادمین مراجعه کنید.

تفاوت بین مدل‌های پایدارشده و کش

مدل‌های پایدارشده با نتایج کش‌شده متفاوت هستند:

  • مدل‌ها در انبار داده شما پایدار می‌شوند؛ نتایج کش‌شده در پایگاه داده اپلیکیشن ذخیره می‌شوند. متابیس نتایج کش‌شده را در پایگاه داده اپلیکیشن خود ذخیره می‌کند. متابیس مدل‌ها را در انبار داده متصل شما به‌عنوان جداول پایدار می‌کند.
  • متابیس نتایج مدل را به‌روزرسانی می‌کند و نتایج کش‌شده را باطل می‌کند. متابیس نتایج مدل‌ها را طبق برنامه‌ای که تنظیم می‌کنید به‌روزرسانی می‌کند. یعنی متابیس کوئری مدل را دوباره اجرا می‌کند و نتایج را در انبار داده شما ذخیره می‌کند. برای نتایج کش‌شدهٔ سؤال‌ها و داشبوردهای ذخیره‌شده، متابیس کوئری‌ها را به‌طور خودکار اجرا نمی‌کند؛ وقتی افراد سؤال یا داشبورد را مشاهده می‌کنند نتایج را کش می‌کند، و نتایج کش‌شده را طبق سیاست کش‌ای که تنظیم می‌کنید باطل می‌کند.

مطالعهٔ بیشتر