Metabase

مسیریابی پایگاه داده

کل اپلیکیشن متابیس (شامل query builder) را جاسازی کنید تا دسترسی امن و شخصی‌سازی شده به داده به مشتریان بدهید.

تحلیل خودخدمت چند مستأجری

کل اپلیکیشن متابیس (شامل query builder) را جاسازی کنید تا دسترسی امن و شخصی‌سازی شده به داده به مشتریان بدهید.

پس، در حال بررسی جاسازی متابیس در اپلیکیشن خود برای ارائه تحلیل به مشتریان خود هستید. چگونه کار می‌کند؟

در این مقاله، با تجربه هدف برای مشتریان خود که ارائه خواهید داد شروع می‌کنیم، سپس از ویژگی‌های مرتبط که متابیس ارائه می‌دهد صحبت می‌کنیم، و نحوه کار با هم برای ارائه تحلیل خودخدمت.

تجربه مشتری هدف

بیایید با آنچه تجربه تحلیل نهایی از دیدگاه مشتریان شما به نظر می‌رسد شروع کنیم.

بازیگران:

  • شرکت شما: Megafauna Analytics
  • مشتری 1: MammothCo
  • مشتری 2: RhinoCo

در اینجا آنچه می‌سازیم:

شما یک شرکت B2B هستید، Megafauna Analytics، و از متابیس برای ارائه گزارش‌دهی به مشتریان خود با جاسازی متابیس در اپلیکیشن خود استفاده می‌کنید.

در اینجا نمای کلی از تجربه مشتری: Woolly از MammothCo به اپلیکیشن شما در megafauna-analytics.com وارد می‌شود، سپس به صفحه تحلیلی که برای MammothCo تنظیم کرده‌اید ناوبری می‌کند. آنجا، Woolly با مجموعه‌ای از صفحه‌ها با داشبوردها و نمودارهای پولیش شده نشان‌دهنده سفارش‌های MammothCo، تراکنش‌ها، و سایر داده برای MammothCo که ارائه داده‌اید، همه با رنگ‌های برند شما—Megafauna—روبرو می‌شود.

بیش از فقط مشاهده داشبوردهای استاتیک، Woolly می‌تواند روی داده رسم شده روی نمودارها کلیک کند و drill-through کند. به عنوان مثال، می‌تواند روی یک هفته خاص از تراکنش‌ها zoom کند، یا روی یک میله در یک نمودار کلیک کند تا یک جدول فهرست ردیف‌های تجمیع نشده که آن میله را populate می‌کنند بالا بکشد.

یک مثال از drill through یک سؤال در متابیس با استفاده از پایگاه داده نمونه شامل شده با نصب شما.

Woolly همچنین می‌تواند سؤال‌های خود را با query builder بپرسد.

Query builder در متابیس به مشتریان اجازه کاوش داده خود و ایجاد سؤال‌های جدید را می‌دهد. آن‌ها می‌توانند داده را join کنند، فیلتر کنند، خلاصه کنند، مرتب کنند، از عبارات سفارشی استفاده کنند، و بیشتر.

تنظیمات

برای دادن تجربه Woolly که در بالا outlined شده است، نیاز به تنظیم موارد زیر داریم:

  • جاسازی متابیس در اپلیکیشن شما: افزودن drill-through به نمودارها و داشبوردهای جاسازی شده، گردآوری مجموعه‌ها، expose کردن یک query builder از پیش پر شده با یک مجموعه داده، یا حتی expose کردن کل رابط متابیس.
  • White labeling (برندینگ): تطبیق نمودارها و داشبوردهای متابیس با ظاهر و احساس اپلیکیشن شما، اطمینان از تطابق با رنگ‌های برند شما (Megafauna).
  • Single sign-on (SSO): فعال کردن اپلیکیشن و متابیس برای توافق روی اینکه کاربران آن‌ها چه کسانی هستند و چه داده‌ای می‌توانند ببینند، مرتبط کردن یک شخص معین در megafauna-analytics.com با یک حساب در متابیس جاسازی شده شما.
  • مدیریت مجوزها: اجازه دادن به مشتریان برای کاوش داده خود، بدون دیدن داده هیچ کس دیگر.

در بخش‌های زیر هر ویژگی را با جزئیات مرور می‌کنیم.

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

چندین راه برای handle کردن جاسازی متابیس در اپلیکیشن شما وجود دارد. برای خودخدمت کامل، می‌خواهید با Embedded analytics JS یا SDK بروید. اما در اینجا نمای کلی از گزینه‌ها است.

لینک عمومی

گزینه dead simple (و ممکن است حتی به طور فنی به عنوان جاسازی واجد شرایط نباشد). یک سؤال یا داشبورد را در متابیس خود قرار می‌دهید، یک لینک به آن برای کسی ارسال می‌کنید، و به آن‌ها می‌گویید آن را به اشتراک نگذارند.

جاسازی عمومی

یک جاسازی عمومی یک قدم بالاتر است، چون لینک هنوز عمومی است، اما نمودار در اپلیکیشن شما از طریق یک iframe جاسازی شده قابل مشاهده است.

جاسازی استاتیک

جاسازی‌های استاتیک همانند جاسازی‌های عمومی به نظر می‌رسند، اما جاسازی‌های استاتیک یک iframe امن شده توسط یک JSON Web Token (JWT) امضا شده هستند. با جاسازی‌های استاتیک، می‌توانید فیلترهایی روی داشبوردها ایجاد کنید که پارامترها را می‌پذیرند و داده را بر اساس آن پارامترها فیلتر می‌کنند. به عنوان مثال، می‌توانید یک داشبورد پارامتری داشته باشید که یک user ID را می‌پذیرد، پس وقتی آن کاربر وارد می‌شود، داشبورد فقط داده محدود شده به user ID آن‌ها را نمایش می‌دهد. به عبارت دیگر، می‌توانید یک داشبورد عمومی برای داده کاربر ایجاد کنید که هر کاربری می‌تواند به آن دسترسی داشته باشد، اما هر فرد فقط داده مرتبط با خود را می‌بیند.

اشکال بزرگ با جاسازی استاتیک این است که مشتریان نمی‌توانند از داده drill through کنند یا از query builder استفاده کنند، چون متابیس نمی‌داند شخص چه مجوزهای داده‌ای دارد. برای لینک کردن حساب‌ها در سراسر اپلیکیشن و متابیس شما، نیاز به Embedded analytics JS یا SDK و single sign-on داریم.

Embedded analytics JS

Embedded analytics JS، در ترکیب با SSO و امنیت ردیف و ستون، چیزی است که گزارش‌دهی خودخدمت را ممکن می‌کند. مثل گزینه‌های جاسازی ساده‌تر بالا، یک snippet کد iframe-like به صفحه خود اضافه می‌کنید، فقط این بار می‌توانید هر صفحه متابیس که می‌خواهید را با تعامل کامل جاسازی کنید. در ترکیب با SSO و امنیت ردیف و ستون، متابیس جاسازی شده شما می‌داند Woolly چه کسی است و چه داده‌ای می‌تواند مشاهده کند، که یعنی متابیس می‌تواند به Woolly اجازه drill-through داده خود را بدون توانایی دیدن هر داده از کاربران RhinoCo یا سایر مستأجران بدهد.

و چون کل اپ متابیس در اختیار دارید، می‌توانید به کاربران MammothCo مجموعه‌ها، داشبوردها، و سؤال‌های از پیش تعریف شده، مثل تراکنش‌های هفته به هفته ارائه دهید. همچنین می‌توانید query builder متابیس را expose کنید، که به مشتریانی مثل Woolly اجازه ایجاد سؤال‌ها و داشبوردهای خود (و حاشیه‌نویسی آن‌ها با Markdown) بر اساس نیازهای در حال تکامل آن‌ها برای داده می‌دهد.

مستندات ما درباره Embedded analytics JS را ببینید.

Embedded analytics SDK

مثل Embedded analytics JS است، اما می‌توانید چیدمان کامپوننت‌ها را سفارشی کنید و رفتار را با pluginها تغییر دهید. می‌توانید از SSO با JWT یا SAML استفاده کنید. نکته: کار بیشتری از Embedded analytics JS است، و اپلیکیشن شما باید از React استفاده کند.

مستندات SDK ما را بررسی کنید.

White labeling (برندینگ)

می‌توانید ظاهر متابیس را برای تطابق با ظاهر و احساس اپلیکیشن خود سفارشی کنید. فونت، رنگ‌ها، لوگوها و بیشتر را تغییر دهید تا احساس بخش طبیعی اپلیکیشن شما را بدهد.

در Admin panel، می‌توانید متابیس را تغییر دهید

Single sign-on

Single sign-on (SSO) به شما اجازه می‌دهد کاربران در اپلیکیشن خود را با کاربران در متابیس مرتبط کنید. با استفاده از SSO، از صفحه‌های ورود awkward که نمودارها باید باشند اجتناب می‌کنید. بدون SSO، یک کاربر به اپلیکیشن شما وارد می‌شود، اما هنوز باید به متابیس شما برای مشاهده داشبوردها و نمودارهای جاسازی شده فردی وارد شود—یک تجربه کاربری کمتر از ایده‌آل.

بگویید یک کاربر MammothCo را در اپلیکیشن خود، megafauna-analytics.com، با name: Woolly; user_id: 13 تنظیم می‌کنید. برای هماهنگی با متابیس، سپس یک حساب کاربری برای Woolly در اپ متابیس تنظیم می‌کنید. بعد، نیاز به مرتبط کردن ID Woolly در اپلیکیشن خود، megafauna-analytics.com، با حساب Woolly در متابیس دارید. برای انجام آن، می‌توانید یک attribute به حساب Woolly در متابیس اضافه کنید تا نشان دهد user_id Woolly در اپلیکیشن شما 13 است.

افزودن attributeها به مشتریان در متابیس برای هماهنگی مجوزهای کاربر بین اپلیکیشن و متابیس جاسازی شده شما.

با SSO تنظیم شده، وقتی Woolly به megafauna-analytics.com وارد می‌شود، می‌تواند به صفحه‌هایی با متابیس جاسازی شده ناوبری کند و متابیس می‌داند او چه کسی است، و چه مجوزهایی باید داشته باشد.

مستندات ما درباره SSO را بررسی کنید:

مدیریت مجوزها

حالا که SSO شما جزئیات درباره اینکه چه کسی از اپلیکیشن شما استفاده می‌کند را به متابیس ارائه می‌دهد، متابیس می‌تواند از آن attributeها برای فیلتر کردن آنچه هر شخص می‌بیند استفاده کند، تا ستون‌ها و ردیف‌های جداول خاص.

نحوه مدیریت مجوزها بستگی به نحوه ذخیره داده مشتری شما دارد:

  • Commingled (یک پایگاه داده برای همه مشتریان): می‌توانید از امنیت ردیف و ستون یا impersonation، به علاوه سایر کنترل‌ها استفاده کنید.
  • Segregated (یک پایگاه داده به ازای هر مشتری): می‌توانید از مسیریابی پایگاه داده (علاوه بر امنیت ردیف و ستون، impersonation، و همه ابزارهای کنترل دسترسی دیگر که متابیس ship می‌کند) استفاده کنید.

امنیت ردیف و ستون

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

به عنوان مثال، اگر جدول orders شما شامل همه سفارش‌های مشتری است، می‌توانید آن جدول را بر اساس یک ستون، بگویید user_id فیلتر کنید. می‌توانید یک attribute، user_id، به کاربران خود در متابیس اختصاص دهید (و آن attribute را به tokenهای ورود آن‌ها attach کنید)، تا وقتی کاربران وارد می‌شوند و orders را مشاهده می‌کنند، فقط داده با ردیف‌هایی که با user_id آن‌ها match می‌کند را می‌بینند.

افزودن امنیت ردیف و ستون به جدول Orders با فیلتر کردن سفارش‌ها بر اساس ستون User ID. کاربران فقط سفارش‌هایی که با attribute user_id آن‌ها مطابقت دارد را می‌بینند.

مستندات ما درباره امنیت ردیف و ستون را ببینید.

Impersonation

Impersonation به شما اجازه می‌دهد مجوزها را به roleها در پایگاه داده خود "outsource" کنید. از impersonation استفاده کنید وقتی ترجیح می‌دهید مجوزها را از طریق roleها در پایگاه داده خود مدیریت کنید، که به خصوص برای اعطای دسترسی SQL به جداول به مشتریان مفید است. مستندات درباره impersonation را ببینید.

مسیریابی پایگاه داده

مسیریابی پایگاه داده برای تنظیمات یک-پایگاه-داده-به-ازای-هر-مشتری است. مسیریابی پایگاه داده به شما اجازه می‌دهد یک داشبورد واحد در برابر یک پایگاه داده اولیه (نوعی پایگاه داده template) بسازید، اما داشبورد پایگاه داده‌ای که پرس‌وجو می‌کند را بسته به اینکه چه کسی وارد شده است swap کند. مسیریابی پایگاه داده را ببینید.

[

](external-sharing.html)