基于阿里云HBase产品的游戏大数据实践

本文涉及的产品
实时计算 Flink 版,1000CU*H 3个月
日志服务 SLS,月写入数据量 50GB 1个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 本文介绍了厦门点触科技股份有限公司使用阿里云HBase建立游戏大数据平台的实践。

大数据架构

我们团队大数据方案主要参考阿里巴巴大数据方案并结合自身特点量身定做,像阿里巴巴大数据体系架构一样也分四层,只是内容有所简化和差异。其实多数大数据架构方案都略同,只是在细节上有所差异。
_

  1. 数据采集层:数据来源有两种——客户端埋点日志和服务端请求处理日志。最终这些日志都是以日志聚合的形式,经过消息队列中间件缓存,最终汇总到数据湖。
  2. 数据计算层:市面上有多种离线和实时计算引擎,从技术生态成熟度来说Spark相对完善,我们选择了Spark生态技术栈。数据加工链路与阿里巴巴数据计算层类似分为操作数据层(Operational Data Store, ODS)、明细数据层(Data Warehouse Detail, DWD)、汇总数据层(Data Warehouse Summary, DWS)和应用数据层(Application Data Store, ADS),元数据管理和数据质量处理还有待完善。
  3. 数据服务层:数据服务层对底层数据存储透明,面向数据应用层开放海量数据,并对外提供统一的数据服务平台,通过接口提供数据查询服务和实时数据推送服务。
  4. 数据应用层:以应用的形式提供数据可视化,支持各种应用场景的数据分析,为运营、发行、策划提供宏观决策支撑。

基于HBase大数据解决方案

核心需求

  1. 支持高性能离线计算和实时计算;
  2. 管理数据作业调度;
  3. 支持弹性伸缩计算(节省成本);
  4. 支持冷热存储(节省成本);
  5. 满足数据湖场景,支持高吞吐海量存储结构化和非结构化数据;
  6. 支持即席查询。

技术选型

2018年10月阿里云正在研发HBase产品,我们团队当时正在准备做大数据方案,阿里云HBase技术团队找我们探讨解决方案合作,经过讨论和分析我们认为HBase产品基本能满足游戏大数据业务。HBase产品具有以下优势:托管基础设施运维;将Hadoop核心功能精简为Spark和HBase;使计算与存储分离;高吞吐、高性能、高容量。

HBase产品演化

2018年10月,HBase产品刚上线时主要提供HBase、Phoenix和Spark等核心功能,我们团队向阿里云HBase团队反馈了一些业务场景的需求,随后HBase产品不断新增辅助功能:完善作业提交服务LivyServer,数据工作台支持可视化工作流编排,基于数据湖非结构化数据存储分析的需求提供访问HDFS,提供Zeppelin交互式查询便于开发调试。至2019年4月,HBase产品已经趋于完善,只有弹性伸缩计算这个需求还没有支持,而此时我们团队的大数据方案也基本伴随HBase产品的成熟逐渐落地。

日志聚合

日志采集工具

日志聚合其实是在微服务体系下衍生的产物,也是大数据处理的第一个环节。我们选用Flume和Kafka作为日志采集工具建立日志数据流,虽然这是个经典方案但没看到多少资料解释为什么要这样做,这里根据我们的业务场景补充说明,日志传输需要解决几个问题:解决生产者和消费者速率不匹配的问题,满足高可用、高吞吐、低延时,在数据仓库维护不可用时能缓存数据,支持在线水平扩展和维护,满足多样化数据过滤转换需求和数据扇入扇出。在各种日志收集工具中Flume的灵活性较强,可以满足各种场景的需求,而Kafka具有高可用、高吞吐、低延时的特性,这两种产品组合基本满足了大部分日志传输需求。

日志数据流

_

我们将游戏日志分为核心日志和非核心日志分开处理,核心日志用于计算核心业务指标,非核心日志用于自定义数据分析,分开处理是为了避免系统互相影响。核心日志是结构化数据,因此我们规范了核心日志生产者数据接口,核心日志投递主要通过Phoenix写入HBase,需要实时计算的日志则通过Spark Streaming处理后再写入HBase。非核心日志提供灵活的自定义日志方式,因此数据处理量要比核心日志大的多,为减轻服务端压力我们采用推拉结合的方式,先将日志以文件形式传到NAS,再由Flume从NAS中拉文件再投递到HDFS,如果需要实时计算则传到Kafka经过Spark Streaming再投递到HBase,其中还有部分日志用于追踪系统异常则需要传到Elasticsearch,通过Kibana查询日志。

数据湖

数据湖是一种大型集中式存储库和处理引擎,允许以任意规模存储所有结构化和非结构化数据,拥有强大的信息处理能力和处理几乎无限的并发任务或工作的能力,运行不同类型的分析——从控制面板和可视化到大数据处理、实时分析和机器学习,以指导业务做出更好的决策。与传统数据仓库的重要区别是数据湖可以处理非结构化数据,为后期的机器学习和预测分析提供帮助,而且日志可以更灵活的形式存储,提高数据创新使用效率。基于这种需求,我们需要使用HDFS存储非结构化数据,HBase正好产品规划也包含了这块功能,存储集群HDFS和HBase结合计算集群Spark基本满足了数据湖的需求。

参考资料

  • 《大数据之路 阿里巴巴大数据实践》,阿里巴巴数据技术及产品部著,电子工业出版社
相关文章
|
1月前
|
数据采集 SQL 搜索推荐
大数据之路:阿里巴巴大数据实践——OneData数据中台体系
OneData是阿里巴巴内部实现数据整合与管理的方法体系与工具,旨在解决指标混乱、数据孤岛等问题。通过规范定义、模型设计与工具平台三层架构,实现数据标准化与高效开发,提升数据质量与应用效率。
大数据之路:阿里巴巴大数据实践——OneData数据中台体系
|
2月前
|
分布式计算 监控 大数据
大数据之路:阿里巴巴大数据实践——离线数据开发
该平台提供一站式大数据开发与治理服务,涵盖数据存储计算、任务调度、质量监控及安全管控。基于MaxCompute实现海量数据处理,结合D2与DataWorks进行任务开发与运维,通过SQLSCAN与DQC保障代码质量与数据准确性。任务调度系统支持定时、周期、手动运行等多种模式,确保高效稳定的数据生产流程。
大数据之路:阿里巴巴大数据实践——离线数据开发
|
1月前
|
存储 SQL 分布式计算
大数据之路:阿里巴巴大数据实践——元数据与计算管理
本内容系统讲解了大数据体系中的元数据管理与计算优化。元数据部分涵盖技术、业务与管理元数据的分类及平台工具,并介绍血缘捕获、智能推荐与冷热分级等技术创新。元数据应用于数据标签、门户管理与建模分析。计算管理方面,深入探讨资源调度失衡、数据倾斜、小文件及长尾任务等问题,提出HBO与CBO优化策略及任务治理方案,全面提升资源利用率与任务执行效率。
|
5天前
|
人工智能 运维 搜索推荐
大数据+游戏:原来玩家的快乐还能这样被“算”出来?
大数据+游戏:原来玩家的快乐还能这样被“算”出来?
57 11
|
1月前
|
存储 监控 大数据
大数据之路:阿里巴巴大数据实践——事实表设计
事实表是数据仓库核心,用于记录可度量的业务事件,支持高性能查询与低成本存储。主要包含事务事实表(记录原子事件)、周期快照表(捕获状态)和累积快照表(追踪流程)。设计需遵循粒度统一、事实可加性、一致性等原则,提升扩展性与分析效率。
|
2月前
|
存储 搜索推荐 算法
Java 大视界 -- Java 大数据在智慧文旅旅游线路规划与游客流量均衡调控中的应用实践(196)
本实践案例深入探讨了Java大数据技术在智慧文旅中的创新应用,聚焦旅游线路规划与游客流量调控难题。通过整合多源数据、构建用户画像、开发个性化推荐算法及流量预测模型,实现了旅游线路的精准推荐与流量的科学调控。在某旅游城市的落地实践中,游客满意度显著提升,景区流量分布更加均衡,充分展现了Java大数据技术在推动文旅产业智能化升级中的核心价值与广阔前景。
|
2月前
|
机器学习/深度学习 存储 Java
Java 大视界 -- Java 大数据机器学习模型在游戏用户行为分析与游戏平衡优化中的应用(190)
本文探讨了Java大数据与机器学习模型在游戏用户行为分析及游戏平衡优化中的应用。通过数据采集、预处理与聚类分析,开发者可深入洞察玩家行为特征,构建个性化运营策略。同时,利用回归模型优化游戏数值与付费机制,提升游戏公平性与用户体验。
|
存储 分布式计算 大数据
大数据之路:阿里巴巴大数据实践——大数据领域建模综述
数据建模解决数据冗余、资源浪费、一致性缺失及开发低效等核心问题,通过分层设计提升性能10~100倍,优化存储与计算成本,保障数据质量并提升开发效率。相比关系数据库,数据仓库采用维度建模与列式存储,支持高效分析。阿里巴巴采用Kimball模型与分层架构,实现OLAP场景下的高性能计算与实时离线一体化。
|
2月前
|
SQL 缓存 监控
大数据之路:阿里巴巴大数据实践——实时技术与数据服务
实时技术通过流式架构实现数据的实时采集、处理与存储,支持高并发、低延迟的数据服务。架构涵盖数据分层、多流关联,结合Flink、Kafka等技术实现高效流计算。数据服务提供统一接口,支持SQL查询、数据推送与定时任务,保障数据实时性与可靠性。
|
2月前
|
存储 Java 大数据
Java 大视界 —— 基于 Java 的大数据隐私保护在金融客户信息管理中的实践与挑战(178)
本文探讨了基于 Java 的大数据隐私保护技术在金融客户信息管理中的应用与挑战。随着金融行业数字化转型加速,客户信息的安全性愈发重要。文章详细分析了数据加密、脱敏、访问控制、区块链及联邦学习等关键技术,并结合实际案例展示了其在金融机构中的应用效果,为金融科技从业者提供了宝贵的实践经验与技术参考。