diff --git a/dwh-modeling/README.md b/dwh-modeling/README.md index 57c0cb7..88955a7 100644 --- a/dwh-modeling/README.md +++ b/dwh-modeling/README.md @@ -133,7 +133,6 @@ flowchart TD - `_load_id` — идентификатор загрузки; - `_load_ts` — время получения данных; - Главное правило: **неизменяемость**. Если пришла новая порция — либо добавляем новые строки, либо *полностью перезагружаем* слой (идемпотентность). -- Дедупликация: если два раза пришёл один и тот же заказ — оставляем один (по `order_id + _load_ts`). > 💡 *Пример:* `stg.orders_raw` содержит `"2024-01-10"` как строку — это нормально. Главное — не потерять оригинал. @@ -149,12 +148,13 @@ flowchart TD - проверили email на валидность (регуляркой или простой проверкой). - **Но!** Не объединяем клиента из CRM и клиента из заказов — это будет позже. - Пока — никакой бизнес-логики. Только *техническая* очистка. +- Дедупликация: если два раза пришёл один и тот же заказ — оставляем один (по `order_id + _load_ts`). > 🎯 Цель ODS — дать «надёжную платформу» для следующего слоя. Как сухое, чистое бревно перед сборкой дома. --- -### **DDS (Data Delivery Store / Core / Gold)** — «интеграция + история» +### **DDS (Data Delivery Store / Core / Conformed)** — «интеграция + история» Здесь рождается *единая бизнес-модель*. Появляются понятия: **измерения**, **факты**, **суррогатные ключи**, **SCD**. @@ -179,7 +179,7 @@ flowchart TD --- -### **DM (Data Mart / «Витрины»)** — «готово к употреблению» +### **DM (Data Mart / Gold/ «Витрины»)** — «готово к употреблению» Здесь — таблицы и представления для конкретных задач: - `dm.mart_daily_sales` — ежедневные продажи по товарам и сегментам;