Архитектура: источник истины схемы и разделение потока и пакета #29
Notifications
Due Date
No due date set.
Blocks
Depends on
#32 Собрать спеку генератора из решений развилок
ddmitry/clickstream-data-platform
#27 Модель мира: что живёт между прогонами и как устроены модельные сутки
ddmitry/clickstream-data-platform
Reference: ddmitry/clickstream-data-platform#29
Reference in New Issue
Block a user
Part of #26.
Вопрос
Где живёт источник истины схемы события (раздел 1.4 мастер-спеки: одно машинное описание — python-модуль или YAML) и как из него выводятся остальные ~семь мест, где повторяются 47 колонок (генератор, DDL, SELECT матвью, трансформации, витрины, манифест, доки)? Как разделены живой поток (×60) и пакетная генерация?
Развилка отложена мастер-спекой (см. тикет #14).
Хвост из решения «Модель мира» (#27): решить и доставку эталонного снимка при старте стенда — проигрывание через Kafka или прямая загрузка в ClickHouse.
Резолюция (сессия 2026-08-01, владелец подтвердил):
ods.event, SELECT матвью,dds.v_event, трансформации — пишется по этой документации на следующих этапах нами (руками, автогенератором или ЛЛМ — приём разработки, не архитектура). Границу сторожат два боевых механизма: строгий приём (skip_unknown_fields = 0,*_errors, раздел 6 мастер-спеки) и contract-тест в smoke — сравнениеsystem.columnsподнятого стенда со схемой генератора.data/startup_history/и пересборка этапа 7), Kafka пачкой (пакетный режим), Kafka с темпом ×60 (живой день). Промежуточные файлы вне git-снимка не хранятся: файл дня — кэш чистой функции, потерял — пересчитал. Обрыв любого режима — переигровка дня целиком, дедуп склеивает повторы (механизм уже выбран в #28). Новых топиков нет.make upбесплатно прогоняет весь конвейер и contract-тест на настоящих данных. Оговорка-условие: если #30 назначит снимку объём, при котором заливка уходит в десятки минут, вернуться к прямой загрузке как осознанному backfill-компромиссу.Отклонено с доводами:
stg.hits_raw— теряются переобработка дня X поevent_dateи урок виртуальных колонок «какая нода читала топик».Хвосты: в #32 — правка раздела 1.4 мастер-спеки тем же коммитом (вывод склада заменить на data contract + contract-тест); термины для CONTEXT.md: контракт схемы, канонический сериализатор, проигрыватель, пакетный режим / живой день. В #30 — при фиксации объёма снимка проверить оговорку из п. 4.