Как собрать работающий дашборд быстрее чем заварится кофе

31 Jul, 2026
2,778
🔱 188
👥 12

Знакомая история: прилетает задача «посмотреть на данные». Вы открываете ноутбук, начинаете мучительно вспоминать синтаксис Pandas или писать длиннющие SQL-запросы в консоли СУБД. Потом оказывается, что данные надо еще как-то визуализировать, чтобы показать коллегам. И вот вы уже погрязли в настройке Superset или попытках подружиться с Grafana.

Rill logo

Rill — это проект, который пытается сократить путь от сырых файлов в S3 до интерактивного дашборда до пары минут. По сути, это BI-инструмент, работающий по принципу «as code». Все настройки хранятся в YAML и SQL, а под капотом крутятся очень быстрые OLAP-движки вроде DuckDB или ClickHouse.

Почему это не очередной конструктор графиков

Главная фишка Rill в том, что он ориентирован не только на людей, но и на AI-агентов. Звучит как маркетинговый шум, но на деле это работает просто: раз весь ваш проект — это набор текстовых файлов, вы можете скормить их Claude или ChatGPT через протокол MCP (Model Context Protocol). Нейронка понимает структуру ваших данных и может сама дописывать метрики или создавать новые вьюхи.

Rill dashboard

Что внутри и как это использовать

Инструмент состоит из локальной среды разработки и облака для деплоя. Рабочий процесс выглядит примерно так:

  1. Мгновенный старт. Вы ставите утилиту одной командой curl https://rill.sh | sh и запускаете проект.
  2. Коннекторы. Rill умеет цепляться к S3, GCS, локальным CSV или нормальным базам данных.
  3. Моделирование. Вы пишете обычный SQL, чтобы трансформировать данные. Rill сразу показывает профиль данных: распределение значений в колонках, средние, минимумы и максимумы. Это дико удобно, когда не понимаешь, что вообще лежит в огромном Parquet-файле.
  4. Слой метрик. Вместо того чтобы каждый раз в дашборде писать SUM(revenue), вы описываете это один раз в YAML-файле.

Пример того, как выглядит описание модели:

type: model
connector: duckdb
materialize: true

sql: |
  select * from read_parquet('gs://rilldata-public/auction_data.parquet')

И определение метрик:

version: 1
type: metrics_view
model: events
timeseries: timestamp

dimensions:
  - name: country
    column: country

measures:
  - name: revenue
    expression: sum(price * quantity)
    description: Общая выручка

Скорость работы

Если данных немного, Rill использует DuckDB. Это встраиваемая аналитическая база данных, которая работает невероятно быстро на обычном ноутбуке. Если же у вас миллиарды строк, можно подключить нормальный ClickHouse. В обоих случаях интерфейс не тормозит: фильтры применяются мгновенно, графики перестраиваются без видимых задержек.

Меня зацепило, что в проекте есть поддержка инкрементальной загрузки. Если вы тянете данные из внешнего хранилища, Rill не будет каждый раз перезаливать всё целиком, а доберет только свежие кусочки. Для тяжелых датасетов это спасение.

Кому это пригодится

Я вижу несколько сценариев, где Rill выигрывает у тяжеловесных решений:

  • Быстрое прототипирование. Нужно за полчаса показать бизнесу, что в данных есть смысл.
  • Встраиваемая аналитика. Если в вашем SaaS-продукте нужен раздел со статистикой для клиентов, Rill позволяет выкатить его через API или готовые компоненты мониторинга.
  • Аналитика «для себя». Когда лень настраивать сложные стенды, но хочется иметь красивый UI над локальными логами или выгрузками.

Конечно, это не замена полноценному Enterprise BI со сложными правами доступа на уровне каждой ячейки (хотя базовые Row Access Policies тут есть). Но для разработчиков, которые любят формат «написал код — получил результат», это отличная альтернатива.

Если есть желание пощупать живьем, у ребят в репозитории лежат готовые примеры с данными GitHub-аналитики и мониторингом затрат на облачную инфраструктуру. Можно просто склонировать и запустить rill start, чтобы понять, подходит вам такой формат или нет.

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.