GH GambleHub

Stream vs Batch analizi

1) Qısa mahiyyət

Stream - hadisələrin saniyələr ərzində davamlı emalı: antifrod/AML, RG tetikleyiciləri, SLA alertləri, əməliyyat panelləri.
Batch - tam reproduktivliyi ilə periodik yenidən hesablama: tənzimləyici hesabatlar (GGR/NGR), maliyyə sverkləri, ML-datasetlər.

Göstərici: Stream p95 e2e 0. 5-5 s, Batch D + 1 06:00 (lok.) .

2) Seçim matrisi (TL; DR)

MeyarStreamBatch
SLA reaksiyalarısaniyə/dəqiqəsaat/gün
Dolğunluq (completeness)yüksək, lakin mümkün late düzəlişlərçox yüksək, nəzarət D + 1
«as-of» reproduktivliyidaha çətin (replay)asan (time-travel/snapshots)
Vahid dəyəridaha bahalı onlayn yolhəcminə görə daha ucuz
Tipik tapşırıqlarAML/RG alertlər, SRE, real vaxt vitrinlərihesabatlar, yoxlama, ML off-line
Tarixləşmə (SCD)məhdudtam
Tənzimləyici/WORMGold-təkrar seçim vasitəsiləyerli (Gold/D + 1)

80/20 qaydası: reaksiya tələb etməyən hər şey <5 dəqiqə - Batch; qalan - Stream, gecə validasiya Batch ilə.

3) Memarlıq

3. 1 Lambda

Konsolidasiya üçün online + Batch üçün Stream. Plus: çeviklik. Mənfi: iki məntiq.

3. 2 Kappa

Bütün axınlar kimi; Batch = log vasitəsilə «replay». Plus: vahid kod. Mənfi: repleylərin mürəkkəbliyi/dəyəri.

3. 3 Lakehouse-Hybrid (tövsiyə olunur)

Stream → əməliyyat OLAP-mart (dəqiqə) və Bronze/Silver; Batch Gold (D + 1) yığır və hesabatları dərc edir.

4) Məlumat və vaxt

Stream

Pəncərələr: tumbling/hopping/session.
Watermarks: 2-5 dəq; late data etiketlənir və emitasiya olunur.
Stateful: CEP, dedup, TTL.

Batch

Inkrementlər/CDC: 'updated _ at', log-replikasiya.
SCD I/II/III: atributların tarixi.
Snapshot: «as-of» üçün gündəlik/aylıq təbəqələr.

5) iGaming tətbiq nümunələri

AML/Antifrod: Stream (velocity/strukturlaşdırma) + Batch yoxlama və cases.
Responsible Gaming: Stream limitləri/özünü istisna nəzarət; Batch hesabat reyestrləri.
Əməliyyatlar/SRE: Stream SLA; Hadisələrin və trendlərin post-analizi.
Product/Marketing: Stream personalization/missiya; Batch kohorts/LTV.
Maliyyə/Hesabatlar: Batch (Gold D + 1, WORM paketləri), Stream - əməliyyat panelləri.

6) DQ, təkrarlanabilirlik, replica

Stream DQ: sxemlərin validasiyası, dedup '(event_id, source)', pəncərələrin completeness, late-ratio, dup-rate; kritik → DLQ.
Batch DQ :/FK/range/temporal unikallığı, OLTP/provayderləri ilə müqayisə; kritik → fail job + hesabat.

Reproduktivlik:
  • Stream: + deterministik transformasiya diapazonu üzrə topik replica.
  • Batch: time-travel/məntiq versiyası ('logic _ version') + Gold snapshots.

7) Gizlilik və rezidentlik

Stream: psevdonimization, online-maskalama, regional konveyerlər (EEA/UK/BR), xarici PII-lookups üçün vaxt.
Batch: izolyasiya PII-mapping, RLS/CLS, DSAR/RTBF, Legal Hold, WORM-arxivlər.

8) Cost-mühəndislik

Stream: «isti» açarları (salting) qarşısını almaq, async lookups məhdudlaşdırmaq, TTL halları, ön aqreqasiya.
Batch: partifikasiya/klasterləşdirmə, kiçik files kompaksiyası, sabit aqreqatların materiallaşdırılması, kvotalar/başlanğıc pəncərələri.

9) Nümunələr

9. 1 Stream - Flink SQL (10-dəq velocity depozitlər)

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 psevdokod)

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 increment)

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) Metrika və SLO

Stream

p95 ingest→alert ≤ 2–5 c completeness окна ≥ 99. 5%

schema-errors ≤ 0. 1%

late-ratio ≤ 1%

mövcudluğu ≥ 99. 9%

Batch

Gold. daily 06:00 lok qədər hazır.

completeness ≥ 99. 5%

validity ≥ 99. 9%

MTTR DQ-hadisə ≤ 24-48 saat

11) Test və buraxılışlar

Müqavilələr/sxemlər: consumer-driven tests; back-compat CI.
Stream: Kanarya qaydaları, qaranlıq başlanğıc, replay simulyator.
Batch: nümunələrdə dry-run, metrik müqayisə, nəzarət toplaması (reconciliation).

12) Anti-nümunələr

Mantığın təkrarlanması: düsturları bərabərləşdirmədən müxtəlif Stream və Batch hesablamaları.
Cache/time olmadan isti Stream yolda sinxron xarici API.
Tam reload «hər ehtimala qarşı» inkrementlər əvəzinə.
watermarks/late siyasətinin olmaması.
PII analitik təbəqələrdə; CLS/RLS yoxdur.
Geriyə doğru «mutasiya» edən qızıl vitrinlər.

13) Tövsiyə hibrid (playbook)

1. Stream kontur: ingest → şin → Flink/Beam (watermarks, dedup, CEP) →

OLAP (ClickHouse/Pinot) 1-5 min panel + Bronze/Silver (append) üçün.
2. Batch kontur: artım/CDC → Silver normallaşma/SCD → Gold gündəlik vitrinlər/hesabatlar (WORM).
3. Koordinasiya: metriklərin vahid semantik təbəqəsi; nightly Stream, Batch; uyğunsuzluqlar> eşik → biletlər.

14) RACI

R (Responsible): Streaming Platform (Stream-infra), Data Engineering (Batch modelləri), Domain Analytics (Metrik/Qaydalar), MLOps (Feature Store).
A (Accountable): Head of Data / CDO.
C (Consulted): Compliance/Legal/DPO, Finance (FX/GGR), Risk (RG/AML), SRE (SLO/стоимость).
I (Informed): BI/Məhsul/Marketinq/Əməliyyatlar.

15) Yol xəritəsi

MVP (2-4 həftə):

1. Kafka/Redpanda + 2 tənqidi topika ('payments', 'auth').

2. Flink job: watermark + dedup + 1 CEP qaydası (AML və ya RG).

3. OLAP vitrin 1-5 dəq + dashboard lag/late/dup.

4. Lakehouse Silver (ACID), ilk Gold. ggr_daily (D + 1 - 06:00).

Faza 2 (4-8 həftə):
  • Domen artımları/CDC, SCD II, metrik semantik təbəqə.
  • Stream DQ və nightly Stream, Batch.
  • Regionallaşdırma (EEA/UK/BR), DSAR/RTBF, Legal Hold.
Faza 3 (8-12 həftə):
  • Replay-simulyator, canary/A-B buraxılış qaydaları/metrik.
  • Cost-dashboard və kvotalar; tiered storage; DR təlimləri.
  • Vitrin/metrik və lineage sənədlərinin avtomatik generasiyası.

16) Giriş çek siyahısı

  • Registry sxemləri/müqavilələri; back-compat testlər yaşıl.
  • Stream: watermarks/allowed-lateness, дедуп, DLQ; Prodda OLAP panelləri.
  • Batch: WORM ixracatı ilə artım/CDC, SCD II, Gold D + 1.
  • Vahid semantik metrik təbəqə; nightly Stream Batch.
  • DQ-daşbordları Freshness/Completeness/Validity; alertlər lag/late/dup.
  • RBAC/ABAC, şifrələmə, rezidentlik; DSAR/RTBF/Legal Hold.
  • Nəzarət altında dəyəri (cost/GB, cost/query, state size, replies kvota).

17) Yekun

Stream və Batch rəqib deyil, iki təkərli təkərlər. Stream «burada və indi» reaksiyasını verir, Batch - «səhər» yoxlanılan həqiqət. Lakehouse hibrid yanaşma, vahid metrik təbəqə və DQ/lineage nizam-intizam SLA və dəyəri optimal sürətli, təkrar və komplayent analitik konturlar qurmaq üçün imkan verir.

Contact

Bizimlə əlaqə

Hər hansı sualınız və ya dəstək ehtiyacınız varsa — bizimlə əlaqə saxlayın.Həmişə köməyə hazırıq!

İnteqrasiyaya başla

Email — məcburidir. Telegram və ya WhatsApp — istəyə bağlıdır.

Adınız istəyə bağlı
Email istəyə bağlı
Mövzu istəyə bağlı
Mesaj istəyə bağlı
Telegram istəyə bağlı
@
Əgər Telegram daxil etsəniz — Email ilə yanaşı orada da cavab verəcəyik.
WhatsApp istəyə bağlı
Format: ölkə kodu + nömrə (məsələn, +994XXXXXXXXX).

Düyməyə basmaqla məlumatların işlənməsinə razılıq vermiş olursunuz.