APACHE SUPERSET
APACHE SUPERSET Максимум свободы – максимум ответственности Продолжаем цикл статей по BI-системам. В прошлый раз разбирали Yandex DataLens (https://t.me/bi_energy/82) – облачный, дружелюбный, но со своими архитектурными особенностями. Сегодня на очереди Apache Superset – лидер опенсорсной аналитики. Структуру обзора сохраняем ту же, чтобы можно было сравнивать системы. 1️⃣Знакомство с системой Superset – это опенсорсная BI-платформа для исследования и визуализации данных. Изначально создан в Airbnb в 2015 году, в 2017 году попал в Apache Incubator, а с 2021-го имеет статус Top-Level Project среди продуктов Apache. Главный козырь – полная бесплатность. Apache позволяет использовать систему в любых целях, модифицировать и распространять без лицензионных отчислений. Это даёт системе мощные преимущества. В отличие от DataLens, у Superset нет облачной версии от вендора. Вы разворачиваете систему сами (Docker, Kubernetes и другие страшные слова) и сами полностью отвечаете за её работоспособность. Принципиально другой подход: максимум свободы – максимум ответственности. Сообщество вокруг Superset огромное: 74,9K+ звёзд на GitHub, более 1600+ контрибьюторов, 40+ встроенных визуализаций и поддержка 100+ источников данных (БД и то, что может быть "считано" как БД). 2️⃣Подготовка данных Superset, как и DataLens, не хранит данные у себя и не имеет встроенного ETL-модуля. Это фундаментальное архитектурное решение, которое определяет всё остальное. Что это значит для бизнеса: ❗️Когда пользователь открывает дашборд, Superset отправляет запрос напрямую в БД. Производительность дашборда напрямую зависит от производительности хранилища и самих запросов. Если база медленная или запрос тяжёлый – пользователь будет смотреть на индикатор загрузки. ❗️Superset не преобразует данные. Всё, что нужно для визуализации, должно быть либо уже в хранилище, либо собрано через SQL-запрос в SQL Lab. Работа напрямую с источниками, как правило, организуется дополнительными инструментами. ❗️Кэширование – ваше спасение. Superset поддерживает настраиваемый кэш результатов запросов. Это снижает нагрузку на хранилище и ускоряет загрузку повторяющихся элементов. 3️⃣Модель данных И здесь Superset отличается от DataLens. В DataLens таки формируется модель данных с явными связями. В Superset нет инструмента для настройки связей между таблицами в интерфейсе. Датасет – это просто таблица, представление или сохранённый SQL-запрос. Нужно соединить таблицы – пишем JOIN в SQL Lab и сохраняем результат как виртуальный датасет. 4️⃣Языки и расчёты Главный инструмент – SQL Lab: полноценный веб-редактор SQL с автодополнением, просмотром схемы таблиц, возможностью сохранять запросы и превращать их в датасеты. В датасете можно определить: 🔤Вычисляемые поля на SQL-выражениях 🔤Агрегатные метрики (SUM, COUNT, AVG и т.д.) 🔤Параметризованные запросы с переменными (Jinja) Что это значит для бизнеса: ❗️Порог входа выше, чем в DataLens (местами – сильно выше). Если аналитик не знает SQL – ему будет тяжело. Но для тех, кто знает – возможности практически безграничны. 5️⃣Визуализация Superset предлагает 40+ встроенных типов визуализаций. Плюсом можно подключать сторонние библиотеки типа ECharts и снова ни в чём себя не ограничивать. А можно свой виджет написать, для умельцев. Что это значит для бизнеса: ❗️Стандартный набор покрывает большинство задач. Если нужна специфическая визуализация с точными настройками – придётся либо смириться с ограничениями, либо звать разработчика. 6️⃣Ценообразование Здесь всё просто и сложно одновременно. Лицензия Apache 2.0 – 0 рублей 00 копеек. Никаких платежей, никаких ограничений по количеству пользователей. Реальные расходы вынесены за рамки: инфраструктура + трудозатраты + доработки. Что это значит для бизнеса: ❗️Superset бесплатен на бумаге, но может быть дорогим в реальности. Для команды с сильным инженерным бэкграундом и инфраструктурой – отличный выбор. Для компании без таких ресурсов – "думайте сами, решайте сами".