头图

随着互联网技术的不断发展,各行各业的数据处理量与日俱增,Hadoop 作为一项革命性的技术提供了处理海量数据的能力,随之而来的Spark又大大提升了 Hadoop 的计算能力,解决了Hadoop 的性能问题,受到了大数据行业的热捧。但到了2022年,Spark依然是大数据行业的最佳选择吗?

Hadoop 生态系统经过多年的发展,已经在世界范围内广泛的采用,许多企业已经搭建了基于Hadoop生态圈的大数据平台,并且尝试更加深入的应用,比如数据仓库迁入的尝试,作为分析型场景的主要组件Hive与Spark扮演了主要的角色。

Hadoop上的SQL支持一开始是Apache Hive,Hive自带的计算引擎是面向磁盘的MapReduce,受限于磁盘读/写性能和网络I/O性能的约束,在处理迭代计算、实时计算、交互式数据查询等方面并不高效,其主要适用场景是批处理模式。针对这一不足,Spark将数据存储在内存中并基于内存进行计算是一个有效的解决途径。Spark 允许将中间输出和结果存储在内存中,节省了大量的磁盘 IO。并且使用 DAG 调度程序,查询优化程序和物理执行引擎,实现批量和流式数据的高性能。同时 Spark 自身的 DAG 执行引擎也支持数据在内存中的计算。

偶数科技研发的数据仓库OushuDB, 主要依托云原生特性、计算存储分离架构、强事务特性、完整SQL标准支持、高性能并行执行能力等一系列底层技术的变革,从而实现高弹性、高性能、强扩展性、强兼容性等上层技术的变革,最终帮助企业有效应对大规模、强敏态、高时效、智能化的趋势。

image.png

这次我们将对OushuDB 与Spark 3.0的性能做一次对比。

数据查询哪家强?

为了更直观的比较Spark与OushuDB的查询能力,我们用TPC-H(商业智能计算测试)来对OushuDB和Spark进行测试,TPC-H是美国交易处理效能委员会(TPC,Transaction Processing Performance Council) 组织制定的用来模拟决策支持类应用的一个测试集,目前在学术界和工业界普遍采用它来评价数据查询处理能力。

国际通用的数据库测试标准TPC-H包括 22 个查询(Q1~Q22),我们主要的评价指标是各个查询的响应时间,即从提交查询到结果返回所需时间,我们分别对两个平台进行单节点使用Scale为100的数据集进行测试。

测试环境

服务器配置

CPU:2颗10核Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz,超线程40
内存:256GB
硬盘:4*1000GB SSD
操作系统:Centos 7.4

对比软件版本

OushuDB 4.0
Spark 3.0

数据库参数

Spark
image.png

OushuDB
image.png
注:为测试在同一资源水平上,并且更接近生产实际,core与内存设置相同,分别是16 core与1gb

表属性

image.png
注:数据分布,OushuDB可以表级设置及控制数据分布“桶数”,直接影响资源使用

数据生成方式

提前用dbgen生成TPCH测试用文本数据;OushuDB采用外部表并行导入,并进行Analyze。OushuDB采用可写外部表将导入的数据写入指定的HDFS目录,供Spark导入数据。

Spark建立外部表,指向OushuDB写出HDFS文件,将数据导入。

运行结果比较

image.png

image.png

总结

Spark新的自适应查询执行(AQE)框架只在某些场景提升了Spark性能,基于这次TPC-H测试由于新SIMD执行器的优势,OushuDB全面性能超过Spark最大相差55倍,总体(22查询个)性能8倍以上。在各行业实际应用场景进行大规模数据查询的过程中, OushuDB的优势就相当明显了。

OushuDB作为一款高性能云数据库,支持访问标准的ORC文件,并且具备高可扩展,遵循ANSI-SQL标准,具有极速执行器,提供PB级数据交互式查询能力,比传统数仓/MPP快5-10倍,比Hadoop SQL引擎要快5-30倍。OushuDB同时通过计算存储分离架构解决了传统数据仓库高成本、高门槛、难维护、难扩展的问题,可以让企业用户轻松构建核心数仓、数据集市、实时数仓以及湖仓一体数据平台,是当今的企业构建数据湖仓的不二选择。


偶数科技
6 声望380 粉丝

⌈北京偶数科技有限公司⌋ 是一家领先的云数据库和 AI 产品提供商,致力于赋能全球各行业客户。我们的愿景和使命是 “让人类只为兴趣而工作”。公司核心产品偶数数据云 Oushu Data Cloud 由新一代极速云数据库 OushuD...


引用和评论

0 条评论