dele

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

Медальонная архитектура: схема онлайн

«Медальон» показывает, как один набор данных проходит уровни качества и доступа: сырые, обезличенные, промежуточные, агрегированные, архив. Для каждого уровня видно бакет, формат, инструмент, кто пишет и пример данных, а акцент стоит на уровне, который читают потребители.

Пять уровней хранения аналитики магазинаПять уровней хранения данных интернет-магазина — сырые, обезличенные, подготовленные, агрегированные и архив — с инструментами, форматами и переходами между ними.МАСКА IDОЧИСТКААГРЕГАЦИЯХРАНЕНИЕСырыеraw-commerceИнструментNiFi · загрузкаФорматJSON · ParquetКто пишетИнженер данныхПРИМЕР МАГАЗИНАсобытия кликстримазаписи заказовОбезличенныеanon-commerceИнструментTrino SQLФорматIceberg · партицииКто пишетИнженер данныхПРИМЕР МАГАЗИНАпсевдонимы сессийскрытые ID клиентовПодготовкаstaging-commerceИнструментTrino · ноутбукиФорматIceberg · очищеноКто пишетАналитик данныхПРИМЕР МАГАЗИНАфакты заказовпроверенные событияАгрегатыanalytics-martsИнструментTrino INSERTФорматIceberg · метрикиКто пишетАналитик данныхПРИМЕР МАГАЗИНАконверсия по днямвыручка по каналамАрхивarchive-commerceИнструментЖизненный цикл S3Форматхолодный · неизменяемыйКто пишетИнженер данныхПРИМЕР МАГАЗИНАкликстрим за годызакрытые снимки заказовSQLTrino INSERT INTO … SELECTфильтр · join · агрегаты — повторяемые преобразованияНОУТБУКPython-ноутбуки над объектным хранилищемисследование · проверка · моделиЛЕГЕНДАУровень для потребителейХолодный архивПереход между уровнямиЖизненный цикл
Шаблон «Пять уровней хранения аналитики магазина» — медальон в Dele

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

  • Описать bronze/silver/gold-слои озера данных для команды
  • Показать, на каком шаге обезличиваются персональные данные
  • Согласовать с аналитиками, какой уровень считать витриной
  • Задокументировать правила хранения и переноса в архив

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

  • Уровней (tiers) — 3–6, слева направо в порядке продвижения. У каждого: название, бакет, инструмент, формат, кто пишет и 1–2 конкретных примера данных.
  • Стиль: outer — для сырого входного уровня, cold — только для последнего, архивного.
  • Подпись продвижения (promotion) — заглавными до 14 символов: MASK IDS, AGGREGATE. lifecycle: true рисует пунктиром перенос по сроку хранения, а не преобразование.
  • Продвижение идёт только слева направо, обратных потоков нет.
  • Акцент ровно один — аналитический уровень, который запрашивают потребители, обычно агрегированный. Не архив.
  • До двух карточек способов записи (paths): путь через SQL, через ноутбук.

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

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

«Нарисуй медальонную схему для данных опроса покупателей: сырые ответы, обезличенные, промежуточные, агрегаты по магазинам, архив. Хранилище MinIO, запросы Trino.»

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

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

Спецификация примера (JSON)
{
  "type": "medallion",
  "title": "Пять уровней хранения аналитики магазина",
  "description": "Пять уровней хранения данных интернет-магазина — сырые, обезличенные, подготовленные, агрегированные и архив — с инструментами, форматами и переходами между ними.",
  "exampleLabel": "Пример магазина",
  "tiers": [
    {
      "label": "Сырые",
      "bucket": "raw-commerce",
      "style": "outer",
      "tool": "NiFi · загрузка",
      "format": "JSON · Parquet",
      "writer": "Инженер данных",
      "examples": [
        "события кликстрима",
        "записи заказов"
      ]
    },
    {
      "label": "Обезличенные",
      "bucket": "anon-commerce",
      "style": "default",
      "tool": "Trino SQL",
      "format": "Iceberg · партиции",
      "writer": "Инженер данных",
      "examples": [
        "псевдонимы сессий",
        "скрытые ID клиентов"
      ],
      "promotion": "МАСКА ID"
    },
    {
      "label": "Подготовка",
      "bucket": "staging-commerce",
      "style": "default",
      "tool": "Trino · ноутбуки",
      "format": "Iceberg · очищено",
      "writer": "Аналитик данных",
      "examples": [
        "факты заказов",
        "проверенные события"
      ],
      "promotion": "ОЧИСТКА"
    },
    {
      "label": "Агрегаты",
      "bucket": "analytics-marts",
      "style": "default",
      "tool": "Trino INSERT",
      "format": "Iceberg · метрики",
      "writer": "Аналитик данных",
      "examples": [
        "конверсия по дням",
        "выручка по каналам"
      ],
      "promotion": "АГРЕГАЦИЯ",
      "focal": true
    },
    {
      "label": "Архив",
      "bucket": "archive-commerce",
      "style": "cold",
      "tool": "Жизненный цикл S3",
      "format": "холодный · неизменяемый",
      "writer": "Инженер данных",
      "examples": [
        "кликстрим за годы",
        "закрытые снимки заказов"
      ],
      "promotion": "ХРАНЕНИЕ",
      "lifecycle": true
    }
  ],
  "paths": [
    {
      "tag": "SQL",
      "title": "Trino INSERT INTO … SELECT",
      "sublabel": "фильтр · join · агрегаты — повторяемые преобразования"
    },
    {
      "tag": "НОУТБУК",
      "title": "Python-ноутбуки над объектным хранилищем",
      "sublabel": "исследование · проверка · модели"
    }
  ]
}

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

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

Обязательно ли называть уровни bronze, silver, gold?

Нет. Назовите уровни так, как принято у вас: сырые, обезличенные, агрегированные. Уровней может быть от 3 до 6.

Как показать перенос в архив?

Последний уровень получает стиль cold, а переход к нему — lifecycle: true, он рисуется пунктиром.

Все форматы →

Стек данных от источников до витрин по фазам

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

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