Модель заказа в DDS: зерно, связи, материализация #130
Notifications
Due Date
No due date set.
Blocks
#134 Запуск трансформаций до etl_pipeline
ddmitry/clickstream-data-platform
#135 Витрины DM: форма и состав
ddmitry/clickstream-data-platform
Reference: ddmitry/clickstream-data-platform#130
Reference in new issue
Block a user
Part of #127.
Вопрос
Каким объектом заказ живёт в DDS: зерно (заказ, версия заказа,
позиция?), состав атрибутов и связи (события
purchase,identity_map), движок, ключи и шардирование, как читается версионныйods.order_v— и судьба служебных колонок:_load_idвыше ODSрешается здесь, при названном читателе (наследство #85, закрыт wontfix).
Спека отложила это сюда явно: «зерно, связи и материализация
проектируются на этапе DDS» (§7); читатели модели — витрина выручки и
сверка A+C (§4).
Сначала прочитать
docs/architecture/orders/(README и ingestion);docs/architecture/storage.md, раздел «Версии заказов»;Резолюция развилки #130 карты #127.
Спроектирована модель заказа в DDS и заведён дом architecture-доков этапа 4 — набор
docs/architecture/dds/по ADR 0011 (README — карта модели и правила слоя, файл на сущность).Решение коротко:
order_id; истории версий нет (читателя нет, ODS её не обещает);itemsодин раз на границе ODS → DDS;ARRAY JOINостаётся витрине;order_date;MergeTreeбез версий, партиция поorder_date,ORDER BY order_id, шардированиеcityHash64(order_id); идемпотентность — замена партиции (Replacing менти уже отыграл в ODS);_load_id/_load_tsзапуска трансформации; ярлыки ODS не переезжают (произвол ярлыков, замер #137) — этим закрыто наследство #85;Дока:
docs/architecture/dds/order.md. Отклонённые варианты — там же.