GH GambleHub

批处理数据

1)目的和价值

Batch流水线形成可靠的每日/每小时店面,用于:
  • 监管和财务报告(GGR/NGR,税收,RG/AML注册表)。
  • BI和产品分析师(队列,LTV,转换漏斗)。
  • 精度对比(OLTP↔DWH,提供商/PSP),历史化(SCD)。
  • 为ML准备菲奇和训练包。

关键属性:可预测性、完整性、可重复性、每单位数据成本低。

2)体系结构(参考)

1.Ingest(原始捕获):HTTP/gRPC,OLTP的CDC,Bronze →的上载提供商。

2.Lakehouse: Bronze (raw, append-only) → Silver (clean/conform) → Gold (serve).

3.编排:Airflow/Dagster/Prefect(DAG'i,成瘾,retrai,SLA)。
4.处理:Spark/Trino/DBT/SQL引擎;派对和ACID格式(Delta/Iceberg/Hudi)。
5.DQ和合同:计划注册,DQ规则(YAML/SQL),消费者测试。
6.伺服器:BI/语义层,报告导出(CSV/PDF/JSON+hash),API/GraphQL。
7.可观察性:piplines,lineage,logi,成本(cost/GB,cost/query)度量。

3)频率和SLA

每日(D+1至06:00 lock)*GGR报告,监管卸载,对账。
每小时/准现实:Ops/Financial的操作面板。
每周/每月:精炼、模型和逆转录过程。

推荐的SLO:
  • 黄金每日店面准备就绪,直到当地时间06:00。
  • Freshness Silver p95 ≤ 15分钟,用于日间微蝙蝠/≤ 2小时。
  • Completeness ≥ 99.5%,Validity(方桉)≥ 99。9%.

4)增量下载和CDC

方法:
  • CDC(更改数据捕获):Debezium/log复制→ Bronze → Silver中的填充物。
  • Watermark按时间:'updated_at> max_loaded_ts'。
  • 哈希比较:"md5(row)"用于更改检测。
  • Upsert/Merge: Silver/Gold等效更新。
MERGE示例(Delta/Iceberg):
sql
MERGE INTO silver. payments AS s
USING staging. payments_delta AS d
ON s. transaction_id = d. transaction_id
WHEN MATCHED THEN UPDATE SET
WHEN NOT MATCHED THEN INSERT;

5) SCD(测量历史)

SCD I:重写(拼写、次要修补程序)。
SCD II:全功能历史("valid_from/valid_to/is_current")。
SCD III:简要比较的"之前/之后"。

SCD II(示例):
sql
MERGE INTO dim. users_scd t
USING stage. users u
ON t. user_pseudo_id = u. user_pseudo_id AND t. is_current = TRUE
WHEN MATCHED AND (t. country <> u. country OR t. rg_status <> u. rg_status)
THEN UPDATE SET t. is_current = FALSE, t. valid_to = CURRENT_TIMESTAMP
WHEN NOT MATCHED
THEN INSERT (user_pseudo_id, country, rg_status, valid_from, valid_to, is_current)
VALUES (u. user_pseudo_id, u. country, u. rg_status, CURRENT_TIMESTAMP, NULL, TRUE);

6) Backfill и Reprocessing

Backfill:主要填充/历史填充。
Reprocessing:在编辑逻辑/修复数据后重新计算店面。

原则:
  • 相等性(MERGE/upsert),青铜不变性,逻辑转换。
  • 重复运行的时间旅行;元数据快照。
  • Guardrails:限制范围、配额和竞争性乔布斯。
  • 文档:包含步骤和完成标准的运行手册。

7)图层建模

Bronze:

仅适用于"event_date","jurisdiction","tenant"的部分。
我们保留原始的payload(用于forenzika),并固定"ingested_at"。

Silver:

规范化和标准化:FK/参考书,dedup,FX/时间段。
事实/测量表(3NF/BCNF),用于关键测量的SCD。

Gold:

BI/监管机构/财务,准备就绪的SLA之下的非正规店面。
聚合物实现;不可变导出工件(hash+WORM)。

8)数据质量(DQ代码)

Silver的YAML规则示例:
yaml table: silver. payments slo:
freshness_minutes: 15 completeness_percent: 99. 5 rules:
- name: amount_positive type: range column: amount_base min: 0. 01 severity: critical
- name: currency_whitelist type: in_set column: currency set: [EUR,USD,GBP,TRY,BRL]
severity: major
- name: unique_tx type: unique columns: [transaction_id]
severity: critical
- name: fk_user type: foreign_key column: user_pseudo_id ref_table: dim. users_scd severity: critical

反应策略:critical → fail job+DLQ;major/minor →标记+报告。

9)语义层和报告

在Semantic layer/metrics商店中统一度量定义(GGR/NGR,ARPPU,Retention)。
测试指标;与BI/出口套件的集成。
报告:CSV/JSON/PDF+sha 256,上载日志和法律保留。

10)隐私,居住,安全

PII最小化:用户化名;mapping-在单独的保护环中。
数据驻留:EEA/UK/BR上的单独目录/密钥;禁止在没有法律依据的情况下进行跨区域合作。
加密:transit中TLS;KMS/CMK at-rest;出口管制。
DSAR/RTBF:可计算的投影,选择性编辑;可用性审核。
法律保留:用于监管工件的WORM档案。

11)性能和成本

按日期/市场/特南特分期付款;Z-order/cluster按频繁谓词排列。
格式:Parquet+ACID表;压缩/统计,OPTIMIZE/VACUUM。
实现:黄金稳定聚集;避免"整体"乔布斯。
配额/预算:按团队分列的chargeback;后退限制/繁重查询。
计划:低负荷窗口(夜间/周末),队列优先级。

12)可观察性和控制

Piplines度量标准:持续时间,成功率,retries, rows processed, cost/query。
DQ度量标准:完整性,validity, uniqueness, FK错误,漂移。
Freshness heatmap:按领域和市场;SLA-dashbords。
线性:从青铜到报告的起源;变更前的影响分析。
Alerts: SLO预算、DQ降级、延迟、成本上升。

13) SQL/模型示例

货币正常化(Silver):
sql
CREATE OR REPLACE TABLE silver. payments AS
SELECT p. transaction_id,
p. user_pseudo_id,
p. currency,
p. amount_orig,
r. rate AS fx_rate_used,
p. amount_orig r. rate AS amount_base,
p. market,
CAST(p. event_time AS TIMESTAMP) AS event_time
FROM bronze. payment_events p
JOIN dim. fx_rates r
ON r. date = DATE(p. event_time)
AND r. ccy_from = p. currency AND r. ccy_to = 'EUR';
GGR(黄金)每日展示:
sql
CREATE OR REPLACE VIEW gold. ggr_daily AS
SELECT
DATE(b. event_time) AS event_date,
b. market,
g. provider_id,
SUM(b. stake_base) AS stakes_eur,
SUM(p. amount_base) AS payouts_eur,
SUM(b. stake_base) - SUM(p. amount_base) AS 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;
完整性控制(DQ SQL):
sql
SELECT market, event_date, COUNT() AS n
FROM silver. fact_bets
GROUP BY market, DATE(event_time) AS event_date
HAVING n = 0;

14)流程和RACI

R(响应):数据工程(DAG'i,Silver/Gold模型),数据平台(infra,电路寄存器,DQ)。

A (Accountable): Head of Data / Chief Data Officer.

C (Consulted): Compliance/Legal/DPO (PII/retention), Finance (FX/GGR), Risk (RG/AML), SRE (SLO/стоимость).

I (Informed): BI/产品/营销/运营。

15)实施路线图

MVP(4-6周):

1.Lakehouse Bronze/Silver(ACID格式),CDC/2-3域的增量。

2.DQ代码:Payments/Gameplay+CI验证的10-15规则。

3.从SLA到06:00的第一个黄金展示(GGR Daily);报告export+hash。

4.Freshness/Completeness/Cost Dashbords,基本的Alertes。

第二阶段(6至12周):
  • SCD II для users/games/providers;域扩展。
  • 语义层度量;与OLTP/提供商进行对账(accuracy)。
  • Backfill/reprocessing,lineage和impact分析,区域化(EEA/UK)程序。
第三阶段(12周以上):
  • 更改的自动仿真(dry-run),预算/配额,chargeback。
  • 自动文档(数据产品页)、DR练习和时间旅行恢复。
  • 价值优化(聚类,实现,TTL,真空)。

16)售前支票清单

  • Registry中的合同和计划,兼容性测试是绿色的。
  • 增量下载/CDC正在运行,MERGE是偶数。
  • DQ规则是活跃的;critical → fail + DLQ;违规报告。
  • SLA/dashboard新鲜/完整;Alertes设置。
  • PII/DSAR/RTBF/法律保留政策已得到法律/DPO的确认。
  • Runbook'和backfill/reprocessing/DR测试。
  • 控制成本(成本/查询、成本/GB、量)。

17)反模式以及如何避免

整体夜间乔巴:分成独立步骤,按批次平行。
Full reload不需要:使用increment/CDC/mergies。
在分析中溷合PII:保持贴片分开,应用CLS/RLS。
缺少DQ/lineage:输入DQ代码并跟踪来源。
"手动"背景:自动化和记录,限制范围。
非管理成本:聚类,实现,重建策略。

18)词汇表(简短)

CDC-捕获来自OLTP的更改。
SCD-缓慢变化的测量(I/II/III)。
Lakehouse是数据湖+ACID表。
MERGE/Upsert-等效更新操作。
时间旅行-阅读表格的历史版本。
WORM是不可变的工件存储。

19)结果

批处理是可预测,可复制和兼容流水线的学科。遵循计划第一,增量/CDC,SCD历史,DQ编码,可观察性和有意识的经济学原则,您将获得稳定的黄金店面和报告,并随时进行核对并准备审核。

Contact

联系我们

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

开始集成

Email — 必填。Telegram 或 WhatsApp — 可选

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

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