BI-система Yandex DataLens теперь развивается в опенсорс. Код продукта выложен для всех на GitHub. Любой желающий сможет развернуть DataLens на своем железе и доработать его под свои сценарии применения.
Yandex DataLens доступен в формате open source
Официальный блог компании Яндекс сообщил о публикации исходного кода DataLens. Можно развернуть DataLens в своей инфраструктуре, сделать коммит на GitHub или предложить новую фичу.
Исходный код и документация доступны на GitHub под лицензией Apache 2.0.
История развития DataLens началась в 2018-м году, когда сервис был разработан в качестве внутреннего инструмента в командах Яндекса. Драйвером разработки стала встроенная интеграция c BigData-системой YTsaurus и аналитической СУБД ClickHouse, используемых Яндексом в качестве основных источников для аналитики, при том, что другие BI с ними работать не умеют.
С 2019 года сервис DataLens стал доступен для всех в составе Yandex Cloud, и теперь его исходный код выложен в открытый доступ на GitHub.
Важно, что DataLens – это не первый опенсорс-продукт Яндекса для построения data-экосистемы. Уже выложены в открытый доступ исходные коды продуктов:
- YDB – база данных для операционной (OLTP) нагрузки
- YTsaurus – платформа для распределенных вычислений, способная хранить и обрабатывать большие данные для десятков тысяч пользователей одновременно.
- Clickhouse – столбцовая система управления базами данных (СУБД) для онлайн обработки аналитических запросов (OLAP).
- CHYT (ClickHouse over YTsaurus) – технология, которая позволяет поднять кластер из серверов ClickHouse на вычислительных узлах YTsaurus.
Появление в этом ряду DataLens даст компаниям возможность строить полноценные экосистемы для обработки данных на своем железе, не опасаясь зависимости от облачного вендора.
Возможности и устройство DataLens
DataLens – сервис для анализа и визуализации данных, BI-инструмент, с помощью которого можно подключиться к источнику, описать модель данных, создать визуализации, собрать дашборд и поделиться результатом с командой.
DataLens позиционируется как «умный» генератор запросов к разным источникам данных, с возможностью интерактивной визуализации. При этом DataLens не хранит информацию в себе, а работает с базами данных напрямую. В качестве источника можно использовать внешнюю базу – в другом облаке или подключенную по IP.
Одна из самых известных визуализаций, выполненная с помощью DataLens – статистика по COVID-19. Источник: cloud.yandex.ru
Чтобы запустить DataLens локально, достаточно поднять несколько контейнеров через docker compose:
git clone https://github.com/datalens-tech/datalens
cd datalens && HC=1 docker compose up
После этого на странице http://localhost:8080 будет развернута локальная версия DataLens с демо-примерами, в которой можно будет подключить свои источники и настроить дашборды.
DataLens состоит из трех основных частей:
-
Пользовательский интерфейс – SPA-приложение на Node.js. Предоставляет пользовательский интерфейс, передает запросы пользователей к серверным службам, а также применяет некоторую легкую постобработку данных для диаграмм.
-
Бэкенд – набор приложений и библиотек Python. Отвечает за подключение к источникам данных, формирование запросов к ним и постобработку данных (включая вычисления по формулам). Результатом этой работы является абстрактный набор данных, который можно использовать в пользовательском интерфейсе для запроса данных диаграмм.
-
UnitedStorage – служба Node.js, которая использует PostgreSQL для хранения метаданных и конфигурации всех объектов DataLens.
Первоначальная публикация исходников содержит ядро сервиса и набор основных коннекторов:
- для PostgreSQL;
- для ClickHouse;
- и для CHYT (ClickHouse over YTsaurus).
Со временем разработчики планируют дополнить недостающую функциональность и сформировать API для плагинов, открыв путь к созданию экосистемы опенсорс-расширений для DataLens.
Чем это может быть полезно в 1С
На Инфостарте можно найти готовые решения по интеграции базы 1С с DataLens. Например, с помощью «Экстрактора данных 1С в BI» можно на стороне 1С сформировать необходимые наборы данных, а потом настроить многопоточную выгрузку информации из 1С в Clickhouse и анализировать данные 1С в DataLens практически в реальном времени.
Кроме этого, получая данные из журнала регистрации в ClickHouse, можно настроить в дашбордах DataLens их анализ и мониторинг – статьи по выгрузке данных из ЖР в Clickhouse тоже есть у нас на сайте.
Т.е. большая доступность и открытость DataLens принесет пользу и аналитикам, и разработчикам, и, главное, бизнесу.