Как стать автором
Обновить
77.02

Сравнение Open Source BI-платформ

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров15K

Привет, Habr!

Меня зовут Остапенко Настя, я лидирую направление BI в компании Axenix. Год назад мы выпустили статью с большим обзором Российского рынка BI. На этот раз мы проведем сравнение трех популярных Open Source BI-платформ: Apache Superset, Metabase и относительно нового участника - Yandex DataLens, который совсем недавно стал доступен в качестве Open Source продукта.

Для начала давайте вспомним что такое Open Source-системы.

Как видно из названия, Open Source системы – системы с открытым исходным кодом. Такое ПО можно беспрепятственно просматривать, изменять и распространять. В отличие от проприетарного ПО, которое распространяется на коммерческих условиях и разрабатывается компанией-вендором, Open Source ПО имеет открытый исходный код и дорабатывается комьюнити контрибьюторов (специалисты – альтруисты, вносящие вклад в разработку и развитие продукта).

На практике, это означает, что Open Source ПО можно использовать без необходимости приобретения лицензий как для персонального, так и для коммерческого использования, что делает эти системы такими востребованными.

Кроме того, ПО с открытым исходным кодом можно доработать, адаптировать под свои уникальные требования или даже взять за основу для создания нового коммерческого продукта.

Эти факторы делают Open Source BI-платформы особенно привлекательными для многих компаний.

Поскольку некоторые Open Source платформы кроме бесплатно распространяемых версий имеют более продвинутые платные версии, то в целях более честного сравнения мы будем сравнивать именно функционал бесплатных версий выбранных платформ.

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

Давайте подробнее посмотрим на эти критерии.

Для облегчения восприятия статьи, некоторые термины, выделенные подобным образом имеют пояснение, которое можно увидеть, нажав на выделенную область.

Группа 1 - Настройки внешнего вида визуализаций и дашбордов

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

Наличие часто используемых визуализаций

Metabase и Superset «из коробки» имеют полный набор стандартных визуализаций, включая: bar chart, line chart, pie chart, kpi card, area chart, combo chart, table, pivot table, slicer, scatter plot и др.

В Open Source версии DataLens технически доступны все те же чарты, что и в Cloud версии (15 стандартных чартов), однако чарты от Highcharts можно использовать для коммерческой разработки только при наличии соответствующей лицензии. Без лицензии список доступных чартов сильно сокращается с 15 до 6.

Чарты DataLens с и без лицензии HighCharts
Чарты DataLens с и без лицензии HighCharts

Наличие редких визуализаций

Здесь мы видим явное преимущество у Apache Superset с его огромной библиотекой визуализаций Apache E-charts. На момент выхода статьи в Apache Superset доступно 50 визуализаций, против порядка 20 у Metabase и 6 у Open Source DataLens.

Доступные "из коробки" визуализации Superset
Доступные "из коробки" визуализации Superset

No-code гибкая настройка внешнего вида виджетов и дашбордов

Возможности форматирования и no-code настройки внешнего вида визуализаций ограничен во всех трех платформах. Количество настроек форматирования не превышает 10-15 штук. Чаще всего доступны базовые настройки отображения оси, формата отображения чисел, настройка цветовой схемы. Более детальные настройки, например размер и цвет шрифта отображаемых данных, расположение оси, фон, граница, всплывающие окна и др. практически везде отсутствуют. У Apache Superset есть возможность ввода CSS-кода для более детальной настройки внешнего вида дашборда. Это позволяет значительно расширить возможности по верстке и настройке внешнего вида дашборда, однако требует от BI-разработчика дополнительных навыков.

Настройки форматирования в DataLens
Настройки форматирования в DataLens
Редактор CSS, встроенный в Superset
Редактор CSS, встроенный в Superset

Условное форматирование

Полнофункциональное условное форматирование доступно только в Yandex DataLens, в то время как в Superset и Metabase доступно с ограничениями. Во всех платформах есть функционал по заданию условного форматирования для таблиц, при этом в Superset отсутствуют возможности по управлению цветом кроме выбора цветовой палитры (даже не определенного цвета) для большинства чартов.

В Metabase возможности условного форматирования лимитированы выбором определенного цвета для категории/показателя.

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

Настройка цветов в Superset для Time Series Bar Chart
Настройка цветов в Superset для Time Series Bar Chart

Многостраничные дашборды

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

Вкладки в Yandex DataLens
Вкладки в Yandex DataLens

Группа 2 - Работа с данными

Здесь мы рассмотрим возможности BI-платформ по обработке и обновлению данных, объединения данных в единую модель, настройке связей между таблицами.

Модель данных

В Superset полностью отсутствует функционал создания модели данных. При необходимости объединения таблиц можно написать SQL-запрос к БД со всеми необходимыми трансформациями.

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

В DataLens есть графический интерфейс модели данных (=датасета), напоминающий аналогичный в Tableau. При создании датасета можно добавить фильтры, создать новые вычисляемые поля, добавить параметры. Кроме того, в DataLens есть любопытный функционал алиасов, который позволяет соединять и настраивать фильтрацию чартов и селекторов (=фильтров) из разных датасетов. Алиасы также позволяют определить направление фильтрации между виджетами. Важно не путать данный функционал с кросс-фильтрацией, поскольку чарты не могут влиять друг на друга. Связь через алиасы может быть настроена для: селектор-селектор, селектор-чарт.

Стоит также отметить, что созданные в Metabase и Superset связи соединяют данные на "физическом" уровне. То есть в результате такой связки появляется 1 готовая таблица. Возможности создания "виртуальных" связей как в Tableau/Power BI в данных BI-платформах нет.

Редактор модели данных Metabase
Редактор модели данных Metabase

Удобная ide для работы с данными

У Superset нет встроенного графического интерфейса для соединения данных, однако в нем есть очень удобный модуль для написания SQL-запросов, который называется SQL Lab. В SQL Lab можно создавать разные вкладки для работы с данными, просматривать историю запросов, сохранять созданные скрипты, делиться ссылкой на скрипт, копировать результат скрипта в буфер обмена, фильтровать результат SQL-запроса и др.

У Metabase и DataLens есть окно ввода SQL-запроса, но функционал редактора запросов ограничен.

Live - режим работы с данными

У всех исследуемых платформ доступен режим живого подключения к БД. Данные могут кэшироваться на стороне BI-платформы, но будут обновляться при изменении выбора фильтра, интерактивного взаимодействия с виджетом, а также при обновлении пользователем страницы с дашбордов. При live-режиме данные не забираются из БД в том виде, в каком они хранятся в БД. Вместо этого, для каждого виджета генерируется собственный SQL-запрос со всеми агрегациями и фильтрами и направляется в БД. В случае, если объем данных превышает 1 млн строк, лучшим решением будет использование колоночной СУБД для ускорения расчета агрегатов в live-режиме.

In-memory - режим работы с данными

Ни у одной из трех платформ нет встроенной возможности работать с данными на стороне платформы. Ранее у Yandex DataLens был доступен функционал по материализации данных, но от этого функционала в итоге отказались, и он более не доступен.

Собственный синтаксис для расчетов

В то время как для создания расчетных показателей в Superset и Metabase необходимо использовать синтаксис SQL той БД, которая выступает в качестве источника для вашего дашборда, у Yandex DataLens есть собственный синтаксис с понятным и удобным справочником формул. Наличие собственного языка вычислений позволяет писать универсальные формулы к разным БД, не переживая о разнице в диалектах SQL, которые могут стать проблемой при подмене источника на другую БД.

Группа 3 – Интерактивное взаимодействие с дашбордом

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

Экспорт данных из дашборда

В Metabase доступен встроенный функционал по экспорту данных в Excel, CSV, JSON, PNG.
В Superset есть возможность экспортировать данные Excel, CSV, JPEG.
В Open Source версии DataLens из популярных форматов экспорта доступен только CSV.

Drill Down
В Superset функционал Drill Down присутствует только в сводной таблице, в других визуализациях этот функционал недоступен. При этом какая-либо настройка иерархий или параметров перехода недоступна.

В DataLens есть возможность создания иерархий для измерений и есть возможность использования созданных иерархий в визуализациях для осуществления Drill-Down перехода между уровнями иерархий. Также с помощью параметров можно дать пользователю возможность выбирать и изменять измерение, по которому строится чарт для использования как для перехода между уровнями детализации так и для более глубокого изучения данных.

В Metabase функционала Drill Down напрямую нет, однако доступны другие интерактивные функции, по сути заменяющие Drill Down. Так, в Metabase есть возможность добавить переход на custom destination (которым может выступать другой чарт) при нажатии на чарт в дашборде. Таким образом можно заготовить дополнительный чарт с другим уровнем детализации, на который Metabase будет перенаправлять пользователя при нажатии на чарт в дашборде.Кроме того в Metabase доступен Action "break out by a", который позволяет изменить срез представления данных, заменив используемое измерение на другое поле из датасета. Такой функционал существенно расширяет возможности анализа для бизнес- пользователей

Drill Down в DataLens
Drill Down в DataLens

Drill Through

В Superset функционал Drill Through доступен при активации соответствующего флага в конфигурационном файле. Для просмотра детальных данных, на основе которых был собран чарт необходимо нажать правой кнопкой мыши на чарт, после чего выбрать функцию "Drill to Detail".

В Metabase доступно несколько вариантов Drill Through. Так, в Metabase можно перейти на другой чарт, настроив в качестве действия по клику - переход к "custom destination". Кроме того, с помощью действия "View these <records>" можно провалиться в таблицу с детальными данными, на которых был построен данный виджет.

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

Кросс-фильтрация

Функционал кросс-фильтрации Superset доступен для большинства виджетов (функционал активируется при добавления соответствующего флага в конфигурационный файл).
В DataLens кросс-фильтрация не доступна.

В Metabase кросс-фильтрацию можно настроить практически для любых виджетов.Настроить кросс-фильтрацию можно в меню настройки действия по нажатию. Таким образом нельзя настроить одновременно и кросс-фильтрацию и переход в custom destination или переход в меню с интерактивными действиями.

Передача параметров через URL

Во всех рассматриваемых BI-платформах есть возможность передачи и захвата значений параметров через URL в фильтры дашборда.

В Superset есть два варианта параметризации URL-ссылки:

  1. Значения параметров фильтров передаются в нативные фильтры (встроенную боковую панель фильтрации Superset). Синтаксис передачи значений в нативный фильтр довольно непрост, при формировании такого URL требуется глубоко разобраться в атрибутном составе параметризуемой ссылки.

  2. Передача параметров URL напрямую в SQL-запрос с помощью Python-шаблонизатора Jinja. В этом случае шаблон формата ввода значения параметра настраивается любым удобным способом с помощью jinja

Страшилка

Параметризация расчетов

В каждой рассматриваемой платформе есть возможность параметризации расчетов. Созданные параметры можно добавить на дашборд в виде виджета с выбором из списка или пользовательским вводом, после чего можно использованное введенные пользователем значения при проведении расчетов на стороне платформы и/или в SQL-запросе.

Группа 4 - Администрирование и безопасность

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

SSO - авторизация

В Metabase и Superset доступна доменная авторизация пользователей через LDAP.

Однако, при встраивании дашборда в сторонние веб-сервисы (embedding), авторизация через SSO становится недоступна в Open Source версии Metabase.

В Open Source версии DataLens авторизация пользователей и мультиюзерность пока не доступна. По заявлению вендора, в коде Open Source версии продукта были заранее заложены "точки расширения" для будущей доработки функционала авторизации.

Настройка ролевой модели доступа, RLS

В Superset можно настраивать доступ пользователей на уровне строк (RLS).

В бесплатной версии Metabase такой функционал не доступен.

В Open Source версии DataLens мультиюзерность и, как следствие, настройка ролевой модели доступа пока не доступна.

Embedding (Встраивание дашбордов в сторонние веб-сервисы)

Во всех рассматриваемых BI-платформах есть возможность встраивания дашбордов в сторонние сервисы.

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

В DataLens нельзя встроить дашборд в сторонний защищенный сервис, поскольку доступ к опубликованным данным не ограничен. Таким образом, встроить дашборд DataLens в сторонний веб-сервис можно, но нужно быть готовым к тому, что данные будут доступны всем пользователя без предварительной авторизации.

Выводы

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

Так, Superset может подойти компаниям, которые планируют встраивать дашборды в сторонние web-сервисы и хотят гибко управлять пользовательским доступом и ролевой моделью.

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

Yandex DataLens будет интересен тем компаниям, которые ищут простой и удобный Self-Service инструмент для пользователей, которым не обязательно быть ИТ-специалистами и знать SQL, CSS для работы со своими данными. Отсутствие ролевой модели доступа и мультиюзерности на данный момент ограничивает коммерческое применение Open Source версии платформы. Однако начать работу с DataLens можно с бесплатной Cloud-версии, а после доработки Open Source версии в части аутентификации - вернуться к Open Source DataLens.

Подводя итог, можно смело сказать, что Open Source BI-платформы предоставляют отличные возможности для тех, хочет минимизировать затраты при внедрении корпоративной BI-платформы и при этом готовы принять ограничения таких систем.

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

Теги:
Хабы:
Всего голосов 21: ↑21 и ↓0+21
Комментарии19

Публикации

Информация

Сайт
axenix.pro
Дата регистрации
Дата основания
Численность
1 001–5 000 человек
Местоположение
Россия
Представитель
Илья Деревенько