查询MySql和查询HBase速度比较

Mysql,关系型数据库;

HBase,NoSql数据库。

查询Mysql和查询HBase,到底哪个速度快呢?

与一些真正的大牛讨论时,他们说HBase写入速度,可以达到每秒1W。而HBase的理想速度为每秒10W。

来个实验说明一下,此实验只能表明,当前环境下运行状态。我的实验效果,没有到1W,还在优化中…

环境:

有3台虚拟机,运行Hadoop集群;3台虚拟机也在跑HBase:master,node1,node2

master上,同时安装了Mysql数据库。

目前有这样一个需求:

有一堆文本文件,每个文本文件内,存储着日志;

每一行为一条记录;

现在需要,逐行读取记录,并根据记录中的mac地址和sn号,去从HBase或Mysql中,获取账号信息。

然后合并成一条记录,写入HBase的“SHUJU”表内。

 

Mysql表结构:

id,mac,sn,addtime,account

HBase表结构:

ROWKEY为mac+sn,mac,sn,account,addtime

 

测试效果如下:

每隔一分钟,执行一次count操作,统计当前数据条数。

select count(1) from SHUJU

结果如下

=====================================

Mysql上,第一次测试。

开始时间11:03:15

28135

39014

49659

264564

274379

285174

结束时间11.26.15

285174 – 28135 = 257039

257039 / 23 = 11 175.608695652

也是1W以上。。。

=====================================

查询的 HBase库

开始时间14:43:00

5622

16671

25062

34848

46652

58001

69690

79908

结束 14:50:00

79908 – 5622 = 74 286

74286 /7 = 10 612 每分钟个数。

=====================================

mysql

开始 14:58:30

19248

26526

36389

45837

51945

62497

72319

82695

结束时间:15:04:30

间隔 七分钟

82695 – 19248 = 63 447

93447 / 7 = 9 063.8571428571

======================================

可以看出在HBase中速度,比mysql中速度略快一点。

但是总的速度,还是有待提高。。。

startTime is :20141128 161208
endTime is :20141128? 172609
总数据量:636627条。
读取的HBase上的ClientInfo。
共 74分钟

One comment

  • hbase集群之后,速度优势就体现出来了,优化好的话主要受限于网络。mysql单机的,这种比较似乎不对称

发表评论

电子邮件地址不会被公开。 必填项已用*标注