Сравнение Apache Superset 2.1.1 с Yandex Datalens OpenSource
Команда Datalens из компании Yandex опубликовала в GitHub исходный код Yandex DataLens — внутренней разработки системы для бизнес-аналитики и визуализации данных.
Datalens теперь является open-source BI-инструментом, который можно развернуть на любой инфраструктуре в требуемом масштабе.
Статья на Хабре BI-инструмент от Яндекса DataLens — теперь в опенсорсе
Данный шаг однозначно изменит распределение BI инструментов на рынке России, в том числе теперь под вопросом развитие Apache Superset в российских компаниях. В этой статье я опишу свой опыт сравнения двух систем в формате выжимки важных моментов.
Даже если сейчас Datalens чем-то может уступать Superset, то через некоторое время появится гораздо больше нужных функций, т.к. за Datalens стоит крупная российская компания.
На мой взгляд, эта новость затронет все нишивые BI-системы в России. Останется может несколько крупных BI разработчиков, у которых уже появились клиенты и которые имеют какие-то уникальные фичи, которые вряд ли появятся в DataLens и от которых не готов отказаться бизнес. Будем откровенны, всех остальных ждет спад (даже при значительных скидках на их продукт и лицензии).
Тем разработчикам, которые еще не связали себя сильно с Superset, очень рекомендую начать погружаться в DataLens. Сейчас это открытое окно возможностей (как по части BI инструмента, так и по доработкам функционала frontend и backend).
Кратко о Datalens Open Source
Исходный код DataLens состоит из трех основных частей:
- Пользовательский интерфейс — это SPA-приложение с соответствующей частью Node.js. Он предоставляет пользовательский интерфейс, передает запросы пользователей к серверным службам, а также применяет некоторую легкую постобработку данных для диаграмм.
- Бэкэнд — это набор приложений и библиотек Python. Он отвечает за подключение к источникам данных, формирование запросов к ним и постобработку данных (включая вычисления по формулам). Результатом этой работы является абстрактный набор данных, который можно использовать в пользовательском интерфейсе для запроса данных диаграмм.
- UnitedStorage (US) — это служба Node.js, которая использует PostgreSQL для хранения метаданных и конфигурации всех объектов DataLens.
Пример дашборда Datalens:
Первые плюсы Yandex Datalens без взгляда на саму систему
- Если систему планируется использовать для русскоязычной аудитории (например, в компании все системы на русском языке), то это огромный плюс Datalens (не глядя). Не придется возиться с переводом от версии к версии. Все инсталляции будут выглядеть одинаково и привычно. Меньше времени на поддержку и доработки.
- Русскоязычное комьюнити с разработчиками. Языковой барьер все же имеет значительную роль. Да и разработчики с английским стоят дороже, если говорить с оглядкой на Apache Superset.
- Уже есть успешно реализованные проекты по переходу с проприеритарных систем на Datalens в крупных компаниях.
- Обучающие материалы (в том числе бесплатные от самого Yandex Cloud), платные курсы, вебинары и конференции на русском языке. Даже уже есть книжка на русском языке. Охват аудитории будет значительно шире по-умолчанию, по сравнению с Apache Superset (комьюнити уже превышает суперсет более чем в 3 раза).
- Схожая архитектура проекта JS + Python по сравнению с Superset. Те компании, которые только начали использовать Superset, вероятно сейчас перейдут на Datalens, так как перспективы гораздо интереснее, а стек для доработки проекта фактически тот же.
- Мои домыслы: Скорей всего добавится поддержка разных мессенджеров (Telegram или тот же VK) и других российских сервисов, что обогатит функциональность Datalens.
- Мои домыслы: С развитием YandexGPT есть надежда, что эта технология будет также интегрирована в продукт. Ну или другие GPT.
- Интеграция по-умолчанию с другими tech-продуктами Yandex (ClickHouse, YTsaurus) подразумевает хорошую отладку работы (по крайней мере на это можно надеяться).
- Интеграция с Yandex Map — что повышает качество геоаналитики.
Обзор Yandex DataLens
Обзор будет проводиться как облачной версии с наиболее полным функционалом, так и в последствии open-source версии, которая большую часть функций также позже получит (не факт что все, но важные точно).
Инсталляция DataLens Open-Source через Docker-Compose
Развертывание изи. Все по инструкции, очень быстро встало на 2CPU и 8Gb RAM.
Команды использовал из официального гитхаб репозитория:
git clone https://github.com/datalens-tech/datalens && cd datalens HC=1 docker compose up
Без всяких заморочек. Поднялось 7 контейнеров:
По ресурсам менее требовательный, вроде, по сравнению с Apache Superset. По ощущениям 2 ядер и 4 Гб оперативы вполне достаточно.
Обзор функциональности дашбордов DataLens в Yandex Cloud
Краткий обзор преимущества над Apache Superset (мой субъективный отбор фич по тому, чего нет в суперсете)
- Временная шкала на русском языке. Можно переключиться на английский интерфейс и шкала переведется автоматически.
- В таблицах есть возможность отображения иерархии (parent-child иерархии с частичным раскрытием по клику на «+»).
- Есть функции дублирования объектов (копирование дашборда, чартов и т.д.).
- Есть история изменения дашборда. Очень похоже на OpenMetaData функционал историчности (напомнило). Прям вау, в опенсорс версии тоже есть.
- Для дашбордов есть фильтры (селекторы) в формате выпадающих списков. Удобный селектор диапазона дат.
- Гибче настройка расположения элементов (фильтров, графиков и т.п.). Но с другой стороны, не видно на других вкладках какие выборки были сделаны.
- Есть история изменений дашборда и чартов (но это в облаке, в opensource нужно проверить).
- Есть инспектор для чартов, который показывает производительность работы элементов, а также SQL Запрос в источник данных по чарту и Тело запроса (JSON).
- Куча реализованных примеров как что считать, в том числе оконные функции. Обширная и подробная документация с примерами.
- Дашборды и элементы структурированы по папочкам. Ещё есть воркбуки, но пока не погружался в разницу между ними.
- Визуальная составляющая дашбордов очень хорошо смотрится, некоторые чарты сделаны по аналогии с Tableau (команда Яндекса много лет использовала продукт, думаю, что некоторые идеи по визуализации оттуда были позаимствованы). Даже, я бы сказал так: DataLens, по ощущениям, похож на Superset, но более структурированный + по визуалке есть сильный инструментарий. Также добавлен функционал для структуризации компонентов.
- Есть оглавление дашборда, что придает ему структурируемость (вкладки или табы — это наподобие h1 секций, а внутри таба информация делится на дополнительные секции — наподобие h2).
- Можно скопировать таблицу в формате Markdown (выглядит забавно).
- Есть параметры на уровне датасета, которые можно использовать в чартах (параметры используются в вычисляемых полях).
- Есть визуальный конструктор датасетов, т.е. пользователь может сам соединить таблички и собрать свой датасет (простые кейсы).
… todo
Чего пока нет в DataLens Open-Source
- Выгрузки в Excel
- Настройки прав доступа
- Авторизации (возможно нужна доп.настройка)
- Для разработки новых типов чартов нет готового API/SDK. Однако весь исходный код открыт, поэтому при большом желании можно разобраться в том, как все устроено и сделать pull-request с новым функционалом.
- Текущий подход не позволяет, видимо, легко интегрировать существующие коннекторы на python к различным источникам данных. В Apache Superset данный вопрос решен через SQLAlchemy.
Чего нет в DataLens в целом (по сравнению с Apache Superset) — возможно что-то появится в будущем
- Выгрузки в формате картинки (не особо критично)
- Нет рассылки отчетности и аллертинга (но это можно спокойно вынести в Airflow)
- Нет CSS и тем оформления. Но можно определить цветовой набор для использования на графиках.
- Embedded механизм доступен в облаке, но нужно опубликовать в общий доступ дашборд. Пока встроить аналитику в сторонние приложения/сервисы не получится.
- Нельзя применять фильтрацию на диаграммах/таблицах в Datalens. В Superset кросс-фильтрация работает на многих диаграммах (но пока еще не на всех):
- В Superset можно больше информации в объект внести (в качестве описания). Система таргетирования, признаки верифицирован ли датасет или дашборд и т.п.
- Хранение дашбордов в формате кода.
- Настройка кеширования данных с помощью Redis (интервальное обновления кеша).
- Расширенный API с документацией в Swagger.
- SQLLab для исследования данных в датасете и источниках внутри Apache Superset.
- У Superset есть Jinja и возможности отрисовки визуализации через handlebar
- Можно делать вкладки внутри вкладок (tabs)
- …
Обзор технической составляющей репозитория DataLens
Коннекторы DataLens
В облаке доступно больше коннекторов
В open-source версии пока три коннектора:
Что обещают еще добавить в DataLens Open-Source
- Коннектор к CSV
- Настройку авторизации
- Возможно добавят разграничение прав доступа на уровне DataLens
Краткая таблица сравнения по важным пунктам Apache Superset vs DataLens
Таблица в процессе редактирования
Дополнительные мысли по DataLens
- Мотивация специалистов заниматься DataLens будет больше.
- продукт компании Yandex, зарекомендовавшей себя разработкой другого Open-Source софта;
- перспективы развития в России сильно возрастают в связи с публикацией Open-Source.
- Скорость развития BI и его направление развития зависит от нескольких факторов:
- Наличие продакта с опытом в BI, который использует продукт и задает ритм и направление развития продукта. Должна быть чуйка у продакта, что важно, а что нет. У DataLens это явно присутствует в визуале. У Superset присутствует в технических возможностях системы.
- Близость пользователей к команде разработки — у DataLens группа компаний Яндекс, у Superset — облачная аналитика preset (но не известно сколько там пользователей).
- Многие компании разработчики могут отнестись к DataLens с большим энтузиазмом, по сравнению с Superset. Здесь можно учесть практически нулевые санкционные риски и прямое общение с основным разработчиком на родном языке.
-
Например, уже появились Issue от Alexey Milovidov:
5. Superset выглядит более зрелым продуктом с точки зрения open source, но это не означает, что его невозможно быстро догнать, взяв всё лучшее, что у него есть и применить в DataLens 😉
Подборки Видео по DataLens
Data Coffee — Инжиниринг, визуализация и DataLens
В гостях у подкаста `Data Coffee` Роман Бунин — Эксперт по BI и визуализации данных, автор Reveal the Data
- 4:42 DataLens
- 9:54 Привязка к облаку и фичи
- 16:44 Roadmap
- 18:31 Чем Superset лучше
- 20:15 Семантический слой метрик
- 24:25 Конкуренция на рынке BI
- 27:13 Путь к открытию кода
Где еще почитать про сравнение Апач Суперсет с Даталенс?
Рекомендую глянуть статью на хабре: Сравнение Open Source BI-платформ
Краткий вывод по обзору DataLens
Несмотря на то, что у Apache Superset есть неоспоримое первенство в различных фичах продукта (в том числе с технической стороны), DataLens является сильным конкрурентом по части UI/UX на российском рынке. Например, возможность работы с дашбордами через коллекции и воркбуки, а также возможности организовать работу в компании в формате Self-service аналитики. Пользователям не обязательно знать SQL, для работы с DataLens.
Пока Open Source версия выглядит бедновато, но мне кажется, что в 2024 году ядро должно догнать функционал SaaS.
А версия SaaS в Яндекс клауде уже сейчас очень неплохо выглядит. И даже в некоторых местах, на мой взгляд, есть бОльшие удобства, по сравнению с Apache Superset (именно по удобству работы с интерфейсом — организации пространства дашбордов и их компонентов).
Что выбрать Superset или DataLens?
На мой взгляд все упирается в ваши задачи, ваши ресурсы и вашу цель.
DataLens SaaS однозначно имеет очень хороший потенциал, если вам нужен рабочий инструментарий без дополнительных работ с инфраструктурой, настройкой. Вы всегда уверены, что завтра Вася не уволится и ваш сервис будет работать много лет, развиваясь в функциионале и исправно работая. Если вы не шарите в React, Docker, K8S и NGinx, то попробуйте DataLens.
Дополнительным плюсом DataLens — это доступность функционала для конечных бизнес-пользователей. Можно развернуть Self-Service и получать data insights без привлечения ИТ к разработке дашбордов и таблиц.
Superset скорей подойдет вашей компании, если у вас есть планы масштабировать аналитику, настроить полноценный devops/dataops подход и есть на это ресурсы.
Если пользователей сильно больше, чем 100-200, наверное суперсет окупится. Если у вас 10 пользователей, то не проще ли заняться данными и их анализом в DataLens в коммьюнити режиме и не задумываться про сервера, конфиги и прочие около инфраструктурные вопросы?
Мне нравятся оба продукта, и, если бы мне предолжили выбрать один из них для внедрения BI в компании, то я бы для начала оценил плюсы и минусы каждого из продукта и отталкивался бы из задач компании.
Leave a Reply