Семь Open Source и два low-code-продукта для визуализации BI-аналитики от AFFINAGE

Для решение клиентских задач мы постоянно ищем способы сделать лучше. И очень часто сделать лучше значит сменить продукт. Поэтому мы постоянно анализируем рынок различных nocode-решений. Мы решили поделиться накопленными знаниями о такой важной задаче как построение аналитических дашбордов.

Open Source-инструменты

Расскажем об Apache Superset и Preset, Metabase, Redash, Tipboard, Grafana и Kibana.

Apache Superset

Работает на Python

Apache Superset входит в The Apache Software Foundation и считается одним из лучших Open Source проектом для построения дашбордов.

Плюсы

  • Огромный выбор баз данных для сводки данных (от классических до самых редких для российского рынка).

  • Большой выбор настроек, которые влияют на работу приложения.

  • Шаблонизация SQL-запросов с помощью Jinja и Python позволяет строить запросы любой сложности используя макросы.

  • Мультиязычность интерфейса.

  • Удобный SQL-редактор запросов, похожий на playground.

  • Устанавливается на собственные сервера компании

  • Большой выбор графиков. Работают на базе разработки другой Apache-компании.

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

  • Интеграция с основными механизмами аутентификации (база данных, OpenID, LDAP, OAuth).

  • Возможность делать скриншот каждого графика или дашборда в целом.

  • Возможность открывать embed-доступ к дашборду по публичной ссылке.

  • Удобная настройка фильтров и работа с ними.

  • Есть система уведомлений.

Минусы

  • Для развертывания приложения нужен опытный DevOps специалист, даже в случае установки через docker.

  • Необходимость установки программных пакетов для баз данных которые не поддерживаются из коробки (по умолчания доступны драйвера только для SQLite). Остальные пакеты находятся здесь. Есть вероятность, что установка необходимого драйвера отработает с первого раза :)

  • Тяжело вносить изменения в программный код и интерфейс приложения, необходимо перечитать тонну документации, и может быть вам повезет :)

  • Слабая кастомизация графиков, хотя Echarts достойный продукт и имеет возможность глубокой настройки графиков.

  • Нефункциональный экспорт данных, только самый минимум.

Preset

Работает в облаке на Python

Preset.io— дочерний продукт Apache Superset. По сути, это тот же самый Apache Superset, только в облаке. Если вы хотите ближе познакомиться с Superset, и нет времени заниматься DevOps-разворачиванием Superset, то бесплатный тариф preset.io — то что нужно, чтобы понять возможности продукта.

Плюсы

  • Огромный выбор баз данных для сводки данных, от классических до самых редких для российского рынка.

  • Шаблонизация SQL-запросов.

  • Мультиязычность интерфейса.

  • Удобный SQL-редактор запросов, похожий на playground.

  • Большой выбор графиков.

  • Мощная настройка прав на базе ролей.

  • Возможность делать скриншот каждого графика или дашборда в целом.

  • Есть система уведомлений.

Минусы

  • Невозможно вносить изменения в программный код и интерфейс приложения.

  • Слабая кастомизация графиков.

  • Нефункциональный экспорт данных, только самый минимум.

Metabase

Работает на Java

Metabase считается ближайшим конкурентом Superset по популярности. Позиционируется как удобный инструмент для аналитики любым сотрудником компании.

Плюсы

  • Большой выбор баз данных для сводки данных (от классических до самых редких для российского рынка).

  • Хорошая подборка цветовых схем, есть пастельные тона.

  • Простая установка на основе документации.

  • Удобный интерфейс для построения запросов (будет особенно актуально для людей, плохо знакомых с SQL), при этом для опытных пользователей есть возможность писать запросы руками.

  • Возможность встраивания embed-графиков на другие сайты.

  • Наличие автоматизированных отчетов.

  • Гибкая настройка прав пользователей.

  • Мультиязычность.

  • Автоматический создание дашбордов с помощью X-Ray.

Минусы

  • В облачной версии отсутствует бесплатный тариф.

  • Слабая кастомизация графиков.

  • Сложная работа с фильтрацией на дашборде.

  • Ограниченный выбор вариантов визуализации, но в то же время достаточный для большинства задач.

Redash

Работает на Python

Redash — приложение с открытым исходным кодом для SaaS, позволяющее использовать удобные источники данных, настраивать визуальные информационные панели и делиться результатами с сотрудниками. Через программу можно подключиться к любому удобному источнику данных. Она работает с большим количеством форматов, включая графические таблицы и динамические карты с бесконечным выбором — это помогает разработчикам выпускать лаконичное и полезное ПО.

Плюсы

  • Большой выбор баз данных и интеграций включая Яндекс.Метрику и ClickHouse.

  • Комфортная установка на собственные сервера.

  • Подходит для больших бордов с множеством показателей.

  • Юзер-френдли интерфейс с многочисленными фичами для визуализации.

  • Экономичность.

Минусы

  • Случаются баги: не всегда понятно, обновляется дашборд или нет.

  • Обновление запросов отнимает много времени.

  • Для использования платформы нужны некоторые технические знания.

  • Требуется много разрешений для базы данных.

  • Малый набор графиков, и их кастомизация минимальна

Если Redash станет вашим первым инструментом, то пользы вы получите больше, чем разочарований.

Tipboard

Работает на Python

Следующий пункт нашего списка — инструмент №1 в рейтинге slant.co как лучший фреймворк для Open Source-дашбордов. Tipboard написан на JavaScript и Python; его применяют для создания настраиваемых и лаконичных приборных панелей бизнес-метрик. Виджеты Tipboard отделены от источников данных, это делает панели гибкими и легко кастомизируемыми.

Плюсы

  • Настройка и создание дашбордов с помощью YAML (в минус точно не отнести, поэтому как плюс).

  • Создание нескольких дашбордов в одном рабочем пространстве.

  • Передача данных в формате JSON на панель с помощью API.

  • Удобно устанавливать (middle DevOps справится без проблем).

Минусы

  • Малый набор графиков.

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

  • Tipboard написан на Python 2.7 и не поддерживает Python 3.

Grafana

Работает на GoLang

Grafana может похвастаться одним из самых активных коммьюнити разработчиков с 900+ участниками и 30 тыс. звезд на Github. Кроме этого, Grafana — это мощный, богатый на фичи визуализатор данных и метрик на Go и Typescript.

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

Плюсы

  • Официальная библиотека с множеством шаблонов и плагинов.

  • Большое количество источников и баз данных. Самый большой набор среди других инструментов в обзоре.

  • Индивидуальная настройка рабочего стола для любой компании.

  • Встроенный пользовательский контроль и механизм аутентификации.

  • Разнообразие фич включает скриншоты, аннотации данных, кастомизированные оповещения и уведомления.

  • Можно бесплатно скачать или развернуть у себя (спасибо @Shershза дополнение)

‍Минусы

  • Grafana — это всего лишь инструмент визуализации. Он не поддерживает сбор и хранение данных.

  • Дашборд требует значительного времени на настройку, а значит, не эффективен как быстрое решение.

Хоть минусы и кажутся весомыми, есть вероятность, что ваша компания с ними не столкнется. Например, если вы уже используете Prometheus или Graphite, они возьмут на себя хранение и сбор данных. Также настройка Grafana станет проще, если вы используете хостинговый сервис вроде MetricFire. Так вы получите те же open-code дашборды, но с лучшей поддержкой и масштабируемостью по меньшей цене.

Kibana

Работает на node.js

Продукт от создателей ElasticSearch, исключительно под функции ElasticStack. Мало пригодный инструмент, но мы обязаны о нем упомянуть.

В ведущей мировой платформе управления журналами (в стеке ELK) за букву К отвечает Kibana. Это мощное open-code приложение для навигации и визуализации данных. С его помощью пользователи мониторят и управляют данными в ElasticStack — идеальный вариант для тех, кто хочет пользоваться Elasticsearch или стек ELK для дата-менеджмента.

Плюсы

  • Юзеры сами придумывают каким способом показывать данные и цифры; есть варианты шаблонов помимо дефолтных.

  • Позволяет пользователям исследовать взаимосвязи в данных.

  • В процессе не требуется дополнительное кодирование или инфраструктура, программа работает на веб-сервере Node.js.

  • Мощные функции обнаружения аномалий, позволяющие вовремя выявлять проблемы в данных.

  • Возможность обмена данными, включая экспорт в формате PDF и CSV.

  • Простой и эффективный в использовании единый пользовательский интерфейс.

Минусы

  • Функции экспортирования ограничены.

  • Так как программа работает с ElasticStack, его ограничения действуют и на Kibana.

Low-code-инструменты

В данных обзор мы решили включить продукты не из мира аналитики, но тем интереснее наблюдать эволюцию BI-инструментов. Рассказываем об Appsmith и Budibase.

Appsmith

Работает на Java

Appsmith—- low-code инструмент для автоматизации бизнес-процессов компании. Подходит для построения дашбордов, поэтому мы его рассмотрим как достойную альтернативам полноценного BI-анализа. Appsmith — это Open Source-продукт для self-hosted размещения. Позиционируется как единственный продукт для автоматизации всего и вся в компании.

Мое личное мнение что «так и есть», потому что в современном мире любые бизнес-процессы и работа с информацией завязана на базы данных (или может быть завязана в будущем). Подходит для создания внутренних продуктов компании таких как дашборды, административные панели, приложения для работы с базой данных и смеси перечисленных вариантов. То есть ваше приложение может иметь админку и дашборд одновременно (добавили данные с формы, построенной в Appsmith, и тут же увидели обновленный сводный график), круто. Можно сказать что Appsmith — это Webflow в мире BI-инструментов.

Плюсы

  • Конструктор страниц на базе готовых элементов.

  • Большой выбор элементов от inputs и textarea до datepicker, select и карточек.

  • Огромный выбор графиков для визуализации на базе библиотеки FusionCharts.

  • Наличие готовых шаблонов страниц — бери и работай. Такие шаблоны позволяют ещё быстрее запускать MVP.

  • Возможность подключить различные источники данных.

  • Помимо классических баз данных, можно подключить API-интерфейсы небольшого количества no-code продуктов, Google-таблицы, c URL и кастомные REST API.

  • Большие возможности для кастомизации элементов, в том числе графиков.

  • Возможность расширять и кастомизировать функционал с помощью JavaScript.

  • Хорошая документация и обучающие ролики на YouTube.

  • Возможность написать свою собственную авторизацию.

  • Гибкое управление ролями как в Google-документах и правами на конкретные операции с данными. Также возможно открыть приложение в открытом доступе с помощью публичной ссылки.

Минусы

  • Для развертывания приложения нужен опытный DevOps-специалист, даже в случае установки через docker.

  • Необходимо время для освоения продукта, приветствуется наличие навыков программирования.

  • Как и любой low-code инструмент, Appsmith тоже не всесилен и вносит свои ограничения, но ведь нам нужен дашборд, а не заказная разработка?

  • Нет табов, придется помучаться с виджетом Menu, либо делать разные дашборды.

Budibase

Работает на node.js

Конкурент Appsmith, но с меньшим набором графиков. Ещё один Webflow в мире BI-инструментов.

Budibase — это no-code/low-code платформа для разработчиков и управляющих, помогающая создавать надежные приложения. Также это конструктор дашбордов для серверов: в числе функций есть подключение к источникам данных, формам и таблицам, что упрощает работу в команде.

Идеальный вариант для быстро меняющейся, динамичной корпоративной среды, в которой требуются свежие решения. C его помощью вы можете подключиться к внешней базе данных (MongoDB, CouchDB PostgreSQL, MySQL, Airtable, Google Sheets, S3, DynamoDB, или API REST) или импортировать из нее данные.

Плюсы

  • Открытый исходный код с множеством возможностей использования.

  • Строгий контроль доступа.

  • Конструктор страниц на базе готовых элементов, которых больше чем в Appsmith 

  • Возможность подключить различные источники данных, в том числе через REST API. 

  • Возможность расширять и кастомизировать функционал с помощью JavaScript.

  • Возможность открыть приложение в открытом доступе с помощью публичной ссылки.

Минусы

  • Для развертывания приложения нужен опытный DevOps-специалист, даже в случае установки через docker.

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

  • Слабая документация. Мало обучающих уроков. Как в большинстве Open-Source платформах, основной источник помощи — это коммьюнити.

  • Ограниченный выбор графиков.

Итого

Для разных задач подходят разные инструменты, и они не обязательно должны быть платными. Наша команда проанализировала 20+ решений для создания дашбордов и выбрала лучшие 9, которые помогут покрыть большинство интересов разработчиков. Если вам нужно разработать дашборд или внедрить любой другой low-code-инструмент в свою компанию, обращайтесь к нам.

Комментарии (19)


  1. SLASH_CyberPunk
    27.10.2022 12:16

    А почему графана и кибана платные?


    1. dbax
      27.10.2022 12:58

      А мужики-то не знают...


    1. igor_yakovlev Автор
      27.10.2022 13:28

      косяк, это Open Source, правки в статью внесли


  1. Shersh
    27.10.2022 12:25

    Grafana

    ‍Минусы

    • Бесплатная версия только в облаке.

    Неправда - https://grafana.com/get/?plcmt=top-nav&cta=downloads&tab=self-managed

    Можно бесплатно скачать или развернуть у себя например в докере и пользоваться.


    1. igor_yakovlev Автор
      27.10.2022 13:07
      +1

      Спасибо за важный комментарий! Дополнил статью.


  1. economist75
    27.10.2022 13:25
    +1

    Не хватает упоминания Streamlit и Dash, многообещающей и уже развитой платформы с хорошей поддержкой.


    1. igor_yakovlev Автор
      27.10.2022 13:29

      Спасибо за дополнение! Как-нибудь расскажем о них тоже


  1. ivankudryavtsev
    27.10.2022 13:27

    А где Tableau? Среди платных - самая крутая.


    1. igor_yakovlev Автор
      27.10.2022 13:30
      +1

      Фокус статьи хотели сделать на low-code, поэтому не попало в обзор


      1. ivankudryavtsev
        27.10.2022 14:16

        ok, спасибо.


  1. vfreeeman
    27.10.2022 14:28

    у DevExpress есть неплохой дашборд


    1. igor_yakovlev Автор
      27.10.2022 14:28

      А можно подробнее? Речь идет о заказной разработке?


      1. vfreeeman
        27.10.2022 15:12

        не понятен вопрос. относительно кого "заказная разработка"?


        1. igor_yakovlev Автор
          27.10.2022 17:01

          На сколько мне известно DevExpress - набор готовых UI-элементов, и нужно подключать программистов чтобы из разных элементов собрать единый интерфейс. Это так?


          1. vfreeeman
            27.10.2022 17:56

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

            https://www.devexpress.com/Support/Demos/#dashboard


            1. igor_yakovlev Автор
              27.10.2022 18:08

              Круто, именно ссылку хотел. Все таки он платный? https://www.devexpress.com/products/net/dashboard/


  1. OlegUV
    27.10.2022 15:50

    Добавил бы в список Shiny, https://shiny.rstudio.com


    1. igor_yakovlev Автор
      27.10.2022 17:04

      Спасибо за дополнение! Как-нибудь расскажем о Shiny тоже


  1. ElenaVolchenko
    28.10.2022 19:45

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

    Подскажите, это я чего-то не знаю или это общая проблема?