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

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
日志服务 SLS,月写入数据量 50GB 1个月
简介: 本文介绍了厦门点触科技股份有限公司使用阿里云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基本满足了数据湖的需求。

参考资料

  • 《大数据之路 阿里巴巴大数据实践》,阿里巴巴数据技术及产品部著,电子工业出版社
相关实践学习
lindorm多模间数据无缝流转
展现了Lindorm多模融合能力——用kafka API写入,无缝流转在各引擎内进行数据存储和计算的实验。
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
2月前
|
Java 大数据 分布式数据库
Spring Boot 与 HBase 的完美融合:探索高效大数据应用开发的新途径
【8月更文挑战第29天】Spring Boot是一款广受好评的微服务框架,以其便捷的开发体验著称。HBase则是一个高性能的大数据分布式数据库系统。结合两者,可极大简化HBase应用开发。本文将对比传统方式与Spring Boot集成HBase的区别,展示如何在Spring Boot中优雅实现HBase功能,并提供示例代码。从依赖管理、连接配置、表操作到数据访问,Spring Boot均能显著减少工作量,提升代码可读性和可维护性,使开发者更专注业务逻辑。
132 1
|
2月前
|
DataWorks Kubernetes 大数据
飞天大数据平台产品问题之DataWorks提供的商业化服务如何解决
飞天大数据平台产品问题之DataWorks提供的商业化服务如何解决
|
21天前
|
存储 分布式计算 分布式数据库
深入理解Apache HBase:构建大数据时代的基石
在大数据时代,数据的存储和管理成为了企业面临的一大挑战。随着数据量的急剧增长和数据结构的多样化,传统的关系型数据库(如RDBMS)逐渐显现出局限性。
118 12
|
1月前
|
人工智能 分布式计算 DataWorks
大数据&AI产品月刊【2024年8月】
大数据& AI 产品技术月刊【2024年8月】,涵盖本月技术速递、产品和功能发布、市场和客户应用实践等内容,帮助您快速了解阿里云大数据& AI 方面最新动态。
|
2月前
|
机器学习/深度学习 搜索推荐 算法
飞天大数据平台产品问题之AIRec在阿里巴巴飞天大数据平台中的功能如何解决
飞天大数据平台产品问题之AIRec在阿里巴巴飞天大数据平台中的功能如何解决
|
2月前
|
存储 人工智能 搜索推荐
飞天大数据平台产品问题之阿里云OpenSearch的定义如何解决
飞天大数据平台产品问题之阿里云OpenSearch的定义如何解决
|
2月前
|
SQL 分布式计算 DataWorks
DataWorks产品使用合集之未保存的ODPS SQL语句该如何找回
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
2月前
|
分布式计算 DataWorks 关系型数据库
DataWorks产品使用合集之ODPS数据怎么Merge到MySQL数据库
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
2月前
|
消息中间件 大数据 Kafka
Go 大数据生态迎来重要产品 CDS
Go 大数据生态迎来重要产品 CDS
|
2月前
|
SQL 分布式计算 运维
DataWorks产品使用合集之如何恢复odps误删的分区
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。