您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[GrowingIO]:OLAP数据库引擎选型白皮书(2023) - 发现报告
当前位置:首页/行业研究/报告详情/

OLAP数据库引擎选型白皮书(2023)

信息技术2023-05-25GrowingIO小***
OLAP数据库引擎选型白皮书(2023)

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

你可能感兴趣

hot

哔哩哔哩OLAP平台引擎演进实践

中国数据智能管理峰会2023-04-15
hot

2023云原生应用引擎技术发展白皮书

信息技术
中国信通院2023-05-15