dele

Платформы данных

Схема архитектуры платформы данных

«Общая архитектура» показывает стек данных целиком: источники, загрузку, хранение, запросы и BI. Фазы идут колонками под шевронной лентой, которая служит легендой, а единственный акцент — хранилище, через которое проходит всё остальное.

Платформа данных: от источников до дашбордовСквозной стек данных в Kubernetes: четыре внешних источника, загрузка в NiFi, объектное хранилище MinIO как центр, Trino, ноутбуки и Superset; Airflow оркестрирует, Keycloak и мониторинг покрывают всё.ИСТОЧНИКИЗАГРУЗКАХРАНЕНИЕОБРАБОТКАВИЗУАЛИЗАЦИЯИСТОЧНИКИKubernetesОркестрация / автоматизация(Apache Airflow)EXTPostgreSQLCDC · SQL · APIEXTSFTP-выгрузкипакеты · приёмкаEXTВеб-формыанкеты · админкаEXTLegacy-системасделки · мейнфреймCOLLApache NiFiсбор · маршрутизацияVIRTTrinoSQL · виртуализацияSTOREMinIO / S3объекты · S3-APIANLZНоутбукиJupyter · Python · RDASHSupersetдашборды · отчётыУправление доступом(Keycloak · LDAP · OIDC)Мониторинг и наблюдаемость(Prometheus · Grafana · Loki)ОРКЕСТРАЦИЯБЕЗОПАСНОСТЬНАБЛЮДАЕМОСТЬЛЕГЕНДАВнешний источникГраница KubernetesЦентр (акцент)Основной путьЗапуск оркестраторомЧтение / запись назад
Шаблон «Платформа данных: от источников до дашбордов» — общая архитектура в Dele

Когда использовать

  • Обзор целевой платформы данных в предложении по модернизации
  • Онбординг аналитиков и инженеров данных
  • Архитектурный раздел тендерной или проектной документации
  • Обсуждение выбора инструментов на каждой фазе: загрузка, хранение, запросы

Как с ней работать в Dele

  • Фаз (phases) — 2–6, упорядоченными колонками. Узел встаёт по центру своей фазы; columns (1–3) расширяет фазу.
  • Раскладка (layout): cluster — первая фаза становится пунктирной зоной внешних источников (до 4), остальное внутри платформы с подписью вроде «Kubernetes»; zones — по рамке на фазу, для открытого озера данных.
  • Узлов — до 12, не больше 4 на фазу. У каждого подпись, моноширинный подстрочник и бейдж роли (STORE, COLL, EXT).
  • Связи: до 3 исходящих на узел, кроме хаба; подписывайте только ключевые («SQL»), query рисует обратное чтение пунктиром.
  • Можно добавить одну полосу оркестрации (Airflow) и до 3 сквозных строк: идентификация, мониторинг, бэкап.
  • Акцент ровно один — хаб хранения (MinIO, S3), никогда не внешний источник.

Три способа собрать диаграмму

Словами. Откройте ИИ-ассистента в редакторе или подключите своего агента по MCP и опишите задачу, например:

«Нарисуй общую архитектуру платформы данных: 1С и CRM как источники, загрузка через NiFi, хранилище MinIO, запросы Trino, дашборды в Superset, оркестрация Airflow.»

В редакторе. Создайте диаграмму из шаблона «Общая архитектура», меняйте элементы на холсте и в панели справа — раскладка пересчитывается сама.

Кодом. Диаграмма — это JSON-спецификация. Её можно править в панели «Спецификация», генерировать скриптом и хранить в git.

Спецификация примера (JSON)
{
  "type": "high-level",
  "title": "Платформа данных: от источников до дашбордов",
  "description": "Сквозной стек данных в Kubernetes: четыре внешних источника, загрузка в NiFi, объектное хранилище MinIO как центр, Trino, ноутбуки и Superset; Airflow оркестрирует, Keycloak и мониторинг покрывают всё.",
  "layout": "cluster",
  "clusterLabel": "Kubernetes",
  "phases": [
    {
      "id": "src",
      "label": "Источники",
      "columns": 1
    },
    {
      "id": "ing",
      "label": "Загрузка",
      "columns": 1
    },
    {
      "id": "sto",
      "label": "Хранение",
      "columns": 1
    },
    {
      "id": "trn",
      "label": "Обработка",
      "columns": 1
    },
    {
      "id": "viz",
      "label": "Визуализация",
      "columns": 1
    }
  ],
  "nodes": [
    {
      "id": "pg",
      "label": "PostgreSQL",
      "sublabel": "CDC · SQL · API",
      "role": "EXT",
      "phase": "src"
    },
    {
      "id": "sftp",
      "label": "SFTP-выгрузки",
      "sublabel": "пакеты · приёмка",
      "role": "EXT",
      "phase": "src"
    },
    {
      "id": "web",
      "label": "Веб-формы",
      "sublabel": "анкеты · админка",
      "role": "EXT",
      "phase": "src"
    },
    {
      "id": "legacy",
      "label": "Legacy-система",
      "sublabel": "сделки · мейнфрейм",
      "role": "EXT",
      "phase": "src"
    },
    {
      "id": "nifi",
      "label": "Apache NiFi",
      "sublabel": "сбор · маршрутизация",
      "role": "COLL",
      "phase": "ing"
    },
    {
      "id": "trino",
      "label": "Trino",
      "sublabel": "SQL · виртуализация",
      "role": "VIRT",
      "phase": "sto"
    },
    {
      "id": "minio",
      "label": "MinIO / S3",
      "sublabel": "объекты · S3-API",
      "role": "STORE",
      "phase": "sto",
      "focal": true
    },
    {
      "id": "nb",
      "label": "Ноутбуки",
      "sublabel": "Jupyter · Python · R",
      "role": "ANLZ",
      "phase": "trn"
    },
    {
      "id": "superset",
      "label": "Superset",
      "sublabel": "дашборды · отчёты",
      "role": "DASH",
      "phase": "viz"
    }
  ],
  "links": [
    {
      "from": "pg",
      "to": "nifi",
      "style": "auto"
    },
    {
      "from": "sftp",
      "to": "nifi",
      "style": "auto"
    },
    {
      "from": "web",
      "to": "nifi",
      "style": "auto"
    },
    {
      "from": "legacy",
      "to": "nifi",
      "style": "auto"
    },
    {
      "from": "nifi",
      "to": "trino",
      "style": "auto"
    },
    {
      "from": "nifi",
      "to": "minio",
      "style": "auto"
    },
    {
      "from": "trino",
      "to": "minio",
      "style": "query"
    },
    {
      "from": "minio",
      "to": "nb",
      "style": "auto"
    },
    {
      "from": "nb",
      "to": "superset",
      "style": "auto"
    }
  ],
  "bars": [
    {
      "label": "Оркестрация / автоматизация",
      "sublabel": "Apache Airflow",
      "concern": "Оркестрация",
      "targets": [
        "nifi",
        "trino",
        "nb"
      ]
    }
  ],
  "crosscuts": [
    {
      "label": "Управление доступом",
      "sublabel": "Keycloak · LDAP · OIDC",
      "concern": "Безопасность"
    },
    {
      "label": "Мониторинг и наблюдаемость",
      "sublabel": "Prometheus · Grafana · Loki",
      "concern": "Наблюдаемость"
    }
  ]
}

Когда выбрать другой формат

Вопросы о формате

Сколько компонентов помещается на схему?

До 12 узлов и не больше 4 в одной фазе, фаз — от 2 до 6. Больше — разбейте по плоскостям или фазам.

Как показать текущее состояние рядом с целевым?

Отдельной диаграммой «Текущее состояние ИТ». Две картины на одной схеме смешивают проблему и решение.

Все форматы →

Ландшафт «как есть»: системы, ручные передачи, узкие места

Уровни хранения данных: от сырых до витрин и архива

Кто что делает с данными на каждом шаге конвейера