Нақты уақыттағы талдау
1) Мақсаты және бизнес-құндылығы
Нақты уақыттағы талдау (RTA) реакцияларды сағат сайын емес, секундпен қамтамасыз етеді:- AML/Антифрод: депозиттерді құрылымдау, velocity-шабуылдар, тәуекел-транзакциялар.
- Responsible Gaming (RG): лимиттерден асып кету, тәуекел үлгілері, өзін-өзі жою.
- SRE/Операциялар: SLA деградацияларын, қате жарылыстарын, кластерлердің қызып кетуін ерте анықтау.
- Өнім және маркетинг: дербестендіру триггерлері, миссиялар/квесттер, real-time сегментациясы.
- Операциялық есептілік: 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, ретеншн 3-7 күн бойынша партиялануы).
3. Stream-өңдеу - Flink/Spark Structured Streaming/Beam: stateful-операторлар, CEP, watermarks, allowed lateness, дедуп.
4. Online-байыту - 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/Gold.
7. Байқалуы - пайплайндардың метрикасы, трейсинг (OTel), логи, lineage және cost-дашбордтар.
3) Сигналдар мен таксономия
Төлемдер: 'payment. deposit/withdraw/chargeback`.
Ойын: 'game. bet/payout ', сессиялар.
Аутентификация және мінез-құлық: 'auth. login/failure`, device-switch, velocity.
Операциялық бөлмелер: latency, error-rate, тұғырларды қайта қосу, saturation.
Комплаенс: санкциялық скрининг, RG-жалаулар, DSAR-оқиғалар.
Әрбір түрі иесі (domain 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 шинада жеткізу + дедуп бойынша 'event _ id' өңдеуде (TTL 24-72 сағ).
Тәртiп: кiлттер бойынша партияландыру (жергiлiктi тәртiп кепiлдендiрiлген).
Sink: транзакциялық коммиттер (2-phase) немесе idempotent upsert/merge.
Outbox/Inbox: OLTP домендік оқиғаларын транзакциялық жариялау.
7) Online-байыту және Feature Store
Lookup: RG-лимиттері, KYC-мәртебелері, BIN → MCC, IP → Geo/ASN, нарықтар/салықтар, оқиға сәтіндегі FX.
Асинхронды шақырулар: санкциялық/РЕР АРI таймауттары бар; қате болса - 'unknown' + ретрай/кэш.
Feature Store: online/offline келісу; бір кодтық трансформация базасы.
8) Real-time витриналар және сервинг
ClickHouse/Pinot/Druid: секундтық/минуттық агрегаттар, materialized views, SLA кідірісі 1-5 минут.
API/GraphQL: дашбордтар/виджеттер үшін төменгі жасырындылық.
Алерталар: байытылған контекспен/Jira/SOAR (trace_id, last events).
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; күйінің өлшемі.
- «оқиға → ереже → кейс», домендер бойынша precision/recall.
- Жылу картасы 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) Жекешелiк, қауiпсiздiк және резиденттiк
PII-минимизация: ID бүркемелеу, сезімтал өрістерді бүркемелеу, PAN/IBAN токенизациясы.
Data residency: өңірлік конвейерлер (EEA/UK/BR), жекелеген KMS-кілттер.
DSAR/RTBF: downstream сөрелерінде селективті редакциялау; Кейстер/есептер үшін Legal Hold.
Аудит: рұқсаттардың/ережелерді өзгертудің өзгермейтін логтары, релиздерді журналдау.
12) Экономика және өнімділік
Шардинг/кілттер: «ыстық» кілттерден (salting/composite), партия теңгерімінен аулақ болыңыз.
Күйі: TTL, compact snapshots, тюнинг RocksDB/state backend.
Шулы тақырыптар үшін бастапқы кезеңде reduce.
Sampling: тек критикалық емес метриктер үшін (транзакция/комплаенс емес).
Chargeback: тақырыптарға арналған бюджеттер/джобтар, репликаларға арналған квоталар және ауыр сұрау салулар.
13) Процестер және RACI
R: Streaming Platform (инфра/релиздер), Domain Analytics (ережелер/фичтер), MLOps (скоринг/Feature Store).
А: Head of Data/Risk/Compliance домендері бойынша.
C: DPO/Legal (PII/retention), SRE (SLO/инциденттер), Сәулет.
I: Өнім, Қолдау, Маркетинг, Қаржы.
14) Енгізу жол картасы
MVP (2-4 апта):1. Kafka/Redpanda + 2 сыни топика (мысалы, 'payments', 'auth').
2. Flink-джоба watermark, дедуп және 1 CEP-ережесімен (AML немесе RG).
3. Жедел витрина ClickHouse/Pinot (1-5 мин), дашбордтар lag/completeness.
4. Инцидент-арна (вебхактар/Jira), базалық SLO және алерталар.
2-фаза (4-8 апта):- Online-байыту (Redis/Scylla), Feature Store, асинхронды lookups.
- Ережелерді код, canary/A-B, DQ ағыны ретінде басқару.
- Конвейерлерді аймақтандыру, DSAR/RTBF процедуралары, кейстер үшін Legal Hold.
- active-active көп аймағы, «replay & what-if» симуляторы, табалдырықтарды автоматты калибрлеу.
- Gold-stream витриналары (GGR/RG/AML), near-real-time есептілігі.
- Cost-дашбордтар, 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/dual-control ережелеріне/модельдеріне; өзгерістер журналы қосылған.
- Ережелер/витриналар құжаттамасы; runbook 'және реплика/қайтару.
17) Жиі қателер және оларды болдырмау
Ignor event-time: watermarks метрикасыз «жүзеді».
Дедуп жоқ: жалған алерт, қосарлы есеп.
Ыстық кілттер: партия қисаюы → salting/resharding.
Ыстық жолдағы синхронды сыртқы API: тек async + кэш.
Басқарылмайтын құн: алдын ала тіркеу, TTL жай-күйі, квоталар, cost-мониторинг.
Симулятордың жоқтығы: «replay» → регрессиясыз шығулар.
18) Қорытынды
Нақты уақыттағы талдау - бұл «жылдам BI» емес, келісімшарттар, stateful-логика, CEP, watermarks, online-байыту және қатаң SLO-мен басқарылатын контур. Осы практикаларға сүйене отырып, платформа бақыланатын құн кезінде комплаенс, азық-түлік сценарийлерін және операциялық орнықтылықты ұстап, секундтар шегінде нақты сигналдар мен шешімдер алады.