Stream vs Batch талдоо
1) кыскача маңызы
Stream - бир нече секунданын ичинде үзгүлтүксүз иш-чаралар: antifrod/AML, RG-триггерлер, SLA-алерттер, ыкчам панелдер.
Batch - толук кайталоо менен мезгил-мезгили менен кайра эсептөө: жөнгө салуучу отчеттуулук (GGR/NGR), финансылык сверкалар, ML-маалыматтар.
Колдонмо: Stream p95 e2e 0. 5-5 с, Batch D + 1 чейин 06:00 (lok.) .
2) тандоо матрица (TL; DR)
Эреже 80/20: жооп талап кылбайт бардык <5 мүнөт - Batch; калган - Stream, түнкү validation менен Batch.
3) Архитектура
3. 1 Lambda
онлайн үчүн агым + бириктирүү үчүн Batch. Plus: ийкемдүүлүк. Минус: эки логика.
3. 2 Kappa
Бардык агымдар сыяктуу; Batch = "реплика" аркылуу лог. Плюс: бирдиктүү код. Минус: репликалардын татаалдыгы/наркы.
3. 3 Lakehouse-Hybrid (сунушталган)
Stream → ыкчам OLAP-март (мүнөт) жана Bronze/Silver; Batch Gold кайра (D + 1) жана отчетторду жарыялайт.
4) Маалыматтар жана убакыт
Stream
Терезелер: tumbling/hopping/session.
Watermarks: 2-5 мин; late data белгиленет жана кошумча эмитирленет.
Stateful: CEP, дедуп, TTL.
Batch
Increments/CDC: 'updated _ at', лог-репликация.
SCD I/II/III: атрибуттардын тарыхы.
Снапшоттор: күндүзгү/айлык катмарлар үчүн "as-of".
5) iGaming колдонуу үлгүлөрү
AML/Антифрод: Stream (velocity/түзүлүшү) + Бэтч текшерүү жана учурларда.
Responsible Gaming: Stream лимиттерди/өзүн-өзү четтетүү контролдоо; Batch отчеттук реестрлер.
Операциялар/SRE: SLAнын алерт агымы; Batch пост-талдоо окуялар жана тенденциялар.
Продукт/маркетинг: Stream персоналдаштыруу/миссия; Batch Когорта/LTV.
Каржы/отчеттор: Batch (Gold D + 1, WORM-топтомдор), Stream - иш панелдер.
6) DQ, кайталоо, реплика
Stream DQ: Схемаларды валидациялоо, дедуп '(event_id, source)', терезелердин толуктугу, late-ratio, dup-rate; критикалык → DLQ.
Batch DQ: уникалдуулук/FK/range/temporal, OLTP/провайдерлер менен салыштыруу; критикалык → fail job + отчет.
- Stream: + deterministic өзгөрүү диапазону боюнча топик реплика.
- Batch: убакыт-саякат/логика нускасы ('logic _ version') + Gold snapshots.
7) Купуялык жана резиденттик
Агым: псевдонимизациялоо, онлайн-маскировка, аймактык конвейерлер (EEA/UK/BR), тышкы PII-lookups үчүн таймауттар.
Batch: изоляция PII-mapping, RLS/CLS, DSAR/RTBF, Юридикалык Hold, WORM-Archives.
8) Cost-Engineering
Stream: "ысык" ачкычтарды качуу (salting), async lookups чектөө, TTL абалы, алдын ала топтоо.
Batch: партиялаштыруу/кластерлештирүү, small files компакциясы, туруктуу агрегаттарды материалдаштыруу, квота/терезелерди ишке киргизүү.
9) Мисалдар
9. 1 Stream - Flink SQL (10-мин velocity депозиттер)
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);
9. 2 Stream - CEP (AML псевдокод)
python if count_deposits(10MIN) >= 3 and sum_deposits(10MIN) > THRESH \
and all(d. amount < REPORTING_LIMIT for d in window):
emit_alert("AML_STRUCTURING", user_id, snapshot())
9. 3 Batch - MERGE (Silver инкремент)
sql
MERGE INTO silver. payments s
USING stage. delta_payments d
ON s. transaction_id = d. transaction_id
WHEN MATCHED THEN UPDATE SET
WHEN NOT MATCHED THEN INSERT;
9. 4 Batch — Gold GGR (D+1)
sql
CREATE OR REPLACE VIEW gold. ggr_daily AS
SELECT
DATE(b. event_time) event_date,
b. market, g. provider_id,
SUM(b. stake_base) stakes_eur,
SUM(p. amount_base) payouts_eur,
SUM(b. stake_base) - SUM(p. amount_base) ggr_eur
FROM silver. fact_bets b
LEFT JOIN silver. fact_payouts p
ON p. user_pseudo_id = b. user_pseudo_id
AND p. game_id = b. game_id
AND DATE(p. event_time) = DATE(b. event_time)
JOIN dim. games g ON g. game_id = b. game_id
GROUP BY 1,2,3;
10) Метрика жана SLO
Агым
p95 ingest→alert ≤ 2–5 c completeness окна ≥ 99. 5%
schema-errors ≤ 0. 1%
late-ratio ≤ 1%
жеткиликтүүлүгү ≥ 99. 9%
Batch
Gold. daily 06:00 лок чейин даяр.
completeness ≥ 99. 5%
validity ≥ 99. 9%
MTTR DQ-окуя ≤ 24-48 саат
11) Тестирлөө жана релиздер
Келишимдер/схемалар: consumer-driven tests; back-compat CI.
Stream: канарейка эрежелери, караңгы баштоо, replay-симулятор.
Batch: үлгүлөрү боюнча dry-run, метрика салыштыруу, контролдук суммардык (reconciliation).
12) Анти-үлгүлөрү
Логиканын кайталанышы: ар кандай эсептөөлөр Stream жана Бэтч формула тегиздөө жок.
Синхрондуу тышкы API ысык жол Stream жок кэш/убакыт.
Full reload "өзгөчө" ордуна инкременттер.
watermarks/late саясаты жок.
аналитикалык катмарларында PII; CLS/RLS жок.
"Мутацияланган" Алтын-витриналар.
13) Сунушталган гибрид (playbook)
1. Агым контур: ingest → шина → Flink/Beam (watermarks, дедуп, CEP) →
OLAP (ClickHouse/Pinot) 1-5-мин панелдер + Bronze/Silver (append).
2. Batch контур: инкременттер/CDC → Күмүш нормалдаштыруу/SCD → Алтын күнүмдүк терезелер/отчеттор (WORM).
3. Координация: метриктердин бирдиктүү семантикалык катмары; nightly салыштыруу Stream Batch; айырмачылыктар> босого → билеттер.
14) RACI
R (Responsible): Streaming Platform (Stream-Infra), Data Engineering (Batch Models), Domain Analytics (метрика/эреже), MLOps (Fich/Feature Store).
A (Accountable): Head of Data / CDO.
C (Consulted): Compliance/Legal/DPO, Finance (FX/GGR), Risk (RG/AML), SRE (SLO/стоимость).
I (Informed): BI/Продукт/Маркетинг/Операциялар.
15) Жол картасы
MVP (2-4 жума):1. Kafka/Redpanda + 2 сын топик ('payments', 'auth').
2. Flink Joba: watermark + дедуп + 1 CEP эрежеси (AML же RG).
3. OLAP-1-5 мүнөт + dashboard lag/late/dup.
4. Lakehouse Silver (ACID), биринчи Gold. ggr_daily (D + 1 06:00 чейин).
2-этап (4-8 жума):- Инкременттер/CDC домендери, SCD II, семантикалык катмары метрикалык.
- Stream DQ жана nightly Stream Бэтч салыштыруу.
- Регионалдаштыруу (EEA/UK/BR), DSAR/RTBF, Legal Hold.
- Replay-симулятор, canary/A-B релиздери эрежелер/метрика.
- Cost-дашборддор жана квоталар; tiered storage; DR-машыгуулар.
- Autogeneration Documentation Display/метр жана сызык.
16) Киргизүү чек-тизмеси
- Registry схемалар/келишимдер; back-compat тесттер жашыл.
- Stream: watermarks/allowed-lateness, дедуп, DLQ; OLAP панелдер прод.
- Batch: инкременттер/CDC, SCD II, Алтын D + 1 WORM экспорттоо менен.
- Метриканын бирдиктүү семантикалык катмары; nightly салыштыруу Stream Batch.
- DQ-dashboard Freshness/Completeness/Validity; alerty lag/late/dup.
- RBAC/ABAC, шифрлөө, резиденттик; DSAR/RTBF/Legal Hold.
- контролдоо боюнча наркы (cost/GB, cost/query, state size, репликалар квота).
17) Жыйынтык
Stream жана Batch атаандаш эмес, эки тиштүү бир диск. Stream жооп берет "бул жерде жана азыр", Бэтч - текшерилүүчү чындык "эртең менен". Hybrid Lakehouse-мамиле, бир катмар метрика жана тартип DQ/сызык SLA жана наркы боюнча оптималдуу, тез, кайталануучу жана комплаенс аналитикалык контурларды курууга мүмкүндүк берет.