返回
Apache Doris 在网易互娱的应用实践:性能卓越,易用性佳
后端
2023-09-15 04:00:46
背景介绍
随着公司游戏业务的高速发展,越来越多的分析需求涌现,例如:各类游戏用户行为分析、商业智能分析、数仓报表等。这些场景的数据体量都较大,对数据分析平台提出了很高的要求。为了解决实时分析的时效性,同时又能保证数据快速写入和查询,需要一个合适的数据查询引擎来补充我们原有的架构体系。经过大量调研,Apache Doris 比较契合网易互娱游戏数据中心的整体要求,Apache Doris 具备以下优秀特性:
- MPP架构 + 高效列式存储引擎
- 高性能、高可用、高弹性
- 标准ANSI SQL支持
- 支持多表Join
- 支持MySQL协议
- 支持预聚合
- 支持物化视图
- 支持预聚合结果自动更新
- 支持数据高效的批量导入、实时导入
- 支持数据的实时更新
- 支持高并发查询
- 周边生态完善
网易互娱于2021年4月引入了Apache Doris产品,目前已经发展为多个集群,服务数十个业务,如游戏舆情分析,实时日活看板、用户事件分析、留存分析、漏斗分析、分布分析等。当前OLAP平台与数仓体系融合的架构如下图所示:
一、架构设计
网易互娱的Apache Doris架构主要分为三层:
- 接入层:负责数据的导入和导出。采用Apache Kafka作为消息队列,将数据实时地导入到Apache Doris。
- 计算层:负责数据的存储和计算。采用Apache Doris集群,负责数据的存储和计算。
- 服务层:负责数据的查询和管理。采用Apache Doris SQL代理和Apache Doris Web UI,负责数据的查询和管理。
二、性能优化
为了优化Apache Doris的性能,网易互娱做了以下几项工作:
1. 优化数据模型
根据业务特点,设计合理的表结构和数据类型,以提高查询性能。
2. 优化查询语句
使用Apache Doris提供的优化器,对查询语句进行优化,以减少查询时间。
3. 优化集群配置
根据业务负载,合理配置Apache Doris集群的资源,以提高集群的性能。
三、应用场景
Apache Doris在网易互娱的应用场景非常广泛,包括:
- 实时数据分析:Apache Doris可以实时地处理数据,并提供亚秒级的查询响应,非常适合于实时数据分析场景。
- 在线分析处理(OLAP):Apache Doris是一款优秀的OLAP数据库,可以高效地处理海量数据,并支持复杂的查询。
- 数据仓库:Apache Doris可以作为数据仓库,存储和管理企业的海量数据,并提供快速的数据查询和分析服务。
四、总结
Apache Doris是网易互娱采用的实时数据仓库,性能卓越,易用性佳。在业务查询方面,查询速度、易用性等方面都得到业务的认可。目前已发展为多个集群,服务数十个业务。
网易互娱通过优化数据模型、优化查询语句、优化集群配置等措施,进一步提升了Apache Doris的性能。在实践中,Apache Doris在网易互娱的应用场景非常广泛,包括实时数据分析、在线分析处理(OLAP)、数据仓库等。
致谢
感谢网易互娱的技术团队为本文提供的支持和帮助。