Развитие идей

This commit is contained in:
2025-11-07 09:58:37 +03:00
parent acfbc4d037
commit ee55515b54
+85 -31
View File
@@ -2,7 +2,7 @@
---
### **Структура статьи про хранилище данных **
# **Структура статьи про хранилище данных **
1. Введение. Проблема аналитики в OLTP
2. Учебный пример. Интернет-магазин
@@ -17,7 +17,7 @@
---
#### **1. Введение: Аналитика — это не оперативный учет**
# **1. Введение: Аналитика — это не оперативный учет**
OLTP - Оперативный учет
- CRM
@@ -40,7 +40,7 @@ OLTP - Сложные JOIN -> Медленные отчеты -> Проблем
---
#### **2. Учебный пример: интернет-магазин**
# **2. Учебный пример: интернет-магазин**
*(Оставляю вашу отличную ER-диаграмму без изменений)*
@@ -51,11 +51,44 @@ erDiagram
PRODUCT ||--o{ ORDER_ITEM : referenced
PRODUCT ||--o{ PRICE : has
PROMO ||--o{ ORDER_ITEM : applied
CUSTOMER {
int customer_id PK
string email
string phone
}
PRODUCT {
int product_id PK
string name
}
ORDER {
int order_id PK
date order_date
int customer_id FK
}
ORDER_ITEM {
int order_item_id PK
int order_id FK
int product_id FK
int qty
numeric price_at_sale
}
PRICE {
int product_id FK
date valid_from
date valid_to
numeric price
}
PROMO {
int promo_id PK
string code
}
```
Описание примера текстом
---
#### **3. Архитектура хранилища: зачем делить на слои?**
# **3. Архитектура хранилища: зачем делить на слои?**
```mermaid
flowchart TD
@@ -96,7 +129,7 @@ flowchart TD
---
#### **4. Путешествие данных по слоям**
## **4. Путешествие данных по слоям**
```mermaid
flowchart LR
@@ -127,9 +160,26 @@ flowchart LR
DDS --> DM
```
### 4.1 STG (Staging/Bronze)
**Коротко**: «как пришло». Идемпотентность, дедупликация, неизменяемость/переигрузка.
### 4.2 ODS (Operational Data Store/Silver)
**Коротко**: чистка и выравнивание типов, базовая унификация кодов, ещё без тяжёлой бизнес-логики.
Несколько примеров из учебного примера
### 4.3 DDS (Integrated/Conformed Layer)
**Коротко**: интеграция источников, общие справочники, SK/BK, SCD. Здесь уже начинаются модели данных. Какие модели испольуют.
### 4.4 DM (Data Marts/Gold)
**Коротко**: модели под задачи BI (звезда/снежинка). Агрегаты, материализации.
---
#### **5. Базовые понятия: Факты, Измерения, Ключи**
## **5. Базовые понятия: Факты, Измерения, Ключи**
```mermaid
erDiagram
@@ -157,6 +207,8 @@ erDiagram
}
```
Что из базвой модели данных
**SCD Type 2 - Визуализация истории**:
```mermaid
@@ -174,12 +226,19 @@ gantt
section Санкт-Петербург, new_premium@email.com
Версия 3 :active, 2023-10-01, 2024-12-31
```
Краткое описание текстом. Указание, что подробно про scd можно почитать в соседней статье SCD.md
---
#### **6. Модели данных для DDS**
## **6. Модели данных для DDS**
**Data Vault 2.0**:
Варианты, как можно было бы разложить в dds учебный пример - придумать.
### 3NF
### Снежинка
### **Data Vault 2.0**:
```mermaid
erDiagram
@@ -215,6 +274,16 @@ erDiagram
}
```
Описание текстом про хабы, сателлиты, связи.
Показать, как учебную БД можно разложить по схеме Data Vault.
Сказить, что здесь DV рассмотрен обзорно
Упомянуть про DV 1
## Anchor Modeling
Кратко
**Сравнение моделей**:
```mermaid
@@ -227,11 +296,19 @@ quadrantChart
"Data Vault": [0.8, 0.8]
"Anchor": [0.9, 0.9]
```
Рассказать, что выбор модели для данных далеко не всегда однозначен, и является компромисснным.
3NF - преимущества и недостатки
Снежинка - преимущества и недостатки
DV
Anchor Modeling
---
#### **7. Практикум: собираем витрину**
Раздел мне не нравится, надо бы переработать.
```mermaid
flowchart TD
A[Источники] --> STG
@@ -274,29 +351,6 @@ GROUP BY d.date, p.product_name, c.customer_segment;
---
#### **8. Выбор модели: дерево решений**
```mermaid
flowchart TD
Start[Выбор модели DDS] --> Q1{Количество источников?}
Q1 -->|Один источник| Q2{Требования к истории?}
Q1 -->|Несколько источников| Q3{Частота изменений схемы?}
Q2 -->|Простая история| Model1[Звезда/Снежинка]
Q2 -->|Полная аудируемая история| Model2[Data Vault]
Q3 -->|Редко| Model3[3NF]
Q3 -->|Часто| Model4[Data Vault]
Model1 --> Final[Рекомендация]
Model2 --> Final
Model3 --> Final
Model4 --> Final
```
---
#### **9. Эксплуатация: качество и эволюция**
```mermaid