Русский
Открыть в Telegram

Пост 🆕 Полностью БЕССЕРВЕРНЫЕ Аналитические Приложения на dlt, DuckDB, dbt, Observable (Streamlit)

27 мая 2025
A
🆕 Полностью БЕССЕРВЕРНЫЕ Аналитические Приложения на dlt, DuckDB, dbt, Observable (Streamlit) Или как собрать аналитическое приложение за $2 в месяц. Изучая стек dlt + DuckDB + dbt + Observable (Streamlit), я наткнулся на интересную архитектуру. Оказывается, можно создать функциональное, но в то же время легковесное аналитическое приложение, которое работает почти без серверов. 🟡 Конкретная схема: GitHub Actions (CI) → dlt загружает данные → dbt трансформирует → DuckDB файл → S3/Object storage → Observable/Streamlit читает DuckDB-WASM в браузере 🔵 Реальные цифры: — Object storage / S3: $0.015 за GB хранения — GitHub Actions: 2000 минут бесплатно — Observable: бесплатно — Итого: ~$2/месяц для приложения с 10GB данных 🟢 Что получается: ✅ Дашборд грузится за 200ms (всё в браузере) ✅ Работает офлайн после первой загрузки ✅ Выдерживает любые нагрузки (статика!) ✅ Автообновление через GitHub Actions 🔴 Ограничения (честно): ❌ Размер данных ограничен памятью браузера (~2-4GB), но вряд ли нам вообще понадобится больше (ведь хранить мы будем агрегированные витрины) ❌ Сложные real-time обновления проблематичны ❌ Нет серверной логики для сложной авторизации ❌ Ограниченная интерактивность и self-service (для этого нужны BI типа Superset) 🟤 Где это работает лучше всего: — B2B SaaS аналитика для клиентов / Сквозная аналитика / Sales, Markeplace metrics, etc. — Встраиваемая (Embedded) в web / mobile apps аналитика — Демонстрационные стенды (showcasing) — Публичная аналитика (типа COVID дашбордов) — Дашборды для внутреннего контура компании (до 1000 сотрудников) — Персональные и pet-проекты с историческими данными ✅ Такой подход особенно хорош для стартапов и небольших команд - вместо настройки сервисов, Kubernetes кластеров, организации потоков данных можно получать результат за один коммит в моно-репо в GitHub. ⬇ Конкретный пример использования: — Собираем данные Я.Метрика, Я.Директ, AmoCRM (Bitrix) с помощью dlt в DuckDB — Варим эти данные, чистим, нормализуем, объединяем, считаем витрины (dbt + DuckDB) — Создаем интерактивное приложение на основе Observable с DuckDB-WASM под капотом (т.е. бразуер = сервер, который процессит витрину в DuckDB) — В приложении видим динамику ключевых метрик Marketing, Sales разрезах: даты, каналы, георгафия, воронки, sales-менеджеры — Приложение = статический вебсайт, который размещается на любом хостинге (Object storage / S3) и не требует сервера 💬 У кого какие мнения на этот счет? Где еще можно (нужно) применить такой подход? Кто пробовал похожие решения? 🌐 @data_apps | Навигация по каналу
76 · 3.2K ·

Рядом в ленте

AArtemiy Kozyr▶ СЛАЙДЫ dbt как де-факто стандарт создания Хранилищ Данных Привет, По следам доклада на ОФФЛАЙН митапе в Сочи: 📊 Смотреть слайды: https://drive.google.com/fileAArtemiy Kozyr🪙 Почему люди ищут новую работу и проекты? Привет! Рассуждаю вслух и делаю выводы из своего опыта: 🟡 Востребованность результатов — Делать что-то и видеть, как
это сообщение
AArtemiy Kozyr🆕 Что насчет StarRocks? Салют! 19 июня в 19:00 МСК будем слушать 2 шикарных доклада и беседовать с практиками: — Как мы нашли замену vertica, clickhouse и hadooAArtemiy Kozyr💬 Вам пришло сообщение с приглашением на митап 26 июня приглашаем вас в наш уютный IT-офис. Будем общаться, играть в плойку и слушать доклады. 🔘Как сделать прив

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Границы индекса · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем