GH GambleHub

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)

КритерийStreamBatch
SLA жоопсекунд/мүнөтсаат/күн
Толук (completeness)жогорку, бирок мүмкүн late-түзөтүүлөрабдан жогорку, көзөмөлдөнөт D + 1
Воспроизводимость "as-of"татаал (replay)жөнөкөй (убакыт-саякат/snapshots)
Бирдик наркыкымбатыраак онлайн жолкөлөмүнө арзан
Типтүү тапшырмаларAML/RG Алерт, SRE, реалдуу убакыт дисплейотчеттор, текшерүүлөр, ML off-line
Тарыхташтыруу (SCD)чектелгентолук
Жөнгө салуучу/WORMАлтын кайра тандоо аркылуужергиликтүү (Gold/D + 1)

Эреже 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.
Этап 3 (8-12 жума):
  • 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 жана наркы боюнча оптималдуу, тез, кайталануучу жана комплаенс аналитикалык контурларды курууга мүмкүндүк берет.

Contact

Биз менен байланышыңыз

Кандай гана суроо же колдоо керек болбосун — бизге кайрылыңыз.Биз дайым жардам берүүгө даярбыз!

Интеграцияны баштоо

Email — милдеттүү. Telegram же WhatsApp — каалооңузга жараша.

Атыңыз милдеттүү эмес
Email милдеттүү эмес
Тема милдеттүү эмес
Билдирүү милдеттүү эмес
Telegram милдеттүү эмес
@
Эгер Telegram көрсөтсөңүз — Emailден тышкары ошол жактан да жооп беребиз.
WhatsApp милдеттүү эмес
Формат: өлкөнүн коду жана номер (мисалы, +996XXXXXXXXX).

Түшүрүү баскычын басуу менен сиз маалыматтарыңыздын иштетилишине макул болосуз.