搜索
您的当前位置:首页正文

全国产计算数据库性能测试报告

来源:好走旅游网
全国产计算数据库性能测试报告

一、测试背景

由于众所周知的世界经贸形势,拥有全面自主可控的IT解决方案成为摆在国家面前的一项重要任务。但是,由于目前国产芯片的性能还相对较弱,大多只能应用于OA等边缘业务,要用到关键业务中时就必须加大成本以扩大集群规模,这将进一步推高因为生态成熟度还不足而导致本身成本就不低的全国产技术方案的应用门槛,抑制了全国产技术的推广应用范围。

SPL计算数据库是一项从理论模型到代码实现都拥有完全自主产权的新技术,它采用了创新代数体系,允许程序员实现更高性能的低复杂度算法,从而获得比传统关系数据库更好的运算性能。因此,可以通过软件弥补硬件,使较低性能的国产芯片不需要扩大集群规模就能够适应原来必须使用国外芯片的应用场景,并且还有一定程度的性能提升。 二、测试方法

采用国际上公认的数据库性能测试工具TPCH,通过与国外数据库产品的杰出代表Oracle12.1.0及另一国产数据库(下文中简称国产数据库)进行对比测试。 TPCH是由TPC(Transaction Processing Performance Council)事务处理性能委员会公布的一套针对数据库决策支持能力的测试基准,通过模拟数据库中与业务相关的复杂查询考察数据库的综合处理能力,获取数据库操作的响应时间。

TPCH基准模型中定义了一个数据库模型,容量可以在1GB~10000GB的8个级别中进行选择。数据库模型包括CUSTOMER、LINEITEM、NATION、ORDERS、PART、PARTSUPP、REGION和SUPPLIER 8张数据表,涉及22条复杂的SQL查询语句。 TPCH测试具有广泛的权威性和被认可度,涉及内容丰富,可以避免片面性,并确保测试结论的说服力。

传统数据库都是用SQL语言进行查询,在SPL数据库中,需要将TPCH提供的SQL翻译成SPL脚本来运行。 三、测试环境

本场测试分别在五台不同配置的独立服务器上作运行测试,分别命名为

intel2670、intel3014、龙芯、飞腾FT1500、飞腾FT2000,硬件配置如下表: 名称

CPU

内存 硬盘类型

Intel2670 Intel3014 龙芯

2个intel2670 CPU,主频2.6G,共计128G SSD固态硬盘 16核

2个intel3014 CPU,主频1.7G,共计64G 12核

2个CPU,共计8核

64G 32G 256G

FT1500飞腾 飞腾CPU,共计16核 FT2000飞腾 飞腾CPU,共计64核

国产数据库只在龙芯上测试,Oracle 只在 intel 上测试,SPL 在五台服务器上均做了测试。 四、数据准备

测试数据均采用TPCH提供的数据生成程序产生,产生了100G和200G两种规模的测试数据,100G数据用在intel3014、龙芯、飞腾FT1500、飞腾FT2000四台服务器上,200G数据用在intel2670、飞腾FT2000两台服务器上。 TPCH产生原始文本文件数据以后,需要导入数据库表中供数据库软件查询使用。SPL数据库使用的数据存储在硬盘组表文件中,也需要由原始文本数据转换生成。下表是转换成所需要的测试数据所花的时间(共有8张表,只比较数据量较大的3张表)。 数据表名

SPL组表

(intel3014)

LINEITEM 01:40:00

ORDERS 01:31:34 00:17:48 00:17:41 07:43:54 00:25:20

PARTSUPP 00:59:02 00:10:47 00:10:18 03:12:30 00:17:23

100G Oracle(intel3014) 09:40:59

国产数据库(龙芯) 01:55:37

200G Oracle(intel2670) 37:47:28

SPL组表

(intel2670)

01:52:57

可以看出, Oracle数据导入的时间非常长。SPL和国产数据库的导入时间相当,这方面均比Oracle有数倍的性能优势。 五、 测试结果

测试的三种软件均支持并行查询,即用多线程共同协调完成一次查询任务。然而并行的路数并不是越多越好,因此在每台测试服务器上需要测出查询速度最快的并行数。我们用TPCH的第一条查询任务作测试,在每台测试服务上的并行查询结果如下:

TPCH1 测试响应时间表 (秒) 并行数 1 2 4 8 数据量 服务器 12 16 100G Intel3014 Oracle

SPL组表

龙芯

570 356 219 336 174 91

170 46 507 275 95 40 19 36

131 38 579 284

141 40 694 62

国产数据库 1620 961 553

SPL组表 1521 525

711 367 198 8 16 37 63

40

32 22 41

并行数 FT1500飞腾 SPL组表 服务器 200G

FT2000飞腾 SPL组表 Intel2670 Oracle

SPL组表

FT2000飞腾 SPL组表

48 21

64 40

318 316 318

上表中红色数字对应的并行数,即为各测试服务器上最佳的并行数,于是TPCH后面各查询测试中就以此并行数来进行测试。 测试结果如下表:

TPCH 共 22 条查询测试响应时间表 (秒)

TPCH 100G数据 200G数据 编号

Intel3014 (12并行) SPL

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

38 4 16 12 20 9 16 29 68 23 5 25 57 22 18 10

FT1500 FT2000 龙芯 (16并

行) 62 8 33 27 36 22 32 46 125 35 12 72 114 65 60 19

(40并行) SPL 19 6 22 18 24 6 20 48 65 22 6 38 85 12 26 12

(8并行) SPL 275 18 97 89 72 60 91 93 517 99 29 173 335 142 103 53

Intel2670 (16并行)

FT2000 (40并行) 36 13 35 43 45 12 30 80 135 42 11 55 135 38 46 22

Oracle SPL 131 27 222 207 225 135 184 192 234 215 33 184 37 157 155 13

国产数据库 SPL 507 247 4451 1790 1761 757 700 1611 1066 1634 165 647 2209 500 506 105

40 8 23 21 25 11 22 29 85 34 9 52 135 65 61 14

Oracle SPL 325 73 582 454 463 352 496 485 636 493 63 464 103 368 358 71

17 18 19 20 21 22

21 21 23 18 233 22

165 344 154 175 326 48

48 35 65 57 222 37

9 13 12 11 190 27 691

100 163 137 110 901 99

963 2382 518 594 3349 139

40 25 60 55 191 30

349 966 345 442 790 99

19 26 29 20 398 49

合计 710 六、结论

3563 1232 3756 26601 1035 8777 1319

将测试结果制成统计图示:

可以看出如下一些结论:

1.在同一台测试机上使用同一份TPCH测试数据,比较22条查询所用的总时间,使用了新算法的SPL比Oracle要快5-7 倍,创新理论和算法确实有效。 2.在飞腾FT1500上比intel3014上的Oracle快了近 3 倍,在飞腾FT2000上比intel2670上的Oracle快了5 倍还多。在飞腾芯片上搭载的SPL数据库,远远超过了Intel上Oracle的运算性能,应用于关键业务完全没有问题。 3.龙芯相对略弱,但在SPL的支持下,也能和intel3014上的oracle速度基本相当(接近 95%),基本可应用于关键业务中了。

4.龙芯上国产数据库性能较差,只能达到Intel3014上Oracle的七分之一左右,基本不具备应用于关键业务的能力。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top