mirror of
https://github.com/bpmbpm/doc.git
synced 2026-07-09 16:00:03 +00:00
Create layer1.md
This commit is contained in:
parent
8affacec94
commit
6d02c27e8a
1 changed files with 221 additions and 0 deletions
221
IT/DWH/layer1.md
Normal file
221
IT/DWH/layer1.md
Normal 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)**
|
||||
* многомерные структуры для интерактивного анализа;
|
||||
* поддерживают операции: *drill‑down*, *roll‑up*, *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)** — наиболее распространённый термин.
|
||||
* включает дашборды, отчёты, интерактивные визуализации;
|
||||
* инструменты: Power BI, 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 (отчёты, дашборды в Power BI/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), детализация (drill‑down), обобщение (roll‑up).
|
||||
* Используются в инструментах типа Microsoft Analysis Services, IBM Cognos, Oracle OLAP.
|
||||
|
||||
5. **Обогащённые таблицы и агрегированные данные**
|
||||
* Таблицы с предварительно рассчитанными метриками (ежемесячные продажи, средний чек, отток клиентов и т. п.).
|
||||
* Снижают нагрузку на базу данных при выполнении типовых запросов.
|
||||
|
||||
6. **Метаданные и бизнес‑глоссарий**
|
||||
* Описания бизнес‑терминов, правил расчёта KPI, источников данных.
|
||||
* Обеспечивают единое понимание показателей пользователями.
|
||||
|
||||
7. **Интерфейсы доступа**
|
||||
* SQL‑запросы к витринам данных.
|
||||
* API для интеграции с BI‑инструментами.
|
||||
* Прямое подключение BI‑систем (Tableau, Power BI, Qlik) к слою.
|
||||
|
||||
---
|
||||
|
||||
## Где находятся отчёты?
|
||||
|
||||
Отчёты **не хранятся непосредственно в презентационном слое DWH** как самостоятельные сущности. Вместо этого:
|
||||
|
||||
**1. Источник данных для отчётов**
|
||||
* Отчёты формируются на основе данных из презентационного слоя: витрин, материализованных представлений, OLAP‑кубов.
|
||||
* Пример: дашборд в Power BI подключается к витрине `sales_mart` или кубу `Sales_Cube`.
|
||||
|
||||
**2. Инструменты генерации отчётов**
|
||||
* BI‑платформы (Power BI, Tableau, Looker, Qlik) запрашивают данные из презентационного слоя и визуализируют их.
|
||||
* Пользовательские SQL‑отчёты выполняются напрямую к витринам или материализованным представлениям.
|
||||
|
||||
**3. Кэширование и публикация отчётов**
|
||||
* Результаты отчётов могут кэшироваться в BI‑системе для ускорения загрузки.
|
||||
* Публикуемые дашборды и отчёты хранятся в репозитории BI‑инструмента (например, Power BI Service), а не в DWH.
|
||||
|
||||
**4. Автоматизированные отчёты**
|
||||
* Планировщики (SSRS, Tableau Server) запускают SQL‑запросы к презентационному слою по расписанию.
|
||||
* Сформированные отчёты (PDF, Excel) рассылаются пользователям или выкладываются на портал.
|
||||
|
||||
---
|
||||
|
||||
## Итоговая схема взаимодействия
|
||||
|
||||
```
|
||||
[Сырые данные] → [Очистка/ETL] → [Ядро DWH] → [Витрины/Кубы] → [BI‑инструмент] → [Отчёт/Дашборд]
|
||||
(Презентационный слой)
|
||||
```
|
||||
|
||||
**Кратко:** презентационный слой предоставляет структурированные, агрегированные и удобные для анализа данные. Отчёты строятся поверх этого слоя через BI‑инструменты или SQL, но физически хранятся вне DWH — в системах бизнес‑аналитики или в виде файлов (PDF, Excel).
|
||||
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue