GH GambleHub

数据湖和集中存储

(部分: 技术和基础设施)

简短摘要

Data Lake是集中存储原材料和整合数据集的基本层。对于iGaming,它接受投注/支付/游戏日志事件,合作伙伴卸载,来自OLTP的CDC,并将它们交给分析师,反欺诈者,CRM和BI。Lakehouse:开放式柱式格式+ACID表层+单一目录+交易/数据版本。成功的关键是计划和参与纪律,成本管理,PII安全和严格的运营文化(DQ,线性,DR)。

Data Lake在iGaming平台中的作用

分析的单一真理点:无论来源和格式如何,都要存储原始和清除的数据。
灵活性:支持击球和流媒体(CDC/连接器,活动流)。
演变:从原始的青铜到保形的Silver和Gold商业展示柜。
责任分工:prod服务写入总线/站点,分析/ML从Lake层消费。

建筑模型: Lake vs Lakehouse

数据湖(S3/ADLS/GCS+Parquet/ORC):读取计划,廉价存储,格式灵活性。
Lakehouse (Delta/Iceberg/Hudi在Parquet之上):ACID交易,upsert/merge,时间旅行,紧凑型文件,真空,索引/聚类。
练习:对于iGaming来说,Lakehouse作为主层是有益的,外部OLAP(ClickHouse/BigQuery/Snowflake/Pinot)作为店面和香料引擎。

奖章图层模型

青铜(Raw/Staging):来自源的原始文件(CDC、日志转储、合作伙伴CSV、webhooks)。最低验证,"原样"。
Silver (Conformed):清洗/去除、货币/时区正常化、类型转换、SCD测量、一致性密钥。
黄金(Marts/Serving):GGR/NGR/LTV/Retention的单元,BI/CRM/antifrod下的实体店面。
TTL:在Bronze上具有侵略性,在Silver上具有中等性,在Gold单位上具有长期性。

格式和表格层

柱子:Parquet(事实上的标准),ORC。

开放表格式(ACID):
  • Delta Lake-交易,"MERGE",时间旅行,优化/真空,Z订单。
  • Apache Iceberg 是带有清单/snapshot,隐藏派对,"MERGE/DELETE/UPDATE",时间旅行的表格。
  • Apache Hudi-抄写上/读取上,upsert优化,增量提取。
  • 根据生态系统和对电路upsert/流/灵活演变的要求做出选择。

目录和转移

单一目录(Hive Metastore/Unity/Glue/平台目录)存储方案,部分,版本,权利。
要求:与表层的事务一致性,支持多个引擎(Spark、Trino/Presto、Flink、dbt)、审计/在线。

模式和演变

Schema contract:捕获必填字段,类型,语义;来源("schema_version")。
演变:增加可选的字段,禁止在没有迁移的情况下发生变化;piplines中的自动支票电路。
PII分段:敏感字段-分为具有加密和单独权限的单独列/表。

数据分派和退出

日期/小时是事件的基本关键;dop.字段:"country"、"product"、"tenant_id"。

Hive-style путь: `s3://lake/bronze/payments/source=pspA/dt=2025-11-05/hour=13/part-0001.parquet`.

聚类/排序:Z-order/Sort按经常过滤的字段(player_id,国家)键。
文件大小:瞄准128-1024 MB;避免"小文件"(见下文)。
虚拟扬声器(Iceberg/Delta)用于隐藏党派化。

小文件与复合问题

来源流传着小桶→扫描和元数据的退化。
解决方桉:定期optimize/compaction (coalesce), compaction任务调度程序,butch-micro bundle on ingestion, "autoOptimize"(如果可用)。
Merge-on-read与copy-on-write策略是写作潜伏期与读取速度之间的平衡。

无花果: batch,stream,CDC

来自OLTP(Debezium/连接器)→青铜的CDC(分钟新鲜)。
Stream(Kafka/Flink/Spark Structured Streaming)→ Silver/Gold增量(upsert/merge)。
Batch(合作伙伴报告/CSV/JSON)-通过带有清单的"接收器",通过checksum控制拍摄。
Idempotency: keys (idempotency_key), dedup by (key, ts)),"水印"(watermarks),用于以后到达的记录。

数据质量(DQ)和线性

DQ支票:完整性、密钥唯一性、范围、参考完整性(国家/货币列表)、业务规则(GGR ≥ 0)。
线条:从报告到源的依赖项图、模型代码版本和表格快照。
电路控制:自动背部/前向复合测试,阻止"断开"更改。
下载审核:谁/时间/多少,被拒绝的批次,转发。

伺服器和访问

SQL引擎:Spark/Trino/Presto用于临时和转换;用于ELT模型的dbt。
实时/近实时:Pinot/Druid/ClickHouse作为店面;Lakehouse是通过增量sink的来源。
数据共享:表格/snapshot对外部命令没有拷贝(如果格式支持)。

安全性、PII和多重性

加密:at rest(KMS)和in-transit(TLS)。
IAM/RBAC/ABAC:目录/表/列/字符串级别的角色(掩码、动态策略)。
按地区划分(欧盟/土耳其/拉特姆本地化):隔离垃圾桶和计算池。
多重性:namespace/目录和路径前缀,"tenant_id"过滤器,可选-row-level policies。
访问审核:元数据读取/更改逻辑、重构和不可修改日志。

成本管理

存储类:标准类中的热(通常可读),带有TTL策略的冷/冰川类中的存档。
分党/集群将扫描减少→低于$。
用于昂贵报告的实例化店面;BI结果缓存。
编译和"正确的文件大小"-少于元数据和I/O。
配额和预算编制:计算集群/joba的限制,dataset/团队的价值报告。
垃圾清除:表格格式的"VACUUM/REWRITE",TTL青铜。

DR和可重复性

转化表(时间旅行)和目录快照。
跨区域垃圾箱和元数据复制。
PITR:存储表事务日志(Delta/Iceberg/Hudi)和管道日志。
游戏日:定期进行区域恢复和切换演习。

可观察性和SLO

SLO新鲜:青铜≤ 5分钟,Silver ≤ 15-30分钟,黄金≤ 60分钟(示例)。
度量标准:文件的体积/数量、平均镶板文件大小、扫描时间、错过批次的百分比、计算频率、成本/数据集、DQ错误、延迟数据。
Alerta:小文件激增,成本上升,p95/p99降解,DQ/电路中断,流式胶带滞后。

神经元和路径公约(模板)


s3://<lake>/<layer>/<domain>/<dataset>/
source=<sys>/      # для Bronze dt=YYYY-MM-DD/
hour=HH/
country=XX/

Dataset名称是:'bets_raw','payments_cdc','players_silver','mart_gr_daily'。
元数据栏:"ingest_ts","source","schema_version","trace_id","tenant_id"。

示例(广义)

1)Iceberg: 按日期显示隐藏部分的银表

sql
CREATE TABLE silver. bets (
bet_id    BIGINT,
player_id   BIGINT,
country    STRING,
stake     DECIMAL(18,2),
win      DECIMAL(18,2),
event_ts   TIMESTAMP,
ingest_ts   TIMESTAMP,
schema_version INT
)
PARTITIONED BY (days(event_ts))
TBLPROPERTIES ('format-version'='2');

2)Delta: CDC的增量upsert

sql
MERGE INTO silver. players t
USING bronze. players_cdc s
ON t. player_id = s. player_id
WHEN MATCHED THEN UPDATE SET
WHEN NOT MATCHED THEN INSERT;

3)青铜的TTL政策(想法)


bronze/: keep 30 days silver/: keep 365 days (non-PII), 90 days (PII masked)
gold/marts/: keep 2–3 years (aggregated)

实施支票

1.选择表格格式(Delta/Iceberg/Hudi)和目录;与引擎(Spark/Trino/Flink/dbt)保持一致。
2.定义奖章层、TTL规则和命令责任。
3.记录计划合同、进化控制、PII分段和加密。
4.设计lay-out:批次,品种键,目标文件大小;启用compaction。
5.将ingest (CDC/stream/batch)配置为具有等效性和重复数据消除功能。
6.启用DQ/Lineage、元数据目录和审核。
7.确定SLO的新鲜度/价值,dashbords度量和alerta。
8.组织DR:snapshots/复制/恢复+定期练习。
9.标准化神经元和路径,元支架("ingest_ts","source","schema_version")。
10.在合适的OLAP/RT引擎中推出金色店面和实时浏览。

反模式

一个没有层和TTL的通用"麻袋"→溷乱和成本爆炸。
仅按时间分期,不考虑国家/产品→重型扫描。
创建数千个小文件/小时的线程,没有匹配。
缺乏计划控制和DQ →"打破"变化和对报告的不信任。
将PII与金色店面混合,而无需掩盖/分享权利。
Bucket级别的Hardcode访问权限代替目录和表格策略。

结果

适用于iGaming的现代Data Lake是Lakehouse,具有开放式表格格式,单一目录和奖章模型。计划/分期付款的纪律,针对小型文件,DQ/线性,PII安全性和成本卫生的匹配,将湖泊层转变为可持续的基础:便宜的存储,快速的阅读,SLO可预测的并且可以进行DR。这样的基础可以扩展到锦标赛高峰,并支持击球分析以及近乎现实的测试。-时间展示。

Contact

联系我们

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

开始集成

Email — 必填。Telegram 或 WhatsApp — 可选

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

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