OLAP数据库引擎选型白皮书 1.0背景 01 1.1OLAP数据库引擎概述01 1.2OLAP数据库引擎选型过程中存在的问题02 1.3如何更好地对数据库引擎进行选型?02 1.1OLAP数据库引擎概述 OLAP(OnlineAnalyticalProcessing,联机分析处理),主要应用于大规模数据分析及统计计算,为决策提供数据支持。 OLAP数据库引擎贯穿于数据时代发展的3个阶段。无论在哪一阶段,当企业需要积累数据并进行数据分析时,就会面临OLAP数据库引擎的选型问题。 背1景.0 目Conte录nts . * 1.4报告特色03 2.0测评结果 04 2.1测评结果表04 2.2测评综述04 2.3引擎评述05 2.4产品选型指南13 附录 17 评分标准17 02OLAP数据库引擎选型白皮书03 1.2OLAP数据库引擎选型过程中存在的问题 《中国数据库行业研究报告(2022年)》显示,2021年中国数据库市场总规模达286.8亿元,同比增长16.1%。中国数据库市场虽受疫情影响,但整体稳步增长。 数据库行业持续发展的同时,在数据库引擎选型的过程中也存在着以下问题: 调研 调研企业内部业务需求 结合内部需求,对市场上的供应商进行调研及初筛 商务触达 结合初筛结果触达供应商 二次评估 供应商演示解决方案 企业结合演示情况进行进一步筛选 POC 部分企业会通过POC项目 进一步验证供应商的产品及实施能力 采购 1.选项繁多,选型流程长 目前市面上可选择的数据库类型越来越多,数据库呈多元选择趋势。在进行数据库引擎选型时,可选项繁多,而目前市面上可参考的选型标准较少,选型流程长,耗费成本高。 2.开源逐渐成为大趋势,选型时需进一步考虑的维度增加 开源数据库的成熟度开始逐渐超过商业 2.根据实际业务场景选择合适指标 如何通过测试比对,找到最适合的数据库引擎? 业务相关性 指标多维性 数据真实性 基准测试一般有多个指标,不同业务场景关注的指标会有较大区别。在设计指标时候,需要充分考虑业务关注点; 1.4报告特色 3.保障测试数据真实有效 构造的数据集过于规则容易测试出较高的指标。但真实的环境,数据是有瑕疵和倾斜的。因此,在数据构造阶段需要充分理解客户的业务场景,并可尽量模拟出贴近真实应用场景的数据。 数据库。虽然避免了高昂的服务费及license费用,但开源数据库在易用性、配套能力等方面存在一定缺陷,会产生额外的开发、部署、迁移等成本。因此, 本次测评在数据构造及测试过程中充分考虑到泛零售、地产物业、智能制造、金融证券、政企的业务场景,数据构造方案来源于真实客户业务场景,评测维度充分考虑了引擎的易用性及可维护性。 有以下特色: 1.3如何更好地对数据库引擎进行选型? 在选型过程中,除了考虑性能之外,运维成本、数据安全、生态影响力等维度也需要纳入考虑范围。 1.来自最佳实践 本次测评覆盖泛零售、地产物业、智能制造、金融证券、政企共五大行业的真实客户业务场景。 测评过程中构造数据时,充分考虑了客户在选型时关注的主要业务场景,如泛零售行业的数据计算、BI报表、不同规模数据即席查询等; 4.覆盖不同数据存储和处理模式 结合多年来对离线数仓、实时数仓和数据湖的实践经验,可以根据具体的业务需求和数据特点进行选择引擎; 在选型过程中,针对不同的业务场景和环节,分维度对不同数据库引擎进行测试和比对,能有效提升数据库引擎选型的效率。选型时需要综合考虑业务需求、性能、维护成本、数据安全等多种维度的信息。 具体而言,至少需要考虑以下三个层面: 1.充分考虑业务相关性 测试业务场景要与企业的实际业务场景类似,这样提供的信息才能有效有效辅助决策者做出适合业务的决策; 2.关注更多维度 除基本的性能测评外,本次测评还关注到了数据安全、运维成本、元数据等维度; 3.拥抱自主可控 除了非国内研发软硬件环境下的测评结果,本次测评还兼顾国内研发软硬件环境下的测评结果; 5.客观中立 通过客观的数据建模方式进行计算,整体结论客观中立; 6.专注于OLAP 整体指标及选型模型设计时更加贴合OLAP场景。 04OLAP数据库引擎选型白皮书 测2.0评结果 05 2.3引擎评述 2.3.1MySQL 1.测评结果 维度 全表scan事实表宽表TP查询性能查询性能查询性能性能 AP计算性能 数据批量同步速率 高并发数据安全运维成本生态影响力元数据 引擎 MySQL 2.1测评结果表 全表scan性能 元数据 事实表查询性能 生态影响力 宽表查询性能 运维成本 TP查询性能 数据安全 AP计算性能 高并发数据批量同步速率 测评结果如下图,共11个分析维度 生态影响力 运维成本 数据安全 高并发 数据批量同步速率 AP计算性能 TP查询性能 宽表查询性能 事实表查询性能 全表scan性能 ClickHouse Hive Presto+Kudu Impala+Kudu StarRocks TiDB MySQL 引擎 维度 元数据 非国内研发软硬件环境 国内研发软硬件环境 维度 引擎 全表scan性能 事实表查询性能 宽表查询性能 TP查询性能 AP计算性能 数据批量同步速率 高并发 数据安全 运维成本 生态影响力 元数据 HiveClickHouse ClickHouseofDataKun GABCD 以上评分从高到低依次为: 2.2测评综述 在查询、计算和分析三个场景的测评结果中,我们发现:Hive在国内研发软硬件环境综合性能表现为非国内研发软硬件环境的76.2%,ClickHouse则为92.2%,并且性能仍在逐步提升,全力帮助企业规避数据安全隐患与政经环境影响。 详细测评结果请看“引擎评述”。 2.分析引擎评述基本介绍: MySQL是目前最流行的开源数据库,其本身属于 是OLTP引擎,但是也具备一些OLAP计算的能力。协议被众多其他引擎采用,被广泛地应用在Internet上的中小型网站中。 总评:MySQL在数据批量同步和高并发维度表现较好,其他维度表现一般,不支持统一元数据管理。整体而言,MySQL体积小、速度快、成本低,开源。单机版易操作,单机性能好,适合中小型表,业务量低于亿级别,对计算和查询性能都有一定需求的客户可以选择MySQL。 优点: 1.轻量级性能高效引擎:MySQL是一个高性能的 数据库管理系统,支持大量的并发访问,适合在高并发的环境中使用; 2.支持事务; 3.低成本易上手:体积小,部署方便,资源占用少。技术成熟,使用标准SQL语言,兼容性好。 缺点: 1.开发运维成本高:对存储过程和触发器支持不够良好,开发和维护存储过程比较难; 2.海量数据处理的时候效率不高,单表数据量达到千万级,各种性能指标大幅下降,复杂SQL执行效率低; 3.版本更新慢。 06OLAP数据库引擎选型白皮书07 2.3.2TiDB 维度 引擎 全表scan性能 事实表查询性能 宽表查询性能 TP查询性能 AP计算性能 数据批量同步速率 高并发 数据安全 运维成本 生态影响力 元数据 TiDB 1.测评结果 2.3.3StarRocks 维度 引擎 全表scan性能 事实表查询性能 宽表查询性能 TP查询性能 AP计算性能 数据批量同步速率 高并发 数据安全 运维成本 生态影响力 元数据 StarRocks 1.测评结果 2.分析引擎评述基本介绍: TiDB由PingCAP公司开发和支持,是一个开源 的NewSQL数据库,支持混合事务和分析处理 (HTAP)工作负载,与MySQL兼容,并且可以提供水平可扩展性、强一致性和高可用性。TiDB是一个综合性的引擎,兼顾OLAP和OLTP,本次测评时主要考虑TiDB的OLAP场景。 总评:TiDB事实表和宽表的即席查询表现优秀,并同时兼顾TP性能和AP性能,运维成本较低。TiDB解决了MySQL单机和中小型数据库表的瓶颈,事实表查询、宽表查询、TP、AP、高并发性能均衡。 优点: 1.支持一键水平扩容或者缩容,支持高可用; 2.云原生的分布式数据库; 3.兼容MySQL5.7协议和MySQL生态; 4.自带运维监控系统。 缺点: 1.部署成本高,集群模式决定了需要更多的硬件成本; 2.不支持分区,存储过程。 全表scan性能 元数据 事实表查询性能 生态影响力 宽表查询性能 运维成本 TP查询性能 数据安全 AP计算性能 高并发数据批量同步速率 全表scan性能 元数据 事实表查询性能 生态影响力 宽表查询性能 运维成本 TP查询性能 数据安全 AP计算性能 高并发数据批量同步速率 2.分析引擎评述基本介绍: StarRocks主要应用于实时分析场景,于2018年在 Apache社区开源。是一款面向多种数据分析场景、兼容MySQL协议的分布式关系型列式数据库。 总评: StarRocks在数据查询处理性能方面整体表现亮眼, 较好的高并发支持能力,统一元数据管理,运维成本相对低。但该引擎稳定性略显不足,偶尔会出现大批量数据操作长时间延时。 优点: 1.StarRocks并不依赖于大数据生态,但其外表联 邦查询可兼容大数据生态; 2.提供了多种不同模型,能够支持不同维度的数据建模; 3.支持在线弹性扩缩容,可以自动负载均衡; 4.支持高并发分析查询,在单表查询及多表join方面综合性能均较优; 5.实时性好,支持数据秒级写入; 6.兼容MySQL5.7协议和MySQL生态。 缺点: 1.周边生态比较不完善; 2.部分SQL语法不支持。 08OLAP数据库引擎选型白皮书09 2.3.4Impala+Kudu 元数据 Impala+Kudu 生态影响力 运维成本 数据安全 高并发 数据批量同步速率 AP计算性能 TP查询性能 宽表查询性能 事实表查询性能 全表scan性能 引擎 维度 1.测评结果 2.3.5Presto+Kudu 1.测评结果 全表scan性能 元数据 事实表查询性能 生态影响力 宽表查询性能 运维成本 TP查询性能 数据安全 AP计算性能 高并发数据批量同步速率 2.分析引擎评述基本介绍: 优点: 1.ImpalaSQL语法与和HiveSQL高度相似,学习 成本低; 元数据 Presto+Kudu 生态影响力 运维成本 数据安全 高并发 数据批量同步速率 AP计算性能 TP查询性能 宽表查询性能 事实表查询性能 全表scan性能 引擎 维度 全表scan性能 元数据 事实表查询性能 生态影响力 宽表查询性能 运维成本 TP查询性能 数据安全 AP计算性能 高并发数据批量同步速率 2.分析引擎评述优点: 1.数据源支持丰富:支持的数据源包括传统关系 Impala是Cloudera主导开发的查询系统,Impala并没有自己的存储引擎,不提供数据存储服务,但底层可集成多个数据源。Kudu是针对ApacheHadoop研发的列式存储管理器,支持横向扩展和高可用。Impala和Kudu深度集成,数据可实时写入Kudu,Impala提供BI分析SQL查询。 总评: 在即席查询场景下,Impala的稳定性和速度已在工业界经过广泛验证,有较好的AP计算能力并兼顾不错的TP计算能力。Impala+Kudu架构支持随机读写,有良好的Scan性能,对Spark等流式计算框架有官方客户端支持,为实时数据仓库存储提供了良好的解决方案。 2.Impala具备超大数据规模SQL解析能力,能够 高效利用CPU与内存,快速返回结果; 3.Impala与Hue深度集成,提供可视化的SQL操作以及workflow; 4.Kudu能做类似关系型数据库一样的操作,数据可以存储在Kudu里面并随时更新。 缺点: 1.Impala基于内存计算,整体而言对内存依赖性 比较大; 2.Impala不支持ANSISQL,在SQL聚合等方面功能相对