Create layer1.md

This commit is contained in:
Dmitry 2026-06-17 17:32:58 +03:00 committed by GitHub
parent 8affacec94
commit 6d02c27e8a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

221
IT/DWH/layer1.md Normal file
View file

@ -0,0 +1,221 @@
## 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), через которые бизнес-пользователи строят отчёты и дашборды. [```1```](https://datafinder.ru/solutions/sales/customer-value-management-maximization/arhitektura-bi-i-dwh-dlya-cvm)[```7```](https://www.vlrtrain.com/2023/11/what-are-layers-of-data-warehouse.html)[```10```](https://www.rudderstack.com/learn/data-warehouse/data-warehouse-layer/)
**Почему так?** Задача этого уровня — преобразовать тщательно подготовленную аналитическую модель (которая живёт в ядре DWH) в формат, удобный для потребления. Витрины данных как раз решают эту задачу: они создают тематические, часто денормализованные срезы (например, «продажи», «финансы», «маркетинг»), оптимизированные под конкретные задачи отдела. Это сокращает путь от сырых данных к отчёту и ускоряет работу аналитиков. [```3```](https://bi-data.ru/blog/2025/06/20/ods-%D0%B8-%D0%B2%D0%B8%D1%82%D1%80%D0%B8%D0%BD%D1%8B-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-data-marts-%D0%B2-bi/)[```12```](https://www.1cbit.ru/blog/dwh-data-lake-lakehouse-data-mart-klyuchevye-otlichiya/)
**Но есть и другой взгляд.** В некоторых архитектурных моделях (например, в Layered Scalable Architecture — LSA) слой витрин (Data Marts Layer) выделяют как отдельный, самостоятельный уровень — между ядром хранилища и собственно инструментами отчётности. То есть в такой схеме цепочка выглядит так: источники → staging → ODS → ядро (Core) → Data Marts → инструменты визуализации. Здесь презентационный слой в узком смысле — это уже сами BI-инструменты и дашборды, а Data Marts служат промежуточным «буфером». [```8```](https://habr.com/ru/articles/1037496/)
**Итог:** когда говорят, что Data Marts входят в презентационный слой, имеют в виду широкую трактовку термина — всё, что непосредственно обслуживает конечного пользователя. А если речь о детальной архитектурной схеме с чётким разделением этапов, витрины могут быть выделены в отдельный слой перед финальным потреблением. [```1```](https://datafinder.ru/solutions/sales/customer-value-management-maximization/arhitektura-bi-i-dwh-dlya-cvm)[```8```](https://habr.com/ru/articles/1037496/)
Поэтому, когда обсуждаете архитектуру с коллегами, полезно сразу уточнить: говорят ли они о широком «слое потребления» (куда входят и витрины, и BI) или о строгой последовательности этапов обработки. [```1```](https://datafinder.ru/solutions/sales/customer-value-management-maximization/arhitektura-bi-i-dwh-dlya-cvm)[```8```](https://habr.com/ru/articles/1037496/)
### 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).