数据仓库
1) DWH在iGaming中的任命和角色
DWH是用于报告,分析,合并和ML的数据整合和浏览的中心层。它提供:- 统一度量定义(GGR/NGR,ARPPU,Retention,Churn)。
- 可为监管机构和内部摊贩生成的报告。
- 用于BI/操作面板的快速店面和型号的来源。
- 平台级别的质量控制,线性和安全性。
2)建筑选择
2.1 Classic DWH
ETL → DWH(恒星/雪花)→ BI。
优点:可控模型,强一致性。
缺点:昂贵的下载,复杂的回火,有限的灵活性。
2.2 Lakehouse DWH
ACID表上的Bronze/Silver/Gold(Delta/Iceberg/Hudi)+SQL/MPP引擎。
优点: 一个单一的存货,时间旅行,简单的重新销售.
缺点:需要层和DQ的纪律,成熟的编排。
2.3溷合动力车
Lakehouse是"真理之源"(Bronze/Silver),DWH-march在MPP(ClickHouse/Pinot/Druid/Cloud DWH)中用于高速阅读。
优点:成本和性能的平衡,灵活的店面。
缺点:双重支持电路和滚动,需要同步。
建议:适用于iGaming-Lakehouse+DWH-mart(溷合体)。Bronze/Silver-标准化,Gold/Real-time marts-提供阅读负载。
3)数据建模
3.1星雪花
事实表:狭窄,事件:'fact_bets','fact_payouts','fact_payments'。
测量:'dim_users'(SCD),'dim_games','dim_providers','dim_markets'。
雪花适合Silver(正常化),Star适合Gold(阅读)。
3.2 Data Vault 2.0(集成内核)
Hubs(业务密钥),Links(关系),卫星(上下文/历史)。
在Silver 中应用于长期提供商/PSP集成。
3.3 SCD I/II/III
RG/KYC/频道和游戏属性(RTP/波动)的SCD II。
严格的"valid_from/valid_to"间隔,按时间正确地加入。
4)下载: ETL/ELT,CDC和嵌套
ELT方法:加载到Silver →转换为DWH。
CDC:来自OLTP的Debezium/同源复制;Merjas是偶然的。
附录:通过时间水('updated_at> max_loaded_ts')和/或hash-delta。
Backfill/Reprocessing:时间旅行,范围,配额,dry-run比较。
sql
MERGE INTO silver. payments s
USING stage. payments_delta d
ON s. transaction_id = d. transaction_id
WHEN MATCHED THEN UPDATE SET
WHEN NOT MATCHED THEN INSERT;
5)语义层和度量
Metrics Store/语义层:单个GGR/NGR/Conversion/LTV公式。
可重复性的度量和"as-of"计算的转换。
约定:指标名称、单位、货币(基本欧元)和"fx_source"。
6)店面和伺服器
黄金店面: 非正规的SLA准备就绪(例如06:00 lock之前)。.
运营三月:ClickHouse/Pinot/Druid,面板1-5分钟。
导出:CSV/JSON/PDF+hash;不变数据包(WORM)用于调节器。
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;
7)数据质量(DQ)和合同
Schema-first: JSON/Avro registry+兼容性测试(消费者驱动)。
DQ-как-код: completeness/validity/uniqueness/FK/range/temporal.
反应策略:critical → fail+DLQ;专业/小调→标签和报告。
DQ可观察性:Freshness/Completeness/Validity dashbords,丢失记录的漏斗。
8)安全,隐私和居住
PII最小化:通过pseudo-ID的用户;mappings是分开的。
RLS/CLS:按角色和辖区进行构建/后奥尔布茨访问。
加密:transit中TLS;at-KMS/CMK轮换。
数据驻留:EEA/UK/BR的单独目录和密钥;无故禁止跨区域合作。
DSAR/RTBF:可计算投影和选择性编辑;报告文物的法律保留。
9)性能和成本(成本工程)
参与:按日期/市场/特南特分列;通过"市场","provider_id","game_id","user_pseudo_id" 聚类/Z-order。
格式:Parquet+统计和压缩;OPTIMIZE/VACUUM按计划。
实现:稳定的集合和汇总表;在飞行中避免"胖子"加入。
配额/配额:重度查询/重播预算;报告cost/query, cost/GB。
Tiered storage: hot/warm/cold;明确的恢复SLA。
10)可观察性和控制
Pipline度量标准:持续时间、体积、回程、滞后、容错。
DWH指标:响应时间/竞争性/缓存命中/成本。
线性:从源到报告的图形;变更时的影响分析。
SLO: Freshness Silver p95 ≤ 15 мин;黄金日报-准备到06: 00;Validity ≥ 99.9%;Completeness ≥ 99.5%;可用性≥ 99。9%.
11)多元性和域隔离
按计划/数据库/目录划分为tenant/市场。
配额和资源组;限制"嘈杂的邻居"。
Tenant之间的出口/进口政策,标准化合同。
12)数据和文件登记册
数据目录:所有者,SLA,示例,示例,DQ规则,线性。
度量/dashbords:公式和责任卡。
更改日志:逻辑、迁移、影响(影响)版本。
13)流程和RACI
R(响应性):数据工程(Silver/Gold,DAG'和),数据平台(infra,registry,DQ)。
A (Accountable): Head of Data/CDO.
C (Consulted): Compliance/Legal/DPO, Finance (FX/GGR), Risk (RG/AML), SRE (SLO/стоимость).
I(信息): BI, Product, Marketing, Operation.
14)实施路线图
MVP(4-6周):1.湖畔青铜器/银器(ACID表),Payments/Gameplay的CDC/镶嵌物。
2.第一个黄金店面(GGR Daily,转换),SLA直到06:00。
3.DQ码为(10-15规则)+Freshness/Completeness dashbords。
4.数据目录和基本语义层度量。
第二阶段(6至12周):- SCD II для users/games/providers;域扩展。
- 实时/近实时面板的实时三月(ClickHouse/Pinot)。
- 线性/影响分析,DSAR/RTBF程序,区域化(EEA/UK)。
- 更改的自动仿真(dry-run),反射和度量比较。
- Chargeback/配额,成本差价板;DR演习和时间旅行恢复。
- 自动生成店面文档和度量卡。
15) SQL模板示例
投注事实(Silver,3NF):sql
CREATE TABLE silver. fact_bets (
bet_id STRING PRIMARY KEY,
user_pseudo_id STRING NOT NULL,
game_id STRING NOT NULL,
stake_ccy DECIMAL(18,2) NOT NULL,
currency CHAR(3) NOT NULL,
stake_base DECIMAL(18,2) NOT NULL,
market CHAR(2) NOT NULL,
event_time TIMESTAMP NOT NULL
);
与SCD II的连接(在投注时获得RG状态):
sql
SELECT b. bet_id, u. rg_status
FROM silver. fact_bets b
JOIN dim. users_scd u
ON u. user_pseudo_id = b. user_pseudo_id
AND b. event_time >= u. valid_from
AND (u. valid_to IS NULL OR b. event_time < u. valid_to);
市场完整性控制:
sql
SELECT market, DATE(event_time) d, COUNT() n
FROM silver. fact_bets
GROUP BY market, DATE(event_time)
HAVING n = 0;
16)售前支票清单
- 注册表中的计划和合同,兼容性测试是绿色的。
- CDC/increments和MERGE程序是相等的。
- 金色店面有SLA,固定度量公式。
- DQ规则是活动的(critical → fail+DLQ), Freshness/Completeness dashbords。
- RBAC/ABAC,加密,按地区居住,访问日志。
- 包括Lineage/impact;时间旅行/备份/DR已验证。
- 控制下的成本:聚会,聚类,实现,配额。
17)反模式和风险
"一个油腻的DWH没有层":原始和报告的数据的混合物→混乱和昂贵的修复。
每天完全重新发布,无需:使用increment/CDC。
没有所有者和公式的黄金:缺乏单一版本的真相→争议和倒退。
分析层中的PII:将mappings分开,CLS/RLS。
缺少DQ/Lineage:没有可证明的监管机构/审计。
非管理成本:无批次/优化/配额。
18)词汇表(简短)
DWH是用于整合和分析的数据仓库。
Lakehouse是数据湖+ACID表和SQL引擎。
CDC-捕获来自OLTP的更改。
SCD-缓慢变化的测量(I/II/III)。
黄金展示-即食报告表/视图。
Semantic Layer-指标和属性的统一定义。
19)结果
适用于iGaming的现代DWH不是"大桌子",而是托管平台:青铜/银/金层,严格的合同和DQ,单一指标和线性,隐私和居住性,性能和成本效益。建立Lakehouse+DWH-March溷合体后,您将获得快速且可验证的决策,为审计,规模和新市场做好准备。