Привет, Хабр!
Сегодня я рассмотрю основные возможности 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)
MaxAhmed
25.10.2022 04:46Есть несколько моментов, которые по моему стоит добавить:
Metabase не хранит данные в своей БД, а тащит из внешних через адаптеры.
Сам сканирует подключённые БД и вытаскивает таблицы и поля.
Для таблиц и полей можно задать «человеческие» имена, а для полей ещё и метаинформацию - роль (ключевое поле, внешний ключ для связи с другой таблицей, категория, адрес и тп. ), видимость, формат. Метаинформация используется чтобы подсказать пользователю пути анализа данных. Есть инструмент автоматического анализа, но на реальных данных у меня каша получалась вместо анализа.
Metabase отлично встраивается через iframe в сайты и web-морды приложений.
Metabase отличный инструмент для анализа данных не профессионалами и без прицела на больших начальников (особо красивый дешборд не нарисуешь).
У меня к нему пожалуй только одна претензия - при отправке дешборда в виде почтового сообщения вместо красивой картинки в 80% случаев получается фигня. Дело в том, что они пытаются отредерить его в svg вместо того, чтобы просто положить в письмо скринишот :(. Правда я использую довольно старую версию, может в новых пофиксили.
Coffe4wolf
Выглядит очень годно в сравнении с прочими опенсорсными BI решениями
Правда на офф-сайте увидел раздел с ценами - есть какая-то бесплатная версия или за деньги какое-то облако от вендора?