數據倉庫
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混合體後,您將獲得快速且可驗證的決策,為審計,規模和新市場做好準備。