Albato → PostgreSQL → Yandex DataLens

Albato → PostgreSQL → Yandex DataLens

самодостаточная 🇷🇺-связка для SMB-аналитики (обновлено 19 июня 2025 г.)


1. Почему именно Albato → PostgreSQL → DataLens

Суверенный стек “на русском и без VPN”. Power BI Service с конца 2024-го официально не продаётся российским юрлицам, а старые аккаунты работают через спорадические VPN-“проныривания”. Yandex DataLens запустили в облаке Yandex Cloud и в on-prem варианте (DataLens Appliance) — всё на территории РФ, счета в рублях, договор ФЗ-152.

  • Albato — «русский Zapier» с готовыми сценариями для Bitrix24: 12 триггеров, OAuth-мастер и фильтры “if/else”.
  • Albato складывает события в PostgreSQL 16 — self-host или Yandex Managed PostgreSQL.
  • DataLens вытягивает таблицы через нативный PostgreSQL connector, строит визуальные модели, публикует дашборды в один клик.

Итого: нет платных зарубежных SaaS, нет блокировок, нет VPN.


2. Компоненты и роли

Компонент Роль Ответственный
Albato Cloud No-code ETL из Bitrix24 Ops-специалист
Bitrix24 CRM-источник событий CRM-админ
PostgreSQL 16 Хранилище (raw → marts) DBA
Yandex DataLens BI и дашборды BI-аналитик
(опция) Yandex DataProc + dbt SQL-трансформации, CI Analytics Eng.

3. Подготовка окружения

3.1 Что понадобится

Что Где взять
Аккаунт Albato albato.ru
Токен или OAuth Bitrix24 apidocs.bitrix24.com
PostgreSQL 16.3 postgresql.org
Yandex DataLens (Cloud) cloud.yandex.ru/docs/datalens
(опц.) docker-compose для PG см. ниже

3.2 Быстрый docker-compose для локального PG

version: "3.9"
services:
  postgres:
    image: postgres:16
    restart: always
    environment:
      POSTGRES_USER: albato
      POSTGRES_PASSWORD: albato_pwd
      POSTGRES_DB: datamart
    volumes:
      - ./pgdata:/var/lib/postgresql/data
    ports: ["5432:5432"]
docker compose up -d

Для прода лучше Managed PostgreSQL в Yandex Cloud: автоматические бэкапы, Point-in-Time Recovery, SLA 99.95 %.


4. Настройка потоков данных

4.1 Albato: «Сделка обновилась → запись в Postgres»

  1. Создать связку

    • Триггер: Bitrix24 → Сделка обновлена.
    • Действие: PostgreSQL → Добавить/обновить запись.
  2. Подключить Bitrix24 (OAuth или webhook).

  3. Подключить PostgreSQL

    • Host / Port / DB: postgres:5432/datamart
    • SSL ON, пользователь albato.
  4. Маппинг полей

  1. РежимUpsert by id (избегаем дублей).
  2. Старт — Albato создаст таблицу public.deal и начнёт стрим.

4.2 SQL-обёртка для DataLens

CREATE SCHEMA mart;

CREATE OR REPLACE VIEW mart.deal_clean AS
SELECT
  id::bigint         AS deal_id,
  title,
  stage_id,
  amount::numeric(14,2),
  manager_id::bigint,
  updated_at::timestamptz
FROM public.deal;

DataLens увидит mart.deal_clean как «набор данных».


5. Трансформации и моделирование

Зона Схема Содержимое
raw public Albato-сырьё
mart mart VIEW / MATVIEW с бизнес-логикой

5.1 Материализованный итог «pipeline по месяцам»

CREATE MATERIALIZED VIEW mart.pipeline_monthly AS
SELECT
  date_trunc('month', updated_at)::date AS month,
  stage_id,
  COUNT(*)                              AS deals_cnt,
  SUM(amount)                           AS pipeline
FROM mart.deal_clean
GROUP BY 1,2;

CREATE UNIQUE INDEX ON mart.pipeline_monthly(month, stage_id);

Обновление cron (REFRESH MATERIALIZED VIEW) каждые 2 ч.

(dbt lovers — заверните то же самое в dbt run).


6. Визуализация в DataLens

6.1 Подключаем PostgreSQL

  1. Data Sources → Создать

    • Тип — PostgreSQL.
    • Host / Port / DB / User.
    • SSL On, режим Read Only.
  2. Доступ: добавляем IAM-пользователей или сервис-аккаунты.

6.2 Модель → Датасет

  1. Create Dataset → выбираем mart.pipeline_monthly.
  2. Строим связь (если есть dim-таблицы).
  3. Calculated field ACV = pipeline / deals_cnt.

6.3 Дашборд

  • График «Area»month × pipeline, цвет = stage_id.
  • Таблица — ТОП-10 менеджеров (JOIN с таблицей managers).
  • Контрол (выбор месяца) — фильтр на уровне дашборда.
  • Public link — в меню «Share → Public» (если нужно embed на портал).

7. Мониторинг и автоматизация

Объект Инструмент Порог
Albato usage Albato Dashboard > 85 % плана
Latency Albato → PG Unix cron SELECT max(updated_at) > 30 мин
PG bloat pg_stat_user_tables > 20 %
MV refresh lag pg_matviews.last_refresh > 3 ч
DataLens API errors Cloud Monitoring > 0

8. Типичные ошибки и лайфхаки

Ошибка / вопрос Решение
Albato «нет таких столбцов» Создайте таблицу вручную с нужным типом, затем Action → Map fields точно по именам.
Дубликаты PK в Postgres Режим Albato Update if record exists, ключ id.
DataLens не видит новые VIEW В источнике нажмите «Обновить схему» или подождите 5 минут (автокэш).
Сложное RLS в DataLens Подключите таблицу пользователей, задайте фильтр «user_id = current_user()».
Тормоза при SUM(amount) Создайте в PG MATERIALIZED VIEW, дайте DataLens ссылку на неё.
Читай также:  Supabase (PostgreSQL + Edge Functions) → Power BI

9. Заключение

Albato → PostgreSQL → Yandex DataLens — быстрый способ получить CRM-аналитику целиком “на русском”:

👍 Плюсы 👎 Минусы
0 зарубежных подписок, все сервисы по ФЗ-152 Albato тарифицирует операции (массовая миграция — платно)
DataLens — браузер, шэр публичных линков Нет офлайн-файла, как .pbix
Один склад → одни KPI, без «считаем по-разному» Для сложной трансформации нужен SQL/dbt

Когда масштабировать?

  • 5 млн строк/день — ставим ClickHouse Cluster, DataLens умеет читать напрямую.

  • Realtime < 30 с — Kafka Connect + DataLens Streaming (бета).
  • CI/CD — dbt Core + Yandex Cloud Deploy → модели по pull-request.

Полезные ссылки

Теперь CRM-события летят в Postgres, DataLens рисует графики, директор смотрит дашборд по публичной ссылке, и ни один VPN не прерывает вам утренний раф.