没有合适的资源?快使用搜索试试~ 我知道了~
NoSQL标准性能测试
5星 · 超过95%的资源 需积分: 50 494 下载量 27 浏览量
2014-09-22
14:48:17
上传
评论 13
收藏 782KB PDF 举报
温馨提示
在本篇测试报告中,我们使用Yahoo发布的标准YCSB测试规则,对包括几款国外的NoSQL数据库产品和SequoiaDB进行对比,并尝试给出每种不同产品所适用的应用场景。在测试配置中,我们尽可能对全部产品做到高可用配置,而在一致性级别上则使用最终一致性。
资源推荐
资源详情
资源评论
1
NoSQL 标准性能测试
2
Contents
1 概述
.............................................................................................................................................
3
2 测试概要
.....................................................................................................................................
3
2.1 测试产品
.........................................................................................................................
3
2.2 测试场景
.........................................................................................................................
4
2.3 测试环境
.........................................................................................................................
5
2.3.1 服务器环境
.........................................................................................................
5
2.4 测试方法
.........................................................................................................................
5
3 测试结果
.....................................................................................................................................
6
3.1 场景 1:单条记录导入
.................................................................................................
6
3.2 场景 2:批量记录导入
.................................................................................................
7
3.3 场景 3:单纯查询
.........................................................................................................
7
3.4 场景 4:查询导入平衡
.................................................................................................
8
3.5 场景 5:更新为主
.........................................................................................................
9
3.6 场景 6:查询为主
.........................................................................................................
9
3.7 场景 7:查询最新
.......................................................................................................
10
4 结论
...........................................................................................................................................
10
5 附录 A:配置信息
...................................................................................................................
11
5.1 MongoDB
......................................................................................................................
11
5.2 SequoiaDB
.....................................................................................................................
13
5.3 HBase
.............................................................................................................................
16
5.4 Cassandra
......................................................................................................................
16
6 附录 B:YCSB 调整
..................................................................................................................
20
6.1 驱动调整
.......................................................................................................................
20
6.1.1 MongoDB
..........................................................................................................
20
6.1.2 HBase
................................................................................................................
23
6.2 统计数据收集
...............................................................................................................
24
6.3 预热
...............................................................................................................................
25
6.4 数据类型
.......................................................................................................................
27
7 附录 C:SequoiaDB 接口
.........................................................................................................
28
3
1 概述
在本篇测试报告中,我们使用
Yahoo!
发布的标准
YCSB
测试规则,对
MongoDB
、
SequoiaDB
、
Cassandra
、
HBase
进行对比,并尝试给出每种不同产品所适用的应用场景。在测试配置中,
我们尽可能对全部产品做到高可用配置,而在一致性级别上则使用最终一致性。
在测试中我们会对两种类型的
NoSQL
数据库做横向对比,包括
Document-Oriented
文档类数
据库、以及
Big-Table
宽表类数据库。由于每种类型的数据库具有很多自己独特的特性,我
们不能将每种特性一一表现在该测评结果中。本测试主要针对数据库在不同任务类型下的性
能指标进行,且仅依赖
YCSB
所提供的标准测试流程。
本测试将详细列出本测试的物理环境以及配置信息,以便于读者能够使用自己的环境独立验
证结果。
2 测试概要
2.1 测试产品
本测试主要对比两种类型的 NoSQL 数据库,包括四款不同的产品:
MongoDB (文档类,V2.6.1)
SequoiaDB (文档类,V1.8)
HBase (宽表类,V0.94.6-CDH 4.5.0)
Cassandra (宽表类,V1.1.12)
其中 MongoDB 作为当前市场占有率最高的数据库,可能是众多读者所关心的产品,提供丰
富的数据库功能,号称是最接近关系型数据库的 NoSQL 产品;而 SequoiaDB 由前 IBM DB2
团队的研发人员创建,据称在性能和功能上能够与 MongoDB 做正面抗衡,同样提供很多
MongoDB 所提供的功能(例如分片、多索引等特性)。
HBase 则是 Hadoop 框架的一员,也已经被广大企业和互联网用户所接受,我们使用的版本
0.94.6 是跟随 CDH 4.5.0 安装包的版本;而 Cassandra 则是与 HBase 类似的产品,由 Facebook
研发并进行开源,同样拥有广大的用户市场。
我们的测试使用由 Yahoo!研究院发布的 Yahoo Cloud Serving Benchmark (YCSB)基准测试,
并将接口 对 各 自 产品的最新 版 进 行 了修改和适 配 。 我 们在正文后 的 附 录 中也提供了
SequoiaDB 的 YCSB 测试接口。
需要重新强调的是,每种不同的产品都有各自的应用场景。YCSB 测试尽管是 Yahoo!研究院
提供的测试框架,但是在很多场景下并不能完全发挥出每个产品各自的特点。在本测试中,
4
我们尝试使用 YCSB 框架给出最为客观的评估结果。如果对于该测试结果或配置存在疑问,
我们欢迎广大读者根据自身需要重新调整,并将结果开放以供参考。
2.2 测试场景
YCSB
测试框架提供了丰富的场景配置机制,允许用户根据需要选择需要导入的数据量和增
删改查之间相应的比例。在本测试中,我们导入一亿条数据,并对如下场景进行对比。
场景编号 场景分类 描述
1
单条记录导入 单条记录导入
2
批量记录导入 批量记录导入
3
单纯查询
100%
查询
4
查询导入平衡 50%导入,50%查询
5
更新为主 95%更新,5%查询
6
查询为主
95%
查询,
5%
更新
7
查询最新
95%
查询,
5%
导入
对于数据导入的场景,我们对单条记录插入和批量插入两个场景进行了区分。对于一些数据
库来说,默认配置会在客户端将一批记录打包并统一发送给服务器,对于这类产品,尽管其
接口为单条记录操作,我们依然将其归类为批量记录导入模式。
写入和查询的数据模拟典型日志记录的长度,具有以下特性:
特性 描述
字段数
10
字段
字段名长度
6
字节
记录总大小
100Bytes
全部字段类型 字符串
主键长度 23 字节
总记录数 1 亿条
总裸数据量 大约
100GB
数据副本份数
3
其中,
SequoiaDB
与
MongoDB
的分片均配置为一主两从;
HBase
所在的
HDFS
设置复制份数
为
3
;
Cassandra
建表时使用参数
replication_factor=2
。
一致性级别上,我们使用最弱的最终一致性,读写的
write concern
均设置为
1
。
2.3
测试环境
本测试中,测试环境总共包含
4
台
Dell R520
物理机作为数据存储。生成数据的
YCSB
程序与
数据库运行在同一物理环境。
注:如使用独立服务器进行 YCSB 的数据生成,会导致千兆网瓶颈。
5
整个集群的拓扑结构如图 1 所示:
图 1:测试集群拓扑
2.3.1 服务器环境
本测试数据库服务器使用
4
台
Dell R520
物理机环境,每台物理机配置如下:
类型 参数
CPU Intel(R) Xeon® CPU E5-2420 1.9GHZ (6 core)
内存
DDR3 48GB
磁盘
6
块内置
SATA
硬盘,
2TB/
块
网络 千兆以太网
操作系统
Red Hat Enterprise Linux Server release 6.4
kernel-release:2.6.32-358.e16.x86_64
JDK Oracle JDK 1.6
2.4 测试方法
本测试使用
YCSB
标准,基于四台物理机执行。对于每种不同产品的测试流程如下:
1
安装软件
2
基于四节点部署集群,配置时尽可能基于以下准则:
高可用配置
最终一致性
功能与单节点环境保持一致
充分利用硬件资源
3
在四台物理机中部署
YCSB
集群,向本地集群写入读取数据
4
进行数据操作时通过
YCSB
产生记录的统计数量
剩余38页未读,继续阅读
u013424982
- 粉丝: 140
- 资源: 19
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
前往页