Сравнение Apache Superset с Yandex Datalens Open-Source

Сравнение Apache Superset с Yandex Datalens Open-Source

Сравнение 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 без взгляда на саму систему

  1. Если систему планируется использовать для русскоязычной аудитории (например, в компании все системы на русском языке), то это огромный плюс Datalens (не глядя). Не придется возиться с переводом от версии к версии. Все инсталляции будут выглядеть одинаково и привычно. Меньше времени на поддержку и доработки.
  2. Русскоязычное комьюнити с разработчиками. Языковой барьер все же имеет значительную роль. Да и разработчики с английским стоят дороже, если говорить с оглядкой на Apache Superset.
  3. Уже есть успешно реализованные проекты по переходу с проприеритарных систем на Datalens в крупных компаниях.
  4. Обучающие материалы (в том числе бесплатные от самого Yandex Cloud), платные курсы, вебинары и конференции на русском языке. Даже уже есть книжка на русском языке. Охват аудитории будет значительно шире по-умолчанию, по сравнению с Apache Superset (комьюнити уже превышает суперсет более чем в 3 раза).
  5. Схожая архитектура проекта JS + Python по сравнению с Superset. Те компании, которые только начали использовать Superset, вероятно сейчас перейдут на Datalens, так как перспективы гораздо интереснее, а стек для доработки проекта фактически тот же.
  6. Мои домыслы: Скорей всего добавится поддержка разных мессенджеров (Telegram или тот же VK) и других российских сервисов, что обогатит функциональность Datalens.
  7. Мои домыслы: С развитием YandexGPT есть надежда, что эта технология будет также интегрирована в продукт. Ну или другие GPT.
  8. Интеграция по-умолчанию с другими tech-продуктами Yandex (ClickHouse, YTsaurus) подразумевает хорошую отладку работы (по крайней мере на это можно надеяться).
  9. Интеграция с 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 Гб оперативы вполне достаточно.

На скрине VPS с 2 ядрами и 8 Гб оперативы

Обзор функциональности дашбордов DataLens в Yandex Cloud

Краткий обзор преимущества над Apache Superset (мой субъективный отбор фич по тому, чего нет в суперсете)

  1. Временная шкала на русском языке. Можно переключиться на английский интерфейс и шкала переведется автоматически.
  2. В таблицах есть возможность отображения иерархии (parent-child иерархии с частичным раскрытием по клику на «+»).
  3. Есть функции дублирования объектов (копирование дашборда, чартов и т.д.).
  4. Есть история изменения дашборда. Очень похоже на OpenMetaData функционал историчности (напомнило). Прям вау, в опенсорс версии тоже есть.
  5. Для дашбордов есть фильтры (селекторы) в формате выпадающих списков. Удобный селектор диапазона дат.
  6. Гибче настройка расположения элементов (фильтров, графиков и т.п.). Но с другой стороны, не видно на других вкладках какие выборки были сделаны.
  7. Есть история изменений дашборда и чартов (но это в облаке, в opensource нужно проверить).
  8. Есть инспектор для чартов, который показывает производительность работы элементов, а также SQL Запрос в источник данных по чарту и Тело запроса (JSON).
  9. Куча реализованных примеров как что считать, в том числе оконные функции. Обширная и подробная документация с примерами.
  10. Дашборды и элементы структурированы по папочкам. Ещё есть воркбуки, но пока не погружался в разницу между ними.
  11. Визуальная составляющая дашбордов очень хорошо смотрится, некоторые чарты сделаны по аналогии с Tableau (команда Яндекса много лет использовала продукт, думаю, что некоторые идеи по визуализации оттуда были позаимствованы). Даже, я бы сказал так: DataLens, по ощущениям, похож на Superset, но более структурированный + по визуалке есть сильный инструментарий. Также добавлен функционал для структуризации компонентов.
  12. Есть оглавление дашборда, что придает ему структурируемость (вкладки или табы — это наподобие h1 секций, а внутри таба информация делится на дополнительные секции — наподобие h2).
  13. Можно скопировать таблицу в формате Markdown (выглядит забавно).
  14. Есть параметры на уровне датасета, которые можно использовать в чартах (параметры используются в вычисляемых полях).
  15. Есть визуальный конструктор датасетов, т.е. пользователь может сам соединить таблички и собрать свой датасет (простые кейсы).
  16.  

… todo

Чего пока нет в DataLens Open-Source

  1. Выгрузки в Excel
  2. Настройки прав доступа
  3. Авторизации (возможно нужна доп.настройка)
  4. Для разработки новых типов чартов нет готового API/SDK. Однако весь исходный код открыт, поэтому при большом желании можно разобраться в том, как все устроено и сделать pull-request с новым функционалом.
  5. Текущий подход не позволяет, видимо, легко интегрировать существующие коннекторы на python к различным источникам данных. В Apache Superset данный вопрос решен через SQLAlchemy.

Чего нет в DataLens в целом (по сравнению с Apache Superset) — возможно что-то появится в будущем

  1. Выгрузки в формате картинки (не особо критично)
  2. Нет рассылки отчетности и аллертинга (но это можно спокойно вынести в Airflow)
  3. Нет CSS и тем оформления. Но можно определить цветовой набор для использования на графиках.
  4. Embedded механизм доступен в облаке, но нужно опубликовать в общий доступ дашборд. Пока встроить аналитику в сторонние приложения/сервисы не получится.
  5. Нельзя применять фильтрацию на диаграммах/таблицах в Datalens. В Superset кросс-фильтрация работает на многих диаграммах (но пока еще не на всех):
    Кроссфильтрация Apache Superset
  6. В Superset можно больше информации в объект внести (в качестве описания). Система таргетирования, признаки верифицирован ли датасет или дашборд и т.п.
  7. Хранение дашбордов в формате кода.
  8. Настройка кеширования данных с помощью Redis (интервальное обновления кеша).
  9. Расширенный API с документацией в Swagger.
  10. SQLLab для исследования данных в датасете и источниках внутри Apache Superset.
  11. У Superset есть Jinja и возможности отрисовки визуализации через handlebar
  12. Можно делать вкладки внутри вкладок (tabs)

Обзор технической составляющей репозитория DataLens

Коннекторы DataLens

В облаке доступно больше коннекторов

В open-source версии пока три коннектора:

Что обещают еще добавить в DataLens Open-Source

  1. Коннектор к CSV
  2. Настройку авторизации
  3. Возможно добавят разграничение прав доступа на уровне DataLens

Краткая таблица сравнения по важным пунктам Apache Superset vs DataLens

Таблица в процессе редактирования

Дополнительные мысли по DataLens

  1. Мотивация специалистов заниматься DataLens будет больше.
    • продукт компании Yandex, зарекомендовавшей себя разработкой другого Open-Source софта;
    • перспективы развития в России сильно возрастают в связи с публикацией Open-Source.
  2. Скорость развития BI и его направление развития зависит от нескольких факторов:
    • Наличие продакта с опытом в BI, который использует продукт и задает ритм и направление развития продукта. Должна быть чуйка у продакта, что важно, а что нет. У DataLens это явно присутствует в визуале. У Superset присутствует в технических возможностях системы.
    • Близость пользователей к команде разработки — у DataLens группа компаний Яндекс, у Superset — облачная аналитика preset (но не известно сколько там пользователей).
  3. Многие компании разработчики могут отнестись к DataLens с большим энтузиазмом, по сравнению с Superset. Здесь можно учесть практически нулевые санкционные риски и прямое общение с основным разработчиком на родном языке.
  4. Давно была мысль, что Яндекс публикует часть своих решений в open-source, чтобы использовать их в международном бизнесе. Вот пример, что Nebius предоставляет аналитику облачную на базе DataLens.
    Также в подтверждение этой гипотезы смотрим на опыт с ClickHouse.

    Возможно продукт будет развиваться совместно российским подразделением и международным через формат open-source.

    Хорошо это или плохо увидим на практике. По крайней мере, опыт расхождения решения ClickHouse по множеству компаний говорит что это хорошо. Я думаю, что ядро продукта должно развиться до возможности использования в Enterprise большинства компаний.

Например, уже появились 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 в компании, то я бы для начала оценил плюсы и минусы каждого из продукта и отталкивался бы из задач компании.

Ivan Shamaev (Admin)
Работаю с Apache Superset с 2021 года. Веду этот блог, чтобы систематизировать свои знания и поделиться ими с другими специалистами. Подписывайтесь на мой телеграм канал @apache_superset_bi
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x