Модель заказа в DDS: зерно, массивы позиций, замена партиций #141

Merged
ddmitry merged 2 commits from 130-dds-order-model into main 2026-08-24 19:09:31 +03:00
2 changed files with 9 additions and 6 deletions
Showing only changes of commit 40de2e5c5f - Show all commits

No files matched your search

+3 -2
View File
@@ -7,8 +7,9 @@
Рамки заданы мастер-спекой [«Боевой реализм стенда
(v2)»](../../specs/2026-07-30-stand-v2-realism.md): карта таблиц и витрины —
раздел 7, сверка — раздел 4, склейка идентичностей — раздел 5. Дом выбран
на первой развилке карты: резолюции этапа 4 живут здесь, по хранилищную
сторону границы «источник | хранилище». Устройство источников остаётся их
развилкой #130 — первой, которой понадобилось записать резолюцию в доки:
записи этапа 4 живут здесь, по хранилищную сторону границы
«источник | хранилище». Устройство источников остаётся их
собственным наборам ([заказы бэкенда](../orders/README.md)) — генератор
переносим и о нашем DDS не знает.
+6 -4
View File
@@ -30,7 +30,8 @@ K живёт на текущем состоянии само: пересборк
одной длины — артикул, количество, цена (`Decimal`). Это родная для
ClickHouse денормализация: позиция не живёт без заказа и собственного ключа
не имеет, а разворачивает массивы читатель — `ARRAY JOIN` в витрине
выручки, с обогащением категорией через `dictGet` (спека, раздел 7). Разбор
выручки, с обогащением категорией через `dictGet`
([мастер-спека](../../specs/2026-07-30-stand-v2-realism.md), раздел 7). Разбор
JSON происходит один раз, на границе ODS → DDS, куда его и положила спека
(раздел 2); записывать его параллельными колонками-массивами или `Nested` —
выбор DDL, не модели.
@@ -82,8 +83,8 @@ JSON происходит один раз, на границе ODS → DDS, ку
- Витрина выручки `dm.revenue_daily_v`: заказы в `paid`, `ARRAY JOIN`
позиций, категория через `dictGet` (спека, раздел 7).
- Сверка `dm.purchase_vs_orders_v`: `order_id`, `items_total`, `status`;
соединение — GLOBAL JOIN с обеими сторонами-подзапросами
- Сверка `dm.purchase_vs_orders_v`: `order_id`, `order_date`, `items_total`,
`status`; соединение — GLOBAL JOIN с обеими сторонами-подзапросами
([исследование соединений](../../research/2026-08-22-distributed-join.md)).
- Сборка `dds.identity_map`: пара `order_id` ↔ `user_id`.
@@ -124,4 +125,5 @@ JSON происходит один раз, на границе ODS → DDS, ку
четыре координаты строки ODS.
- [Проталкивание условий сквозь
представления](../../research/2026-08-22-view-predicate-pushdown.md) —
цена `FINAL` и представлений; принято картой #127 до этой развилки.
резолюция #128 той же карты: цена `FINAL` и цепочек представлений, фон, на
котором здесь выбрана физическая таблица.