Реалдуу убакыт аналитикасы
1) Максаты жана бизнес баалуулугу
Real Time Analytics (RTA) эмес, саат секундасына жооп берет:- AML/Антифрод: депозиттерди структуралоо, velocity чабуулдары, тобокелдик транзакциялары.
- Responsible Gaming (RG): чектен чыгуу, тобокелдик үлгүлөрү, өзүн-өзү жоюу.
- SRE/Операциялар: SLA деградацияларын, каталардын жарылуусун, кластерлердин ысып кетишин эрте аныктоо.
- Продукт жана маркетинг: персоналдаштыруу триггерлери, миссиялар/тапшырмалар, реалдуу убакыт сегменттөө.
- Операциялык отчеттуулук: near-real-time GGR/NGR, залдардын/провайдерлердин дашборддору.
Максаттуу багыттары: p95 end-to-end 0. 5–5 с, completeness ≥ 99. 5%, жеткиликтүүлүгү ≥ 99. 9%.
2) Эталондук архитектура
1. Ingest/Edge — `/events/batch` (HTTP/2/3), gRPC, OTel Collector; схемалар тастыктоо, анти-дубли, гео-багыттоо.
2. Шина окуялар - Kafka/Redpanda (партиялаштыруу 'user _ id/tenant/market', DLQ, retenshn 3-7 күн).
3. Stream-иштетүү - Flink/Spark Structured Streaming/Beam: stateful операторлору, CEP, watermarks, allowed lateness, дедуп.
4. Онлайн байытуу - Redis/Scylla/ClickHouse lookups (RG-лимиттери, KYC, BIN → MCC, IP → Geo/ASN), тайм менен асинхрондук чалуулар жана fallback.
5. Сервинг - ClickHouse/Pinot/Druid (1-5 мүнөттүк оперативдүү витриналар), Feature Store (онлайн белгилери), webhooks/тикетинг/SOAR.
6. Lakehouse - Bronze/Silver/Алтын узак мөөнөттүү консолидация, реплика жана салыштыруу үчүн.
7. Байкоо - пайплайндардын метрикасы, трейсинг (OTel), логи, сызык жана cost-дашборддор.
3) Сигналдар жана таксономия
Төлөмдөр: 'payment. deposit/withdraw/chargeback`.
Оюн: 'game. bet/payout ', сессиялар.
Аутентификация жана жүрүм-турум: 'auth. login/failure`, device-switch, velocity.
Операциялык бөлмөлөр: latency, error-rate, такталарды кайра баштоо, saturation.
Комплаенс: санкциялык скрининг, RG-желектер, DSAR-окуялар.
Ар бир түрү ээси бар (домен owner), схема, SLO сергектик жана late data саясаты.
4) Терезелер, watermarks жана late data
Терезелер: tumbling , hopping (карама-каршы), session (активдүү эмес).
Watermark: чек "убакыт билим" (адатта 2-5 мин).
Кечиккен окуялар: кошумча эмиссия түзөтүүлөр, желек 'late = true', DLQ катуу кечигүү менен.
sql
SELECT user_id,
TUMBLE_START(event_time, INTERVAL '10' MINUTE) AS win_start,
COUNT() AS deposits_10m,
SUM(amount_base) AS sum_10m
FROM stream.payments
GROUP BY user_id, TUMBLE(event_time, INTERVAL '10' MINUTE);
5) CEP жана stateful-агрегация
'user _ id', 'device _ id', 'payment. account_id`.
Абалы: жылма эсептегичтер/суммалар, чоң ата үчүн bloom-чыпкалар, TTL.
CEP үлгүлөрү: structuring (<босого, ≥ N жолу, терезеден T), device-switch, RG-fatigue.
python if cnt_deposits(last=10MIN) >= 3 and sum_deposits(last=10MIN) > THRESH and all(d.amount < REPORTING_THRESHOLD):
emit_alert("AML_STRUCTURING", user_id, snapshot())
6) Exactly-Once, тартиби жана боштук
At-least-once жеткирүү шиналар + dedup 'event _ id' иштетүү боюнча (TTL 24-72 саат).
Тартип: ачкычтар боюнча партиялаштыруу (жергиликтүү тартип кепилденген).
Sink: транзакциялык комиссиялар (2-фазалуу) же idempotent upsert/merge.
Outbox/Inbox: OLTP домендик окуялардын транзакциялык жарыялоо.
7) Online байытуу жана Feature Store
Lookup: RG-чектөөлөр, KYC-статусу, BIN → MCC, IP → Geo/ASN, рыноктор/салыктар, FX учурда окуя.
Асинхрондук чакырыктар: убакыт менен санкциялар/РЕР API; ката болсо - 'unknown' + retray/кэш.
Feature Store: онлайн/offline макулдашуу; трансформациялоонун бир коддук базасы.
8) Реалдуу убакыт дисплей жана тейлөө
ClickHouse/Pinot/Druid: секунддук/мүнөттүк агрегаттар, materialized views, SLA кечигүү 1-5 мүнөт.
API/GraphQL: dashboard/widget үчүн төмөн жашыруун.
Alerts: Webhuke/Jira/SOAR менен байытылган контекстте (trace_id, акыркы окуялар).
sql
CREATE MATERIALIZED VIEW mv_ggr_1m
ENGINE = AggregatingMergeTree()
PARTITION BY toDate(event_time)
ORDER BY (toStartOfMinute(event_time), market, provider_id) AS
SELECT toStartOfMinute(event_time) AS ts_min,
market,
provider_id,
sumState(stake_base) AS s_stake,
sumState(payout_base) AS s_payout
FROM stream.game_events
GROUP BY ts_min, market, provider_id;
9) Метрика, SLI/SLO жана дашборддор
Сунушталган SLI/SLO:- p95 ingest → alert ≤ 2 с (критикалык эрежелер), ≤ 5 с (башкалар).
- Completeness терезелер T ≥ 99. 5%; Schema validity ≥ 99. 9%; Trace coverage ≥ 98%.
- Стрим сервисинин жеткиликтүүлүгү ≥ 99. 9%; late-ratio ≤ 1%.
- Партиялар/топиктер боюнча лаг; busy time операторлору; мамлекеттин өлчөмү.
- Huni "окуя → эреже → case", домендер боюнча precision/кайра чакыртып алуу.
- Жылуулук картасы late/completeness; "ысык" ачкычтар картасы.
10) DQ агымы (сапаты)
Ingest-валидация: schema/enums/size-limits, анти-дубль.
агымында: completeness/dup-rate/late-ratio, терезе тууралыгы (эки эсеби жок).
жооп саясаты: critical → DLQ + pager; major/minor → тегдөө + отчет.
yaml stream: payments rules:
- name: schema_valid type: schema severity: critical
- name: currency_whitelist type: in_set column: currency set: [EUR,USD,GBP,TRY,BRL]
- name: dedup_window type: unique keys: [event_id]
window_minutes: 1440
11) Купуялык, коопсуздук жана резиденттик
PII-минималдаштыруу: ID псевдонимизациялоо, сезгич талааларды жашыруу, PAN/IBAN токенизациясы.
Data residency: аймактык конвейерлер (EEA/UK/BR), өзүнчө KMS ачкычтары.
DSAR/RTBF: downstream терезелер боюнча тандоо редакторлору; Юридикалык Hold учурларда/отчеттор үчүн.
Аудит: жеткиликтүүлүктүн/эрежелерди өзгөртүүнүн өзгөрүлбөс логдору, релиздерди журналдаштыруу.
12) Экономика жана аткаруу
Charding/ачкычтар: "ысык" ачкычтар качуу (salting/composite), партиялардын балансы.
Абалы: TTL, compact snapshots, тюнинг RocksDB/state backend.
Predagregation: reduce ызы-темалар үчүн алгачкы баскычтарында.
Sampling: критикалык эмес метриктер үчүн гана (бүтүмдөр/комплаенс эмес).
Chargeback: темалар боюнча бюджеттер/jobs, репликалар боюнча квоталар жана оор суроолор.
13) Процесстер жана RACI
R: Streaming Platform (infra/релиздер), Domain Analytics (эрежелер/чиптер), MLOps (скоринг/Feature Store).
A: Head of Data/Risk/Compliance домендери боюнча.
C: DPO/Юридикалык (PII/retention), SRE (SLO/окуялар), Архитектура.
I: Продукт, колдоо, маркетинг, каржы.
14) Ишке ашыруунун жол картасы
MVP (2-4 жума):1. Kafka/Redpanda + 2 сын топик (мисалы, 'payments', 'auth').
2. Flink джоба watermark, dedupe жана 1 CEP эрежелери менен (AML же RG).
3. Оперативная витрина в ClickHouse/Pinot (1-5 мин), дашборддор lag/completeness.
4. Окуя-канал (Webhuke/Jira), негизги SLO жана алерталар.
2-этап (4-8 жума):- Online байытуу (Redis/Scylla), Feature Store, асинхрондук lookups.
- Кодду башкаруу, canary/A-B, DQ агымы.
- Conveyor регионалдаштыруу, DSAR/RTBF жол-жоболору, Юридикалык Hold учурларда.
- Multi-аймак active-active, симулятор "replay & what-if", авто-калибрлөө босоголору.
- Gold-stream Display (GGR/RG/AML), near-real-time отчеттуулук.
- Cost-dashboard, chargeback, DR-машыгуулар.
15) Мисалдар (фрагменттер)
Flink CEP — device-switch:sql
MATCH_RECOGNIZE (
PARTITION BY user_id
ORDER BY event_time
MEASURES
FIRST(A.device_id) AS d1,
LAST(B.device_id) AS d2,
COUNT() AS cnt
PATTERN (A B+)
DEFINE
B AS B.device_id <> PREV(device_id) AND B.ip_asn <> PREV(ip_asn)
) MR
Kafka Streams - демпотенттик чыпкасы:
java if (seenStore.putIfAbsent(eventId, now()) == null) {
context.forward(event);
}
16) Азык-түлүктүн алдындагы чек-тизме
- Registry схемалар/келишимдер, back-compat тесттер жашыл.
- watermark/allowed lateness, дедуп жана DLQ кирет.
- Жөндөлгөн SLO жана Алерт (lag/late/dup/state size).
- Кэш жана тайм менен байытуу; fallback «unknown».
- эрежелер/моделдер боюнча RBAC/эки контролдоо; өзгөртүү журналы киргизилген.
- Документтерди эрежелер/терезелер; runbook 'жана реплика/кайра.
17) Көп каталар жана аларды алдын алуу үчүн кантип
Ignor event-time: watermarks метрика жок "сүзүп".
Жок дедуп: жалган алерталар, кош эсеп.
Hot Keys: партия → salting/resharding кайчылаш.
Hot жолдо синхрондуу тышкы API: гана async + кэш.
Башкарылбаган наркы: алдын ала агрегация, TTL абалы, квота, cost-мониторинг.
Симулятордун жоктугу: "replay" → регрессиясыз чыгуу.
18) Жыйынтык
Реалдуу убакыт аналитикасы "тез BI" эмес, контракттар, stateful-логика, CEP, суу маркалары, онлайн байытуу жана катуу SLO менен башкарылуучу контур. Бул практикаларды сактоо менен платформа так сигналдарды жана чечимдерди секунданын ичинде кабыл алат, комплаенс, продукттун сценарийлери жана контролдонуучу нарк боюнча операциялык туруктуулук.