Привет, Хабр!

Сегодня я рассмотрю основные возможности BI-инструмента с открытым исходным кодом Metabase.

Каждый, кто работает с данными, рано или поздно сталкивается с необходимостью выбора того либо иного BI-инструмента для составления отчетов, визуализации выборок и других прикладных задач. Power BI, Looker, Redash, Superset и многие другие программные обеспечения призваны решать такие задачи, с присущими им ярко выраженными как преимуществами так и недостатками, обоснованными различиями в функционале и стоимостью эксплуатации.

Так и мне в рамках выполнения практической задачи была поставлена цель: найти простую платформу для визуализации данных, которая не требует сложных технических знаний для специалистов, не обладающих IT компетенциями.

Из всего многообразия аналитических решений в области BI-платформ я выбрал open source решение – Metabase, основываясь на личном опыте применения данного продукта при выполнении различных задач, в ходе реализации которых мне удалось выделить несколько отличительных преимуществ:

  • Низкий барьер входа;

  • Интуитивно понятный и хорошо продуманный пользовательский интерфейс, который не ограничивает мощность функционала;

  • Информативность диаграмм и дашбордов;

  • Простая система запросов, позволяющая обращаться к базе данных посредством SQL либо через пользовательский интерфейс.

Установить Metabase можно как на контейнере Docker, так и с помощью Jar-файла. Я выбрал второй вариант установки и перед тем как начать убедился в актуальности установленной версии Java на персональном компьютере с помощью следующей команды.

Ввод:

java -version

Вывод:

Далее я скачал metabase.jar с официального сайта и создал новый каталог, чтобы системные файлы продукта не рассеялись у меня в корневой директории.

Ввод:

mkdir ~/metabase

mv Users/Artem/Downloads/metabase.jar ~/metabase

После этого запустил metabase.jar

Ввод:

java -jar metabase.jar

Для того, чтобы открыть пользовательский интерфейс необходимо перейти по адресу http://localhost:3000 и зарегистрироваться. После этого появится главная страница Metabase.

Сама установка программы, как я убедился, достаточно проста даже для тех, кто не знаком с командной строкой.  Так же прост и функционал, который я рассмотрю на примере встроенной базы данных Sample DB, состоящей из следующих таблиц.

Каждую таблицу можно открыть и увидеть достаточно привычную для нас картину - бесчисленное множество колонок и строк.  Слева от выборки в подменю можно выбрать способ визуализации всех данных из таблицы.

Кроме того, нажав на значок «молния», всплывающий при наведении курсора мыши на таблицу, Metabase проведет «сканирование» и сразу же выгрузит достаточно подробную автоматическую визуализацию. Данный способ не раз помогал мне в случаях необходимости в быстрой обзорной аналитике.

В свою очередь, визуализировать можно не только информацию по таблицам. Сформируем выборку данных с помощью встроенного пользовательского интерфейса выбрав вкладку «Запрос».

Соединим заказы из таблицы Orders с Products с помощью интуитивно понятного пользовательского интерфейса для идентификации проданных товаров.

Теперь посмотрим предварительные результаты вывода нашего запроса.

Сделаем выборку по колонкам, которые нам необходимы для анализа.

В рамках рутинных задач при составлении выборки данных, аналитикам часто необходимо сгруппировать данные по какому-то признаку. Пользовательский функционал Metabase позволяет это сделать, а также установить фильтры к нашему запросу для сокращения выборки. Чтобы определить количество транзакций в каждой категории продукта - сгруппируем данные.

Теперь визуализируем полученные результаты в удобном нам формате. В левом подменю выбираем несколько вариантов визуализации для наглядности.

Сохраняем составленные таким образом запросы вместе с визуализациями для дальнейшего перемещения в дашборд.

Кроме того, можно посмотреть скрипт SQL запросов, созданных в пользовательском интерфейсе. Такая возможность Metabase часто выручает при необходимости сверки выборки, составленной другим сотрудником, поскольку лично мне удобнее и быстрее работать с синтаксисом SQL. Давайте рассмотрим данный функционал на примере запроса, который я составлял в пользовательском интерфейсе.

SELECT "Products"."CATEGORY" AS "Products__CATEGORY", count(*) AS "count"
FROM "PUBLIC"."ORDERS"
LEFT JOIN "PUBLIC"."PRODUCTS" "Products" ON "PUBLIC"."ORDERS"."PRODUCT_ID" = "Products"."ID"
GROUP BY "Products"."CATEGORY"
ORDER BY "Products"."CATEGORY" ASC

Так же обращаться к базам я могу напрямую через синтаксис SQL.

В заключение создадим дашборд, в котором закрепим результат нашей выборки данных.

Как видим функционал Metabase достаточно многообразен, а простота пользовательского интерфейса, в свою очередь, никак не ограничивает богатую палитру инструментов по обработке и визуализации данных.   

Таким образом, у нас получилось построить запрос несколькими способами и визуализировать полученную выборку данных в достаточно информативных диаграммах и дашбордах, не используя при этом специализированные знания.

Интуитивно понятный интерфейс, простая система обращения к базам данных обуславливают низкий барьер входа, который наряду с бесплатным использованием, безусловно выделяет продукт среди других инструментов.

Данный способ обработки и визуализации информации может быть полезен любым специалистам, работающим с данными, но при этом не обладающим достаточным опытом в программировании, либо компетенциями необходимыми для использования других BI-решений.

Комментарии (2)


  1. Coffe4wolf
    24.10.2022 23:04

    Выглядит очень годно в сравнении с прочими опенсорсными BI решениями

    Правда на офф-сайте увидел раздел с ценами - есть какая-то бесплатная версия или за деньги какое-то облако от вендора?


  1. MaxAhmed
    25.10.2022 04:46

    Есть несколько моментов, которые по моему стоит добавить:

    1. Metabase не хранит данные в своей БД, а тащит из внешних через адаптеры.

    2. Сам сканирует подключённые БД и вытаскивает таблицы и поля.

    3. Для таблиц и полей можно задать «человеческие» имена, а для полей ещё и метаинформацию - роль (ключевое поле, внешний ключ для связи с другой таблицей, категория, адрес и тп. ), видимость, формат. Метаинформация используется чтобы подсказать пользователю пути анализа данных. Есть инструмент автоматического анализа, но на реальных данных у меня каша получалась вместо анализа.

    4. Metabase отлично встраивается через iframe в сайты и web-морды приложений.

    Metabase отличный инструмент для анализа данных не профессионалами и без прицела на больших начальников (особо красивый дешборд не нарисуешь).

    У меня к нему пожалуй только одна претензия - при отправке дешборда в виде почтового сообщения вместо красивой картинки в 80% случаев получается фигня. Дело в том, что они пытаются отредерить его в svg вместо того, чтобы просто положить в письмо скринишот :(. Правда я использую довольно старую версию, может в новых пофиксили.