贝壳OLAP平台架构的演进与优化

版权申诉
0 下载量 147 浏览量 更新于2024-07-05 收藏 2.31MB PDF 举报
"肖赞在2020年10月分享的贝壳OLAP平台架构演进历程,从初期的Hive到MySQL,再到基于Kylin的OLAP平台建设,以及后续支持多种OLAP引擎的平台发展。" 贝壳OLAP平台的架构演进主要分为三个阶段: 1. 第0阶段 - Hive到MySQL的初期阶段: 在这个阶段,贝壳的数据分析平台从无到有,采用了Hive作为大数据处理工具,然后将数据存储在MySQL中。然而,由于MySQL的分析能力有限,无法有效支持大数据量的存储和快速查询。此外,由于缺乏共性能力的沉淀,每次解决问题都需要针对具体需求进行定制开发,导致开发周期较长。 2. 第1阶段 - 基于Kylin的OLAP平台架构: 针对第一阶段的问题,贝壳引入了Apache Kylin作为OLAP引擎,它能够处理大规模数据并支持高并发、亚秒级查询。Kylin的核心是预计算,通过预先计算好多维分析的结果,提高查询效率。同时,贝壳构建了指标平台,对外提供统一的API,实现了指标的统一定义和口径管理。应用层通过指标API获取数据,而不是直接访问Kylin,简化了数据获取流程。 3. 第2阶段 - 支持多种OLAP引擎的平台建设: 随着业务的复杂性和数据量的增长,贝壳可能需要支持更多类型的OLAP引擎,以满足不同的分析需求。这一阶段的平台建设旨在提高灵活性和可扩展性,可能包括对其他OLAP引擎如Hadoop、HBase、Presto或Spark SQL的集成,以应对不同场景下的性能和功能需求。 在这个过程中,贝壳构建了数据仓库体系,包括ODS(操作数据存储)、DWD(明细数据层)、DWS(数据服务层),以及维度建模,确保数据的标准化和一致性。指标平台则扮演了关键角色,它不仅管理指标的定义和口径,还处理复杂的查询逻辑,如同环比计算和指标间的运算。 Apache Kylin作为选择的OLAP引擎,其特点是开源、高性能、大容量,特别适合电商、互联网等行业的大数据分析。它的预计算模型减少了在线查询时的计算压力,提高了用户体验。 总结来说,贝壳OLAP平台的演进反映了数据处理技术的发展趋势,从单一工具到多元化引擎,从简单的数据存储到复杂的分析平台,不断优化以满足大数据时代的需求。通过架构的迭代,贝壳能够更高效地处理和分析海量数据,为决策提供强有力的支持。