doc/IT/DWH/layer1.md
2026-06-17 17:32:58 +03:00

19 KiB
Raw Blame History

ai1

1

Разберу вопрос по частям: сначала — полная структура DWH с предшествующими слоями, затем — как назвать слой с отчётами и дашбордами.

Полная архитектура DWH: слои и их состав

Предшествующие презентационному слою

  1. Staging Layer (промежуточный слой)

    • Назначение: временное хранение данных сразу после извлечения из источников.
    • Состав: копии исходных данных без изменений, логи загрузки, контрольные суммы.
    • Срок хранения: от нескольких часов до нескольких дней.
  2. Raw Data Layer / ODS (Operational Data Store)

    • Назначение: первичная консолидация данных в неизменном виде.
    • Состав:
      • сырые данные из CRM, ERP, API, логов и т. д.;
      • файлы форматов JSON, XML, CSV, XLSX;
      • записи с ошибками и дубликатами (сохраняются для аудита);
      • временные метки загрузки.
  3. Core Layer / Integration Layer (ядро хранилища)

    • Назначение: очистка, нормализация и интеграция данных.
    • Состав:
      • очищенные и дедуплицированные записи;
      • унифицированные справочники (клиенты, продукты, регионы);
      • нормализованные таблицы в 3NF или Data Vault;
      • суррогатные ключи;
      • механизмы SCD (Slowly Changing Dimensions) для отслеживания изменений;
      • единая структура данных с историей изменений.
  4. Data Marts Layer (слой витрин данных)

    • Назначение: подготовка данных под конкретные бизнес‑задачи.
    • Состав:
      • тематические витрины (продажи, финансы, маркетинг, логистика);
      • схемы «звезда» (Star Schema) и «снежинка» (Snowflake Schema);
      • денормализованные таблицы для быстрого доступа;
      • агрегированные показатели (месячные продажи, средний чек и т. п.).

Презентационный слой (Presentation / Business Intelligence Layer)

Назначение: предоставление данных конечным пользователям в удобной для анализа форме.

Полный состав:

  1. Витрины данных (Data Marts)

    • специализированные подмножества данных для отделов или функций;
    • оптимизированы для конкретных запросов (например, sales_mart, finance_mart).
  2. Схемы «звезда» и «снежинка»

    • Звезда: центральная таблица фактов (Fact Table) + таблицы измерений (Dimension Tables);
    • Снежинка: нормализованные таблицы измерений для уменьшения избыточности.
  3. Материализованные представления (Materialized Views)

    • кэшированные результаты сложных запросов;
    • ускоряют генерацию отчётов за счёт предварительного расчёта.
  4. OLAPкубы (Online Analytical Processing Cubes)

    • многомерные структуры для интерактивного анализа;
    • поддерживают операции: drilldown, rollup, slice, dice;
    • примеры инструментов: Microsoft Analysis Services, IBM Cognos.
  5. Обогащённые таблицы и агрегаты

    • таблицы с предварительно рассчитанными KPI (выручка, маржинальность, retention);
    • денормализованные структуры для минимизации JOINов.
  6. Семантический слой (Semantic Layer)

    • бизнес‑глоссарий с определениями метрик;
    • правила расчёта KPI;
    • маппинг бизнес‑терминов на технические поля базы данных.
  7. Метаданные и каталоги данных

    • описания источников, трансформаций, зависимостей;
    • lineage данных (от источника до витрины);
    • права доступа и политики безопасности.
  8. Интерфейсы доступа

    • SQLэндпоинты для запросов;
    • REST/SOAP API для интеграции с BIсистемами;
    • подключения к OLAPсерверам.

Как назвать слой с отчётами и дашбордами?

Этот слой не является частью DWH в классическом понимании. Он располагается поверх презентационного слоя и имеет несколько вариантов названий:

  1. BI Layer (Business Intelligence Layer) — наиболее распространённый термин.

    • включает дашборды, отчёты, интерактивные визуализации;
    • инструменты: PowerBI, Tableau, Qlik, Looker.
  2. Analytics Layer (аналитический слой) — если акцент на продвинутой аналитике.

    • содержит не только отчёты, но и модели машинного обучения, прогнозные дашборды.
  3. Consumption Layer (слой потребления данных) — универсальный вариант.

    • охватывает все формы потребления данных: отчёты, API, экспорт в Excel, оповещения.
  4. Reporting Layer (слой отчётности) — если фокус строго на статических отчётах.

    • подходит для сред с регламентированной отчётностью (финансы, госрегулируемые отрасли).
  5. Presentation & Visualization Layer — подчёркивает визуализацию.

    • акцентирует внимание на дашбордах и интерактивных графиках.

Итоговая схема архитектуры

Источники данных
     ↓
Staging Layer
     ↓
Raw Data Layer / ODS
     ↓
Core Layer (интеграция и очистка)
     ↓
Data Marts Layer (витрины)
     ↓
Presentation Layer (агрегаты, кубы, семантика)
     ↓
BI Layer / Consumption Layer (отчёты, дашборды в PowerBI/Tableau)

Ключевой вывод: отчёты и дашборды находятся в BI Layer (или Consumption Layer), который подключается к презентационному слою DWH, но не входит в его состав.

2 Data Marts & Presentation Layer

В разговорах об архитектуре DWH действительно часто говорят, что Data Marts входят в состав презентационного слоя. Я бы сказала так: это не жёсткое правило, а распространённая практика, и тут есть важный нюанс, который часто упускают.

Суть в том, что термин «презентационный слой» (Presentation Layer) иногда используют как обобщающее понятие для всего, что находится ближе к конечному пользователю. А Data Marts в этой логике — один из ключевых инструментов внутри него. То есть презентационный слой не обязательно состоит только из витрин: туда же могут входить семантические слои (semantic layer), материализованные представления, OLAP-кубы, а также сами инструменты визуализации (Power BI, Tableau, Qlik), через которые бизнес-пользователи строят отчёты и дашборды. 1710

Почему так? Задача этого уровня — преобразовать тщательно подготовленную аналитическую модель (которая живёт в ядре DWH) в формат, удобный для потребления. Витрины данных как раз решают эту задачу: они создают тематические, часто денормализованные срезы (например, «продажи», «финансы», «маркетинг»), оптимизированные под конкретные задачи отдела. Это сокращает путь от сырых данных к отчёту и ускоряет работу аналитиков. 312

Но есть и другой взгляд. В некоторых архитектурных моделях (например, в Layered Scalable Architecture — LSA) слой витрин (Data Marts Layer) выделяют как отдельный, самостоятельный уровень — между ядром хранилища и собственно инструментами отчётности. То есть в такой схеме цепочка выглядит так: источники → staging → ODS → ядро (Core) → Data Marts → инструменты визуализации. Здесь презентационный слой в узком смысле — это уже сами BI-инструменты и дашборды, а Data Marts служат промежуточным «буфером». 8

Итог: когда говорят, что Data Marts входят в презентационный слой, имеют в виду широкую трактовку термина — всё, что непосредственно обслуживает конечного пользователя. А если речь о детальной архитектурной схеме с чётким разделением этапов, витрины могут быть выделены в отдельный слой перед финальным потреблением. 18

Поэтому, когда обсуждаете архитектуру с коллегами, полезно сразу уточнить: говорят ли они о широком «слое потребления» (куда входят и витрины, и BI) или о строгой последовательности этапов обработки. 18

3

Разберу вопрос подробно — сначала про состав презентационного слоя в DWH (Data Warehouse), затем про отчёты.

Состав презентационного слоя (Presentation Layer / Business Intelligence Layer) в DWH

Презентационный слой — финальный уровень хранилища данных, ориентированный на конечного пользователя (аналитиков, менеджеров, бизнес‑пользователей). Его задача — предоставить данные в удобной для анализа и отчётности форме.

Основные компоненты слоя:

  1. Витрины данных (Data Marts)

    • Специализированные подмножества данных из корпоративного хранилища, сфокусированные на конкретной бизнес‑области (продажи, финансы, маркетинг и т. д.).
    • Часто организованы по схеме «звезда» (Star Schema) или «снежинка» (Snowflake Schema).
    • Упрощают доступ к данным для целевых групп пользователей.
  2. Схемы «звезда» и «снежинка»

    • Звезда: центральная таблица фактов (Fact Table) связана с таблицами измерений (Dimension Tables).
    • Снежинка: таблицы измерений нормализованы, что уменьшает избыточность данных, но может усложнить запросы.
    • Обеспечивают быстрый доступ к агрегированным данным для аналитики.
  3. Материализованные представления (Materialized Views)

    • Предварительно вычисленные результаты сложных запросов, хранящиеся как физические объекты.
    • Ускоряют выполнение отчётов и дашбордов за счёт кэширования агрегированных данных.
  4. Кубы OLAP (Online Analytical Processing Cubes)

    • Многомерные структуры для интерактивного анализа данных по нескольким измерениям (время, продукт, регион и т. д.).
    • Поддерживают операции: срез (slice), срез‑прокатка (dice), детализация (drilldown), обобщение (rollup).
    • Используются в инструментах типа Microsoft Analysis Services, IBM Cognos, Oracle OLAP.
  5. Обогащённые таблицы и агрегированные данные

    • Таблицы с предварительно рассчитанными метриками (ежемесячные продажи, средний чек, отток клиентов и т. п.).
    • Снижают нагрузку на базу данных при выполнении типовых запросов.
  6. Метаданные и бизнес‑глоссарий

    • Описания бизнес‑терминов, правил расчёта KPI, источников данных.
    • Обеспечивают единое понимание показателей пользователями.
  7. Интерфейсы доступа

    • SQLзапросы к витринам данных.
    • API для интеграции с BIинструментами.
    • Прямое подключение BIсистем (Tableau, PowerBI, Qlik) к слою.

Где находятся отчёты?

Отчёты не хранятся непосредственно в презентационном слое DWH как самостоятельные сущности. Вместо этого:

1. Источник данных для отчётов

  • Отчёты формируются на основе данных из презентационного слоя: витрин, материализованных представлений, OLAPкубов.
  • Пример: дашборд в PowerBI подключается к витрине sales_mart или кубу Sales_Cube.

2. Инструменты генерации отчётов

  • BIплатформы (PowerBI, Tableau, Looker, Qlik) запрашивают данные из презентационного слоя и визуализируют их.
  • Пользовательские SQLотчёты выполняются напрямую к витринам или материализованным представлениям.

3. Кэширование и публикация отчётов

  • Результаты отчётов могут кэшироваться в BIсистеме для ускорения загрузки.
  • Публикуемые дашборды и отчёты хранятся в репозитории BIинструмента (например, PowerBI Service), а не в DWH.

4. Автоматизированные отчёты

  • Планировщики (SSRS, Tableau Server) запускают SQLзапросы к презентационному слою по расписанию.
  • Сформированные отчёты (PDF, Excel) рассылаются пользователям или выкладываются на портал.

Итоговая схема взаимодействия

[Сырые данные] → [Очистка/ETL] → [Ядро DWH] → [Витрины/Кубы] → [BIинструмент] → [Отчёт/Дашборд]
                                        (Презентационный слой)

Кратко: презентационный слой предоставляет структурированные, агрегированные и удобные для анализа данные. Отчёты строятся поверх этого слоя через BIинструменты или SQL, но физически хранятся вне DWH — в системах бизнес‑аналитики или в виде файлов (PDF, Excel).