Платформы данных
Схема архитектуры платформы данных
«Общая архитектура» показывает стек данных целиком: источники, загрузку, хранение, запросы и BI. Фазы идут колонками под шевронной лентой, которая служит легендой, а единственный акцент — хранилище, через которое проходит всё остальное.
Когда использовать
- Обзор целевой платформы данных в предложении по модернизации
- Онбординг аналитиков и инженеров данных
- Архитектурный раздел тендерной или проектной документации
- Обсуждение выбора инструментов на каждой фазе: загрузка, хранение, запросы
Как с ней работать в 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. Больше — разбейте по плоскостям или фазам.
Как показать текущее состояние рядом с целевым?
Отдельной диаграммой «Текущее состояние ИТ». Две картины на одной схеме смешивают проблему и решение.