diff --git a/docs/architecture/dds/session.md b/docs/architecture/dds/session.md index c109332..dde6acb 100644 --- a/docs/architecture/dds/session.md +++ b/docs/architecture/dds/session.md @@ -68,6 +68,9 @@ ключ сортировки — кука и начало сессии, шардирование распределённой таблицы — `cityHash64(ClientID)`, тем же выражением, что у событий, — ко-локация с `dds.identity_map` ([дока хранилища](../storage.md), «Раскладка по шардам»). +Совпадение ключа с событиями не случайно: все события куки лежат на одном +шарде, поэтому сессионизация локальна по природе — капкан смены ключа при +вставке, который дока хранилища обещает сборкам DDS, у сессий не стреляет. Сборка — дневной батч после прихода слепка заказов: хранилище выше ODS по смыслу батчевое, раз второй источник приходит раз в сутки. К этому моменту @@ -92,7 +95,9 @@ компенсация ошибок внутри одной куки за день; эталон в модель не тащим — строка сессии остаётся нашей, а не генераторной. Поштучное сопоставление границ — материал лабы, где менти разбирает найденное расхождение руками. Дом проверки — -контур DQ этапа 4. +контур DQ этапа 4. Сверке нужен `VisitID`, а сборке сессий — нет; останется +ли он в контракте `dds.event_v` или проверка пойдёт за ним в ODS — решает +развилка #132. ## Читатели