docs(orders): зафиксирован версионный приём заказов
- Зачем: - отменённая подмена партиции snapshot_date противоречила порционному чтению Kafka и могла обучать потере ранее принятых версий. - Что: - добавлены спецификация приёма заказов и ADR о версионном ODS с ods.order_v. - согласованы мастер-спека, дока хранилища, ADR 0008 и исследование формата. - зафиксированы граница приёма, координаты загрузки, диагностические повторы и отложенное проектирование DDS. - Проверка: - git diff --cached --check. - горячее ревью по правилам репозитория и принятому решению. - два прохода холодного ревью.
This commit is contained in:
@@ -1,6 +1,13 @@
|
||||
# ADR 0008. Приём заказов: пакетный забор слепка, инициируемый Airflow
|
||||
|
||||
Дата: 12 августа 2026 года. Статус: принято. Реализация — отдельным тикетом.
|
||||
Дата: 12 августа 2026 года. Статус: частично заменено
|
||||
[ADR 0010](0010-order-versions-in-ods.md). Реализация — отдельным тикетом.
|
||||
|
||||
Сохраняются пакетный забор, `RawBLOB`, один чтец на `clickhouse-01`, одна
|
||||
партиция топика и отсутствие матвью. Отменены граница «одно чтение — полный
|
||||
слепок», замена партиции `snapshot_date`, ODS без дедупликации и готовая схема
|
||||
`dds.order` с `argMax`. Действующая форма STG → ODS описана в
|
||||
[спецификации приёма заказов](../specs/2026-08-16-order-ingestion.md).
|
||||
|
||||
## Решение
|
||||
|
||||
@@ -128,7 +135,9 @@
|
||||
|
||||
## Что проверено
|
||||
|
||||
По документации ClickHouse через MCP Context7, 12 августа 2026 года.
|
||||
Документация ClickHouse проверена через MCP Context7 12 августа 2026 года.
|
||||
Предел порции одного опроса Kafka дополнительно снят 16 августа на локальном
|
||||
ClickHouse `26.3.17.56`.
|
||||
|
||||
- Прямое чтение из движков-очередей (Kafka, RabbitMQ, FileLog) запрещено
|
||||
начиная с версии 21.12 и открывается настройкой
|
||||
@@ -138,8 +147,9 @@
|
||||
- Прямое чтение офсеты по умолчанию **не** коммитит; коммит включается
|
||||
настройкой `kafka_commit_on_select` на самой таблице. Это тот подводный
|
||||
камень, который молчит на первом прогоне и вылезает на втором.
|
||||
- Сколько строк отдаёт одно чтение, задаёт `kafka_max_block_size`. При слепке
|
||||
порядка полутора тысяч строк это один блок с запасом.
|
||||
- Прямое чтение возвращает одну порцию, полученную одним опросом Kafka. При
|
||||
настройках стенда её предел — 65 409 сообщений, поэтому слепок порядка
|
||||
полутора тысяч строк помещается с запасом.
|
||||
- Про `Distributed` поверх Kafka документация не говорит ничего — ни
|
||||
поддержки, ни запрета.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user