Files
clickstream-data-platform/CONTEXT.md
T
ddadminandClaude Opus 5 3ba40ffdf2 docs(context): «имя в DDS» вычеркнуто из избегаемых — правка владельца
- Зачем:
  - запрет был лишним: dds.v_event по разделу 7 мастер-спеки эти имена и
    берёт, так что синоним не всегда ошибка.
- Что:
  - в статье «Нормализованное имя» снята строка _Избегать_; различие
    с именем атрибута в модели данных осталось в теле статьи.
- Проверка:
  - вычитка.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-01 23:15:53 +03:00

64 lines
4.2 KiB
Markdown

# Кликстрим-платформа (стенд v2)
Словарь понятий проекта: одни и те же слова для одних и тех же вещей —
у владельца, кода, документов и агентов. Только язык, никаких решений.
## Язык
**Хранилище**:
Аналитическая база стенда — кластер ClickHouse со слоями STG/ODS/DDS/DM.
Принимающая сторона границы «трекер | хранилище»: нормализует имена и стили
источников, строится по их документации.
_Избегать_: склад, склад данных
**Состав мира**:
Постоянная часть мира генератора — популяция посетителей с календарём их
появления, привычки, календарь двухкуковых пар. Чистая функция зерна:
вычисляется при старте любого процесса, между прогонами не хранится.
_Избегать_: состояние мира
**Ось модельного времени**:
Собственный календарь мира генератора. Дни считаются от фиксированного
первого дня D0; реальный календарь в модели не участвует. Между прогонами
живут только зерно и позиция на оси.
**Пошаговый режим**:
Базовый способ движения по оси модельного времени: «прожить следующий
день» — явное действие.
**Живой день**:
Проигрывание текущего модельного дня в реальном времени с ускорением;
включается по требованию, не постоянный фон.
**Пакетный режим**:
Проигрывание готового дня пачкой, без темпа: заливка снимка при старте
стенда, пересборки и проверки.
**Граница суток**:
Единственный структурный шов модели: сессии режутся по ней, слепок заказов
снимается на ней, день проживается только целиком.
**Контракт схемы**:
Python-модуль с описателями колонок события — собственность генератора.
Из него выводятся генератор, валидация и документация формата; хранилище
строится по документации, не по модулю.
**Нормализованное имя**:
Имя колонки источника, приведённое к нашему стилю (snake_case). Живёт в
контракте схемы и в описании выгрузки. Не то же, что имя атрибута в модели
данных: слой DDS складывает модель и называет атрибуты по ней.
**Описание выгрузки**:
Публичная документация формата события: таблица колонок, собранная из
контракта схемы. По ней пишется сторона хранилища — как в бою по документации
источника. Правится только контракт, документ пересобирается.
_Избегать_: описание схемы, документация контракта
**Канонический сериализатор**:
Единственное место, где событие превращается в байты. Фиксированный порядок
ключей и строк — основа побайтовой воспроизводимости.
**Проигрыватель**:
Компонент доставки готового потока дня в приёмник. Два режима: пакетный
(пачкой, без темпа) и живой день.