How we implemented Metabase in our cloud data platform

Yinon Eitan
Plarium-engineering
3 min readFeb 20, 2023

--

This article describes why and how we implemented Metabase as a self-service BI tool for business users.

Background

The data engineering department in Plarium develops the company’s centralized data platform, which provides data solutions and services.

Our high-scale, cloud-based platform has a complex data model that stores and organizes data from all the games, marketing systems, and external sources.

BI Tool For Everyone

Business users across Plarium’s departments (finance, marketing, game designers), are usually not experts in our data model, don’t know SQL but they’re very data-oriented that want to support their decisions with data and gain insight from it.

Whenever these users want to do that, they need assistance from a data analyst or request a dashboard development from our visualization team.

That’s where Metabase comes into the game. As soon as the data is ready, the user can work with it in Metabase by asking ad-hoc questions, building dashboards, and getting alerts without depending on anyone.

💡 We don't skip the phase of preparing the data according to the user requirements. However, it usually comes to creating a view on top of existing tables.

Self-service BI tool helps business users to visualize and gain insights from the data.

Under The Hood

We use Metabase open-source version on top of Google’s BigQuery, Using MB docker image installed on Kubernetes VMs. Each time a significant version is released, we manually update it.

Using a service account with access to only one data set in BQ, we manage which tables are available in Metabase. Via the permissions section in the admin setting, we manage user-to-table permissions.

💡 Since Metabase is live-querying the DB each time a chart is refreshed it’s critical to monitor the queries’ cost, count, and duration.

Metabase has several APIs you can use to extract metadata, create/delete objects and execute actions in the system. Our primary use case using the APIs is to improve our audit abilities by getting the user details and activities they do in Metabase.

Monitor on queries cost (per Metabase user)

Worth-Notice Features

After using Metabase for a while, we gather a few “advance” features that are worth noticing-

Charts alerts:

With chart alerts, you can let the data work for you and alert you when the value crosses a threshold.

Dashboard subscription:

Similar to alerts, subscriptions send you a snapshot of your dashboard every H/D/W/M.

Timelines events-Annotations:

With timelines events, you can mark specific dates to capture chronological knowledge and make it available when you need it

Overlaying two-time series on the same chart:

Presenting the same metric over two-time series on the same chart can help you simplify the comparison.

Markdown:

Markdown allows you to enrich your dashboard with text, headlines, links, pictures, and GIFs.

Community

🤝Metabase has a wide community (with a very quick response time) where you can read about best practices, get help and suggest features.

--

--