docs(storage): связность восстановлена, форма дат на проводе задана
- Зачем:
- холодное ревью связности нашло девять мест, где вставленный текст спорит с
соседним; отдельно вскрылось, что представление дат в JSON не зафиксировано
нигде, а #43 обязан его знать раньше, чем #41 напишет сериализатор.
- Что:
- гарантия приёма переписана: после снятия синхронной вставки «хотя бы один
раз» стало неправдой — есть и окно потери, и окно дубля.
- критерий выбора пяти опорных колонок приведён к списку, который он
порождает; `CounterID` оговорён отдельно.
- «переобработки у ODS нет вовсе» смягчено до пакетной: ручная вставка из
сырья в пределах окна возможна.
- в спеку генератора добавлена форма дат на проводе — ISO-8601, с доводом от
читаемости слоя сырья.
- убраны осиротевшая фраза про порядок сервисов, дубль порядка классов брака,
устаревшая датировка сверки и ещё три следа вставок.
- Проверка:
- make config-test
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -41,8 +41,11 @@ JSON.
|
||||
цены и пользы: единственный производитель топика — собственный генератор,
|
||||
сериализующий из контракта по объявленным типам, поэтому неверный тип может
|
||||
прийти только из руки, а сорок семь проверок на NULL превратили бы матвью в
|
||||
простыню. Пять выбраны по последствию: на них стоят ключ сортировки, партиция и
|
||||
дедупликация, и их порча отравляет всё ниже по течению.
|
||||
простыню. Пять выбраны по последствию: это идентификаторы события, визита и
|
||||
посетителя, дата партиции и метка времени, по которой события упорядочиваются
|
||||
внутри сессии, — порча любой отравляет всё ниже по течению. `CounterID`
|
||||
формально тоже входит в ключ сортировки, но на стенде он константа, и NULL там
|
||||
взяться неоткуда.
|
||||
|
||||
Присутствие иначе и не проверить. `Nullable`
|
||||
в ClickHouse не оборачивает составные типы: `Nullable(Array)` запрещён, а
|
||||
@@ -133,7 +136,9 @@ contract-тест из #43 сюда не дотягивается — он ср
|
||||
|
||||
## Что проверено
|
||||
|
||||
По документации ClickHouse через MCP Context7, 3 августа 2026 года.
|
||||
По документации ClickHouse через MCP Context7: основная сверка — 3 августа
|
||||
2026 года, перепроверка после правок — 5 августа. Датировка важна: 5 августа
|
||||
утверждение про `Nullable(Tuple)` развернулось на противоположное.
|
||||
|
||||
При режиме `stream` движок отдаёт `_raw_message` и `_error` только для
|
||||
сообщений, которые не разобрались, и оставляет их пустыми для разобранных.
|
||||
@@ -159,9 +164,8 @@ contract-тест из #43 сюда не дотягивается — он ср
|
||||
распределённую таблицу — блок она видит до разрезания по шардам. Проверено
|
||||
владельцем на рабочих проектах; на стенде подтверждается заодно с приёмкой #37.
|
||||
|
||||
На живом стенде проверяется при исполнении #37. Первые два пункта внесены в
|
||||
раздел 11 спеки как несущие; остальные — однострочные `SELECT`, их довольно
|
||||
прогнать заодно:
|
||||
На живом стенде проверяется при исполнении #37. Первые два внесены в раздел 11
|
||||
спеки; остальные — однострочные `SELECT`, их довольно прогнать заодно:
|
||||
|
||||
- `RawBLOB` в Kafka-движке даёт ровно одну строку на сообщение. Проверять это
|
||||
нужно первым и до написания DDL: формулировка «читает вход в одно значение»
|
||||
|
||||
Reference in New Issue
Block a user