GH GambleHub

Stream vs Batch分析

1)简短的精髓

Stream-在几秒钟内对事件进行连续处理:antifrod/AML、RG触发器、SLA-alerta、操作面板。
Batch是具有完整可重复性的定期重新计算:监管报告(GGR/NGR),finswerks,ML-datasets。

地标: Stream p95 e2e 0。5-5秒,Batch D+1到06:00 (lock.).

2)选择矩阵(TL;DR)

标准StreamBatch
反应SLA秒/分钟时间/天数
完整性(完整性)高但可以进行后期修复非常高,D+1控制
"as-of"可重复性"更复杂(replay)更简单(时间旅行/快照)
单位成本更昂贵的在线路径每体积便宜
示范任务AML/RG alerta, SRE,实时店面报告、核对、ML离线
历史化(SCD)有限的充满了
监管机构/WORM通过Gold Rezbor本地(Gold/D+1)

第80/20条规则:在Batch中不需要反应的任何事情<5分钟;其余的在Stream,与Batch的夜间验证。

3)体系结构

3.1 Lambda

Stream for online+Batch用于整合。加:灵活性。减:两个逻辑。

3.2 Kappa

一切都像溪流;Batch=通过日志进行"倒带"。另外:一个代码。减:反射的复杂性/成本。

3.3 Lakehouse-Hybrid(推荐)

流式→操作OLAP 3月(分钟)和Bronze/Silver;Batch重新包装黄金(D+1)并发布报告。

4)数据和时间

Stream

窗口:tumbling/hopping/session。
Watermarks:2-5分钟;后期数据被标记和删除。
Stateful:CEP,dedup,TTL。

Batch

Increments/CDC:"updated_at",日志复制。
SCD I/II/III:属性的历史。
Snapshots:"as-of"的白天/月度层。

5)在iGaming中的应用模式

AML/Antifrod:流(velocity/结构)+Batch对账和案例。
响应游戏:流极限/自我体验控制;Batch报告注册表。
运营/SRE:Stream Alerta SLA;对事件和趋势进行后期分析。
产品/营销:流个性化/任务;Batch 队列/LTV。
财务/报告:Batch (Gold D +1, WORM套件),Stream-操作面板。

6) DQ,可重复性,反射

Stream DQ:方案验证,dedup"(event_id,source)",窗口完整性,后期评分,dup-rate;关键的DLQ →。
Batch DQ: 唯一性/FK/range/temporal,与OLTP/提供商对账;关键→ fail job+报告。

可重复性:
  • Stream:跨越+deterministic变换范围的拓扑。
  • Batch:时间旅行/逻辑版本("逻辑版本")+Gold snapshots。

7)隐私和居留权

流:化名,在线掩码,区域输送机(EEA/UK/BR),外部PII-lookups的时间表。
Batch:PII映射隔离,RLS/CLS,DSAR/RTBF,法律保留,WORM档案。

8)成本工程

流:避免"热键"(salting),限制async lookups,TTL状态,预聚合。
Batch:分组/聚类,小文件压缩,稳定单元的实现,配额/启动窗口。

9)示例

9.1 Stream-Flink SQL (10分钟优先存款)

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(银铸造)

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.每日准备到06:00 lock。

completeness ≥ 99.5%

validity ≥ 99.9%

MTTR DQ事件≤ 24-48小时

11)测试和发布

合同/计划: 消费者驾驶测试;back-compat CI.

流:金丝雀规则,黑暗启动,重播模拟器。
Batch: dry-run在采样、指标比较、校验总和(reconciliation)。

12)反模式

逻辑重复:不同的Stream和Batch计算没有公式对齐。
在没有缓存/定时器的Stream热路径中同步外部API。
"以防万一"完全重置而不是增添。
缺少watermarks/late策略。
分析层中的PII;没有CLS/RLS。
追溯地"变异"的黄金店面。

13)推荐的混合动力(花花公子)

1.流路径:ingest →总线→ Flink/Beam(watermarks,dedup,CEP)→

OLAP(ClickHouse/Pinot)用于1-5分钟面板+青铜/银(append)。
2.Batch回路:increments/CDC → Silver 正常化/SCD →黄金每日店面/报告(WORM)。
3.配对:单个语义层度量;夜间Stream↔Batch对账;差异>阈值→滴答声。

14) RACI

R(响应性):流平台(流输入),数据工程(Batch模型),域分析(度量/规则),MLOps(fichi/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+dedup+1 CEP规则(AML或RG)。

3.OLAP陈列柜1-5分钟+dashboard lag/late/dup。

4.Lakehouse Silver(ACID),第一枚金牌。ggr_daily (D+1至06:00)。

第二阶段(4-8周):
  • 按域,SCD II,语义度量层/CDC。
  • 流式DQ和夜间对账Stream↔Batch。
  • 区域化(EEA/UK/BR),DSAR/RTBF,法律保留。
第三阶段(8至12周):
  • Replay Simulator,canary/A-B规则/度量版本。
  • Cost-dashbords和配额;tiered storage;DR演习。
  • 店面/度量和线性文档的自动生成。

16)实施支票

  • Registry的计划/合同;背对背测试为绿色。
[] Stream: watermarks/allowed-lateness, дедуп, DLQ;销售中的OLAP面板。
  • Batch: increments/CDC、SCD II、Gold D+1 with WORM export。
  • 单个语义层度量;夜间核对Stream↔Batch。
  • DQ-dashbords Freshness/Completeness/Validity;Alerta lag/late/dup。
  • RBAC/ABAC,加密,居住;DSAR/RTBF/Legal Hold.
  • 控制成本(成本/GB、成本/查询、状态大小、继电器配额)。

17)结果

Stream和Batch不是竞争对手,而是两个单一驱动器的齿轮。Stream提供了"这里和现在"的反应,Batch是"早晨"可验证的真相。Lakehouse方法混合体,单层度量和DQ/lineage学科,使您可以构建快速,可复制和兼容的分析轮廓,从而实现SLA和成本的最佳化。

Contact

联系我们

如需任何咨询或支持,请随时联系我们。我们随时准备提供帮助!

开始集成

Email — 必填。Telegram 或 WhatsApp — 可选

您的姓名 可选
Email 可选
主题 可选
消息内容 可选
Telegram 可选
@
如果填写 Telegram,我们也会在 Telegram 回复您。
WhatsApp 可选
格式:+国家代码 + 号码(例如:+86XXXXXXXXX)。

点击按钮即表示您同意数据处理。