GH GambleHub

Stream vs Batch талдау

1) Қысқаша мәні

Stream - оқиғаларды секундтар ішінде үздіксіз өңдеу: антифрод/AML, RG-триггерлер, SLA-алерттар, жедел панельдер.
Batch - толық жаңғыртылатын кезеңдік қайта есептеу: реттеуші есептілік (GGR/NGR), қаржылық сверктер, ML-датасеттер.

Бағдарлар: Stream p95 e2e 0. 5-5 с. Batch D + 1 06: 00-ге дейін (лок.) .

2) Таңдау матрицасы (TL; DR)

ӨлшемStreamBatch
SLA реакциясысекунд/минутсағат/күн
Толымдылық (completeness)жоғары, бірақ late-түзетулер болуы мүмкінөте жоғары, бақыланатын D + 1
«as-of» қайталануыкүрделірек (replay)оңай (time-travel/snapshots)
Бір бірліктің құныонлайн жолдан қымбаткөлемнен арзан
Үлгі тапсырмаларAML/RG алерта, SRE, real-time витриналаресептер, салыстыру, ML off-line
Тарихтау (SCD)шектеулі түрдетолық
Реттегіш/WORMGold қайта іріктеу арқылыұлттық (Gold/D + 1)

80/20 ереже: реакцияны талап етпейтін барлық <5 минут - Batch; қалғаны - Batch түнгі валидациясымен Stream.

3) Сәулет

3. 1 Lambda

Біріктіру үшін онлайн + Batch үшін Stream. Плюс: икемділік. Минус: екі логика.

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

Инкременттер/CDC: 'updated _ at', лог-репликация.
SCD I/II/III: төлсипаттар тарихы.
Снапшоттар: «as-of» үшін күндізгі/айлық қабаттар.

5) iGaming-те қолдану үлгілері

AML/Антифрод: Stream (velocity/құрылымдау) + Batch салыстыру және кейстер.
Responsible Gaming: Stream лимиттерді/өзін-өзі болдырмауды бақылау; Batch есеп тізілімдері.
Операциялар/SRE: Stream SLA; Batch оқиғалар мен трендтерді пост-талдау.
Өнім/маркетинг: Stream персоналдандыру/миссиясы; Batch когорты/LTV.
Қаржы/есептер: Batch (Gold D + 1, WORM-пакеттер), Stream - жедел панельдер.

6) DQ, жаңғыртылуы, реплика

Stream DQ: сұлбаларды валидациялау, дедуп '(event_id, source)', completeness терезелер, late-ratio, dup-rate; сыни → DLQ.
Batch DQ: бірегейлік/FK/range/temporal, OLTP/провайдерлермен салыстыру; сыни → fail job + есеп.

Қайталануы:
  • Stream: + deterministic трансформация ауқымы бойынша топиктерді репликалау.
  • Batch: time-travel/логика нұсқасы ('logic _ version') + Gold snapshots.

7) Жекешелiк және резиденттiк

Stream: бүркемелеу, online-бүркемелеу, өңірлік конвейерлер (EEA/UK/BR), сыртқы PII-lookups таймауттар.
Batch: PII-маппингтерді оқшаулау, RLS/CLS, DSAR/RTBF, Legal Hold, WORM-мұрағаттар.

8) Cost-инжиниринг

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

Stream (бағдар)

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 және Batch есептеулері формулаларды теңестірмей.
Кэшсіз/таймаусыз ыстық жолдағы синхронды сыртқы API.
Full reload инкременттер орнына «жағдайға».
watermarks/late-саясатының болмауы.
талдау қабаттарында PII; CLS/RLS болмауы.
Артқы күнмен «мутацияланатын» Gold-витриналар.

13) Ұсынылған будан (плейбук)

1. Stream-контур: ingest → шина → Flink/Beam (watermarks, дедуп, CEP) →

OLAP (ClickHouse/Pinot) 1-5 мин. панельдер үшін + Bronze/Silver (append).
2. Batch контур: инкременттер/CDC → Silver қалыпқа келтіру/SCD → Gold тәуліктік витриналар/есептер (WORM).
3. Келісу: метриктердің бірыңғай семантикалық қабаты; nightly Stream Batch салыстыру; айырмашылықтар> табалдырық → тикеттер.

14) RACI

R (Responsible): Streaming Platform (Stream-инфра), Data Engineering (Batch модельдері), Domain Analytics (метриктер/ережелер), 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/Өнім/Маркетинг/Операциялар.

15) Жол картасы

MVP (2-4 апта):

1. Kafka/Redpanda + 2 сыни топика ('payments', 'auth').

2. Flink-джоба: watermark + дедуп + 1 CEP-ереже (AML немесе RG).

3. OLAP-витринасы 1-5 мин + дашбордтар lag/late/dup.

4. Lakehouse Silver (ACID), бірінші Gold. ggr_daily (D + 1 06:00 дейін).

2-фаза (4-8 апта):
  • Домендер бойынша инкременттер/CDC, SCD II, метриктердің семантикалық қабаты.
  • DQ ағыны және nightly Stream Batch салыстыру.
  • Аймақтандыру (EEA/UK/BR), DSAR/RTBF, Legal Hold.
3-фаза (8-12 апта):
  • Реплей-симулятор, canary/A-B ережелер/метриктер релиздері.
  • Cost-дашбордтар және квоталар; tiered storage; DR-жаттығулар.
  • Витриналар/метриктер және lineage құжаттамасының автогенерациясы.

16) Енгізу чек-парағы

  • Registry-дегі схемалар/келісімшарттар; back-compat тестілері жасыл.
  • Stream: watermarks/allowed-lateness, дедуп, DLQ; Сынамадағы OLAP тақтасы.
  • Batch: WORM экспортымен инкременттер/CDC, SCD II, Gold D + 1.
  • Метриктердің бірыңғай семантикалық қабаты; nightly Stream Batch.
  • DQ-дашбордтар Freshness/Completeness/Validity; алерталар lag/late/dup.
  • RBAC/ABAC, шифрлау, резиденттік; DSAR/RTBF/Legal Hold.
  • Құны бақылауда (cost/GB, cost/query, state size, репликалар квоталанған).

17) Жиынтық

Stream және Batch бәсекелес емес, бір жетекті екі тісті доңғалақ. Stream «осында және қазір» реакциясын береді, Batch - «таңертең» тексерілетін шындық. Lakehouse-тәсіл гибриді, метрикалардың бірыңғай қабаты және DQ/lineage тәртібі SLA мен құны бойынша оңтайлы, жылдам, ойнатылатын және жинақы аналитикалық контурларды құруға мүмкіндік береді.

Contact

Бізбен байланысыңыз

Кез келген сұрақ немесе қолдау қажет болса, бізге жазыңыз.Біз әрдайым көмектесуге дайынбыз!

Интеграцияны бастау

Email — міндетті. Telegram немесе WhatsApp — қосымша.

Сіздің атыңыз міндетті емес
Email міндетті емес
Тақырып міндетті емес
Хабарлама міндетті емес
Telegram міндетті емес
@
Егер Telegram-ды көрсетсеңіз — Email-ге қоса, сол жерге де жауап береміз.
WhatsApp міндетті емес
Пішім: +ел коды және номер (мысалы, +7XXXXXXXXXX).

Батырманы басу арқылы деректерді өңдеуге келісім бересіз.