随着互联网技术的一直倒退,各行各业的数据处理量一劳永逸,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规范反对、高性能并行执行能力等一系列底层技术的改革,从而实现高弹性、高性能、强扩展性、强兼容性等下层技术的改革,最终帮忙企业有效应对大规模、强敏态、高时效、智能化的趋势。
这次咱们将对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
OushuDB
注:为测试在同一资源程度上,并且更靠近生产理论,core与内存设置雷同,别离是16 core与1gb
表属性
注:数据分布,OushuDB能够表级设置及控制数据散布“桶数”,间接影响资源应用
数据生成形式
提前用dbgen生成TPCH测试用文本数据;OushuDB采纳内部表并行导入,并进行Analyze。OushuDB采纳可写内部表将导入的数据写入指定的HDFS目录,供Spark导入数据。
Spark建设内部表,指向OushuDB写出HDFS文件,将数据导入。
运行后果比拟
总结
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同时通过计算存储拆散架构解决了传统数据仓库高老本、高门槛、难保护、难扩大的问题,能够让企业用户轻松构建外围数仓、数据集市、实时数仓以及湖仓一体数据平台,是当今的企业构建数据湖仓的不二抉择。