列存数据库评测之MonetDB和Gbase8a性能对比测试

 

1       测试目的

对比MonetDB和Gbase8a引擎性能,为后续产品评估选型做准备。

2       测试环境

2.1   硬件环境

系统制造商:       Intel

系统型号:         S5000VSA

系统类型:         X86-based PC

处理器:           安装了 1 个处理器。

[01]: x64 Family 6 Model 15 Stepping 6 GenuineIntel ~1995 Mhz

BIOS 版本:        Intel Corporation S5000.86B.10.00.0084.101720071530, 2007/10/17

2.2   软件环境

2.2.1   操作系统

OS 名称:          Microsoft® Windows Server® 2008 Enterprise

OS 版本:          6.0.6002 Service Pack 2 Build 6002

OS 制造商:        Microsoft Corporation

2.2.2   数据库软件

MonetDB:     MonetDB 5 server v11.13.5 “Oct2012-SP1”

Gbase8a:      Server version 8.3.31.100

 

3       测试场景

我们使用TPC-H场景进行测试,测试数据和测试SQL语句,均采用TPC-H标准。

 

各个表的数据量如下:

表名

数据量

nation

25

region

5

part

200,000

supplier

10,000

partsupp

800,000

customer

150,000

orders

1,500,000

lineitem

6,001,215

 

4       测试SQL脚本

 

5       实验结果

脚本 MonetDB Gbase8a
1 1.8s 39.2s
2 89.8ms 1 min 26.5s
3 418.9ms 4.7 s
4 742.4ms 1 hour 47 min 45.4 s
5 341.6ms 3.4s
6 341.0ms 830.0ms
7 4.8s 3.4s
8 416.5ms 3.7s
9 2.0s 8.6s
10 12.6s 3.6s
11 70.6ms 670.0ms
12 0.9s 1.9s
13 5.3s 8.8s
14 142.7ms 1.2s
15 300.2ms 2.2s
16 384.0ms 1.3s
17 173.2ms 38 min 42.8 s
18 2.6s 14.8s
19 1.3s 2.7s
20 213.9ms 19 min 14.0 s
21 2.5s 24 hour没跑出来
22 1.0s 35 min 27.5s

6       结论

6.1   语法兼容方面

语法方面,MonetDB完全兼容SQL92标准,TPC-H的查询没有经过修改,即可用于测试。

Gbase8a部分支持date interval语法,脚本1需要使用ADDDATE改写,脚本13需要改写别名方式。

6.2   性能方面

除了脚本7和脚本10两项MonetDB略慢于Gbase8a,其余的查询速度MonetDB都比Gbase8a快,而且快的幅度是量级档次。

 

Gbase8a在执行几个超过一小时的查耗时,消耗了大量的CPU(I/O消耗并不多)。一些复杂的嵌套查询,经过几十个小时都没有得到结果,估计其内部优化器算法存在一定的问题。

本次TPC-H测试,MonetDB要全面优于Gbase8a。

 

6.3   瓶颈

MonetDB的大并发下的表现尚待验证,Decimal限制18也是问题。而且MonetDB完全基于内存映射文件的,一旦需要swap到磁盘,性能就惨不忍睹。

cpu

一般而言待处理数据量不要超过内存总量,要是数据量更大,要么选择Vertica,VectorWise这样的商业产品,要么就得自己做Sharding了。还有一个趋势是,传统的按行存储的数据库也在融合按列存储的特性,新版Mysql5.6也融合NoSQL特性了。

总的来说,MonetDB不是完美的,特别成熟的列式数据库开源解决方案。

下一步,验证Sharding方案,或者分冷热数据,与HBase结合使用,看看效果。

 

Tagged . Bookmark the permalink.

2 Responses to 列存数据库评测之MonetDB和Gbase8a性能对比测试

  1. shaochuanly says:

    据我所知GBase8a是一款商用软件,你用的是其试用Demo版本,这种对比本身就缺乏科学精神。

    [回复]

    admin 回复:

    我们是唯一与南大通用进行GBase的OEM合作与推广的企业,拿到的是最新正式版本,且经过调优。

    [回复]

Leave a Reply

Your email address will not be published. Required fields are marked *