Перейти к основному содержимому

Data Freshness Standard

Назначение

Документ задает единый способ описывать свежесть данных для replicas, projections, Elasticsearch, ClickHouse, cache и export files.

FreshnessView

ПолеТипОписание
SourcestringPostgreSQL, Elasticsearch, ClickHouse, Redis, Replica.
SourceServicestringOwning или projection service.
AsOfDateTimeOffsetДо какого времени данные актуальны.
LagSecondslongЗадержка относительно текущего времени или event watermark.
Watermarkstring?Event id/offset/batch id.
FreshnessStatusenumFresh, Stale, Unknown, Rebuilding.
SlaSecondslongЗаявленный SLA.
PartialDataboolЕсть ли частичные данные.
Warningsstring[]Машиночитаемые warnings.

SLA Категории

КатегорияДопустимый LagПримеры
Strong0, source of truthcommand response, Accounting ledger.
NearRealtimeдо 30 секундuser dashboard, provider availability.
Operationalдо 5 минутadmin dashboard, manual queues.
Analyticalдо 30 минутClickHouse reports.
Batchчасы/дниregulatory exports, archived reports.

Правила Использования

  • Query к projection обязан вернуть FreshnessView.
  • UI обязан показывать stale/partial data state.
  • High-impact command не принимает решение на stale projection без documented exception.
  • Export manifest сохраняет freshness на момент генерации.
  • Rebuild индекса/материализованного view возвращает Rebuilding, а не молчаливый empty result.

Fail Closed

Fail closed обязателен для:

  • withdrawal decision check;
  • game launch decision check;
  • incentive redemption decision check;
  • AML/KYC/safety checks;
  • partner payout approval;
  • provider callback settlement.

Fail open допускается только для read-only UX, где stale marker виден пользователю.

Обратные ссылки

Автоссылки: где используется этот документ.