GH GambleHub

Stream vs Batch վերլուծություն

1) Հակիրճ էությունը

Stream-ը վայրկյանների ընթացքում իրադարձությունների շարունակական վերամշակումն է 'հակաֆրոդ/AML, RG-Stuggers, SLA-alerts, վահանակներ։

Batch-ը ամբողջական վերարտադրողականությամբ պարբերական վերահաշվարկ է 'կարգավորող հաշվետվություններ (GGR/NGR), ֆինսվերներ, ML-դանասետներ։

Կենտրոններ ՝ Stream p95 e2e 0։ 5-5 s, Batch D + 1 մինչև 06:00 (lok.) .

2) Ընտրության մատրիցա (TL; DR)

ՔննադատությունStreamBatch
SLA արձագանքվայրկյաններ/րոպե/ օրեր/
Լիխտա (completeness)բարձր, բայց հնարավոր է late ուղղումշատ բարձր, վերահսկվող D + 1
«as-of» վերարտադրողականությունըավելի բարդ է (replay)ավելի հեշտ (Time-travel/www.apshots)
Մեկ միավորի արժեքըավելի թանկ է առցանց ճանապարհըավելի էժան է
Տիպիկ առաջադրանքներAML/RG ալտերտներ, DRE, real-time վիտրինիՀաշվետվություններ, կրկնօրինակներ, ML off-2019
Պատմականություն (SCD)սահմանափակ էլի է
Կարգավորիչ/WORMGold-խաչմերուկի միջոցովnivino (Gold/D + 1)

Կանոն 80/20: Ամեն ինչ, որը չի պահանջում արձագանք <5 րոպե - Batch; մնացածը Stream-ում է, գիշերային Batch-ով։

3) Ճարտարապետություն

3. 1 Lambda

Stream առցանց + Batch-ի համար։ Գումարած 'ճկունություն։ Մինուս 'երկու տրամաբանություն։

3. 2 Kappa

Ամեն ինչ հոսքերի նման է։ Batch = «replay» լոգի միջոցով։ Գումարած ՝ մեկ կոդը։ Մինուս 'կրճատումների բարդությունը/արժեքը։

3. 3 Lakehouse-Hybrid ()

Stream no OLAP-line (րոպե) և Bronze/Silver; Batch-ը փոխանցում է Gold-ը (D + 1) և հրապարակում զեկույցները։

4) Տվյալները և ժամանակը

Stream

Պատուհաններ ՝ tumbling/hopping/session։

Watermarks: 2-5 րոպե; late-ը տեղադրվում է և կրկնվում։

Stateful: CEP, dedup, TTL։

Batch

Redrects/CDC: «corpated _ at», լոգ-կրկնօրինակումը։

SCD I/II/III 'ատրիբուտների պատմությունը։

Դիպուկահարներ ՝ ցերեկային/ամսական շերտեր «as-of» -ի համար։

5) iGaming-ում օգտագործվող արտոնագրերը

AML/Antifrod: Stream (velocity/կառուցվածք) + Batch և Cass։

Responsible Gaming: Stream վերահսկում է սահմանները/ինքնախաբեությունները։ Batch հաշիվները։

Վիրահատություններ/SNE: Stream alerts SLA; Batch post-վերլուծությունը և տենդենցները։

Ապրանքը/մարքեթինգը 'Stream կերպար/առաքելություն; Batch cogorts/LTV։

Ֆինանսներ/հաշվետվություններ ՝ Batch (Gold D + 1, WORM փաթեթներ), Stream - ռուսական վահանակներ։

6) DQ, վերարտադրողականություն, վերարտադրություն, վերարտադրություն

Stream DQ 'սխեմաների վալիդացիա, dedup' (event _ id, source) ", completeness պատուհանը, late-ratio, dup-rate; քննադատական DLQ։

Batch DQ 'յուրություն/FK/range/temensal, OLTP/պրովայդերների հետ։ քննադատական www.fail job + զեկույցը։

Վերարտադրությունը

Stream 'տեղանունների հոսքը + deterministic փոխակերպման միջակայքում։

Batch: Time-travel/տրամաբանության տարբերակները («logic _ version») + Gold։

7) Սեփականատիրությունն ու բնակությունը

Stream: կեղծանունացում, onome-դիմակավորում, տարածաշրջանային փոխակրիչներ (EFC/UK/IV), թայմաուտներ արտաքին PII-lookups-ի վրա։

Batch: PII-mapings, RMS/CLS, DSAR/RTBF, Legal Hold, WORM արխիվները։

8) Cost-inginiring

Stream: խուսափել «տաք» կոմպոզիցիայից (salting), սահմանափակել async lookups, TTL վիճակը, կանխատեսումը։

Batch 'կուսակցականացում/կլաստերիզացիա, small prodes, կայուն ագրեգատների նյութականացում, քվոտաներ/գործարկման պատուհան։

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%

հասանելիությունը 3699 է։ 9%

Batch (ուղեցույցներ)

Gold. daily պատրաստ է մինչև 06: 00 լոկ։

completeness ≥ 99. 5%

validity ≥ 99. 9%

MTTR DQ-2424-48 ժամ

11) Թեստեր և օրինագծեր

Պայմանագրեր/սխեմաներ ՝ consumer-driven tes.ru; back-compat CI.

Stream: Կանարյան կանոնները, մութ արձակումը, replay-սիմուլյատորը։

Batch: wwww.y-run նմուշների վրա, համեմատությունը, ստուգումը (reconciliation)։

12) Anti-patterna

Տրամաբանության կրկնօրինակումը 'Stream-ի և Batch-ի տարբեր հաշվարկներ առանց բանաձևերի հավասարեցման։

Սինխրոն արտաքին API-ը Stream-ի տաք ճանապարհին առանց քեշի/թայմաուտների։

Fultreload «Ամեն դեպքում» ռուսական ելույթների փոխարեն։

Watermarks/late քաղաքական։

PII վերլուծական շերտերում; CLS/RSA-ի բացակայությունը։

Gold-վիտրինները, որոնք «լռում են» հետևից։

13) Չարտոնված հիբրիդ (պլեյբուկ)

1. Stream-2019: ingest www.Flink/Beam (watermarks, dedup, CEP)

OLAP-ը (ClickHouse/Pinot) 1-5-ականների համար + Bronze/Silver (append)։

2. Batch-2019: WORM/CDC www.Silver նորմալացում/SCD no Gold ամենօրյա վիտրիններ/հաշվետվություններ (WORM)։

3. Մոսկվա 'մեկ սեմանտիկ շերտ մետրիկ; nightly Stream no Batch; տարաձայնություններ> տիկետներ։

14) RACI

R (Responsible): Streaming Platform (Stream-infra), Interning (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-job: watermark + dedup + 1 CEP կանոնը (AML կամ RG)։

3. OLAP-վիտրինը 1-5 րոպե + dashbords lag/late/dup։

4. Lakehouse Silver (ACID), առաջին Gold։ ggr _ daily (D + 1 մինչև 06: 00)։

Aleksanda 2 (4-8 շաբաթ)

Redrects/CDC-ը, SCD II-ը, մետրի սեմանտիկ շերտը։

Հոսող DQ-ը և nightly-ը Stream no Batch-ից։

Ռեգիոնալացում (EFC/UK/IV), DSAR/RTBF, Legal Hold։

Բրազիլիա 3 (8-12 շաբաթ)

Replay-սիմուլյատոր, canary/A-B կանոններ/metric։

Cost-dashbords և քվոտաներ; tiered storage; DR ուսուցումները։

Փաստաթղթերի ավտոմատ արտադրությունը վիտրին/մետրիկ և lineage։

16)

  • Սխեմաներ/պայմանագրեր Registry-ում; back-compat թեստերը կանաչ են։
  • Stream: watermarks/allowed-lateness, дедуп, DLQ; OLAP վահանակները վաճառքում։
  • Batch: Rements/CDC, SCD II, Gold D + 1 WORM կոդերով։
  • Մեկ սեմանտիկ շերտ մետրիկ; nightly Stream no Batch։
  • DQ-dashbords 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 ըստ ցանկության
Ձևաչափ՝ երկրի կոդ և համար (օրինակ՝ +374XXXXXXXXX)։

Սեղմելով կոճակը՝ դուք համաձայնում եք տվյալների մշակման հետ։