数据库读写性能分析
1、 单机类比集群测试
测试环境:
由3台服务器组成的hadoop集群组成分散式文件系统
由一台单独的机器单机类比Hbase集群
由一台机器单机测试Mysql
测试规模:50万条记录以上,单线程、多线程测试
测试结果:
|
|
HBase |
Mysql |
单线程 |
插入 100 条记录 |
155 ms / 154ms |
243 ms / 198ms |
插入 1000 条记录 |
740 ms / 884ms |
1506 ms / 1554ms |
|
插入 10000 条记录 |
8304ms/ 6610ms |
14110ms/ 12839m |
|
插入 100000 条记录 |
43090ms /64715ms |
108082ms /110664ms |
|
读取 500000左右的条记录 |
640 ms / 721ms |
2779 ms / 2794ms? |
|
100线程 |
插入 100 条记录 |
5929ms / 3825ms / 4134ms |
15352ms / 12912ms / 12853ms |
插入 1000 条记录 |
35684ms / 52677ms / 34208ms |
135839ms / 161711ms / 119909ms |
|
读取 500000左右的条记录 |
最快的 1104 ms/最慢的 110897 ms |
如果不加limit,数据库连接超时 |
|
1000线程 |
插入 100 条记录 |
325907ms / 322465ms / 342163ms |
17455ms / 18953ms / 15169ms |
读取500000左右的条记录 |
最快的 717 ms |
如果不加limit,数据库连接超时 |
HBase不同于一般的关联数据库,它是一个适合于非结构化资料存储的数据库.另一个不同的是HBase基于列的而不是基于行的模式(栏位内容都是char).
上面两种 特性,导致HBase的资料表结构非常松散,栏位内容单一,表与表之前没有任何关联,正因爲这样在查询的时候效率非常高
HBase资料表的性能选项:
MAX_VERSIONS:每一个单元保存多少版本的资料(默认是3)
MAX_LENGTH:每个单元中的版本能够保存多少字节的资料(默认字节数是32位元有符号整数最大值)
COMPRESSION:资料压缩,有BLOCK压缩和RECORD压缩
IN_MEMORY:将这个列组装载资料到存储器,加快读写速度,缺点耗费存储器和干预HDFS的备份
BLOOMFILTER:如果这个列组支援布隆过滤器(BLOOMFILTER),那麽在存储器中有个索引来快速地判断要查找的列是否存在这个行中,减少磁盘IO操作.如
果在这个列组你拥有大量的列,每一个列的资料包含的资料非常小,你可能需要在这个列组中应用布隆过滤器(BLOOMFILTER)
2、 列族测试:
测试目标:测试列族增长对性能的影响
测试资料:建表时候定义列族数量,每个列族写入1000字节资料,读取5000次,随机读取任意一列。
测试结果:
单机集群
列族数量 |
10 |
100 |
500 |
1000 |
建表时间 |
12.3 |
19.2 |
45.9 |
Timeout |
每秒写入 |
164 |
323 |
419 |
Timeout |
每秒读取 |
99 |
139 |
122 |
Timeout |
5机器集群
列族数量 |
10 |
100 |
500 |
1000 |
建表时间 |
12.2 |
18.7 |
46.4 |
Timeout |
每秒写入 |
29 |
153 |
376 |
Timeout |
每秒读取 |
119 |
111 |
120 |
Timeout |
测试结论:
Hbase建表时间过长,对大列族的时候支援不好
写入速度在多机集群的时候提高较快
3、排序测试
测试目标:Hbase的行排序是根据主键排序,测试动态或者反序插入时候的性能。
测试资料:动态生成字母资料,zzzzz-aaaaa,还有随机插入
测试结果:
单机集群(每秒多少行)
写入行 |
10,000 |
100,000 |
1,000,000 |
顺序 |
485 |
432 |
334 |
反序 |
451 |
477 |
354 |
随机 |
462 |
421 |
334 |
5机集群(每秒多少行)
写入行 |
10,000 |
100,000 |
1,000,000 |
顺序 |
488 |
440 |
346 |
反序 |
522 |
387 |
343 |
随机 |
468 |
441 |
370 |
测试结论:
采用B树存储和写入缓存,写入数量和顺序对速度影响并不大,应该只是cpu占用的不同。
主要瓶颈还是在网络传输速度上。
相关推荐
我们经常看到一些文章吹嘘某产品如何如何快,如何如何强,而自己测试时却不如描述的一些数据。其实原因可能在于你还不是真正理解其内部结构...本文转自TaoBao的Ken Wu同学的博客,是目前看到比较完整的HBase调优文章。
非关系数据库(经常被称为NoSQL)的特点是弹性和可伸缩性。另外,它们可以存储大数据并与云计算系统协同工作。这些因素导致非关系数据库非常...本文概述了针对几种市面上最成熟也是最流行的NoSQL数据库性能测试的结果。
该资源真实可靠,代码都经测试过,能跑通。 快速:Apache Spark以内存计算为核心。 通用 :一站式解决各个问题,ADHOC SQL查询,流计算,数据挖掘,图计算完整的生态圈。只要掌握Spark,就能够为大多数的企业的大数据...
该资源真实可靠,代码都经测试过,能跑通。 快速:Apache Spark以内存计算为核心。 通用 :一站式解决各个问题,ADHOC SQL查询,流计算,数据挖掘,图计算完整的生态圈。只要掌握Spark,就能够为大多数的企业的大数据...
该资源真实可靠,代码都经测试过,能跑通。 快速:Apache Spark以内存计算为核心。 通用 :一站式解决各个问题,ADHOC SQL查询,流计算,数据挖掘,图计算完整的生态圈。只要掌握Spark,就能够为大多数的企业的大数据...
课程分享——Kudu分布式存储引擎,完整版,附代码、课件。 课程亮点: 阐述了Kudu的产生背景和应用场景 ...总结性的阐述了Kudu的性能测试报告、报错解决方案、性能优化方案 帮助同学们掌握基础的Linux常用命令
该资源真实可靠,代码都经测试过,能跑通。 快速:Apache Spark以内存计算为核心。 通用 :一站式解决各个问题,ADHOC SQL查询,流计算,数据挖掘,图计算完整的生态圈。只要掌握Spark,就能够为大多数的企业的大数据...
该资源真实可靠,代码都经测试过,能跑通。 快速:Apache Spark以内存计算为核心。 通用 :一站式解决各个问题,ADHOC SQL查询,流计算,数据挖掘,图计算完整的生态圈。只要掌握Spark,就能够为大多数的企业的大数据...
该资源真实可靠,代码都经测试过,能跑通。 快速:Apache Spark以内存计算为核心。 通用 :一站式解决各个问题,ADHOC SQL查询,流计算,数据挖掘,图计算完整的生态圈。只要掌握Spark,就能够为大多数的企业的大数据...
Amazon DynamoDB与 Apache HBase for NOSQL的使用对比pdf Amazon Elastic File System:在不同吞吐量和性能模式之间选择pdf Amazon Virtual Private Cloud网络连接选项pdf 云迁移实践指南:将服务迁移至 AWS. pdf 从...
2.6 HBase和RDBMS的比较 2.6.1 成功的服务 2.6.2 HBase 2.6.3 实例:HBase在Streamy.com的使用 2.7 Praxis 2.7.1 版本 2.7.2 HDFS 2.7.3 用户接口(UI) 2.7.4 度量(metrics) 2.7.5 模式设计 ...
该资源真实可靠,代码都经测试过,能跑通。 快速:Apache Spark以内存计算为核心。 通用 :一站式解决各个问题,ADHOC SQL查询,流计算,数据挖掘,图计算完整的生态圈。只要掌握Spark,就能够为大多数的企业的大数据...
Sqoop2和Sqoop1的功能性对比 Sqoop的版本区别 功能 Sqoop1 Sqoop2 用于所有主要 RDBMS 的连接器 支持 不支持解决办法: 使用已在以下数据库上执行测试的通用 JDBC 连接器: Microsoft SQL Server 、 PostgreSQL 、 ...
该资源真实可靠,代码都经测试过,能跑通。 快速:Apache Spark以内存计算为核心。 通用 :一站式解决各个问题,ADHOC SQL查询,流计算,数据挖掘,图计算完整的生态圈。只要掌握Spark,就能够为大多数的企业的大数据...
14.2 性能测试 237 14.2.1 50/50的读和更新 237 14.2.2 95/5的读和更新 237 14.2.3 扫描 238 14.2.4 可扩展性测试 238 14.2.5 Hypertable测试 238 14.3 背景比较 239 14.4 小结 240 第15章 共存 241 15.1 ...
3.3.1 比较SequenceFiles、Protocol Buffers、Thrift 和 Avro 3.3.2 Sequence File 技术点14 处理SequenceFile 3.3.3 Protocol Buffers 技术点15 整合Protocol Buffers 和MapReduce . 3.3.4 Thrift ...
该资源真实可靠,代码都经测试过,能跑通。 快速:Apache Spark以内存计算为核心。 通用 :一站式解决各个问题,ADHOC SQL查询,流计算,数据挖掘,图计算完整的生态圈。只要掌握Spark,就能够为大多数的企业的大数据...
技术点75 通过4 步快速处理大数据11.4 性能 技术点76 Pig 优化 11.5 本章小结 12 Crunch 及相关技术12.1 什么是Crunch12.1.1 背景和概念12.1.2 基本原理12.1.3 简单示例12.2 发现日志中最热门的...
该资源真实可靠,代码都经测试过,能跑通。 快速:Apache Spark以内存计算为核心。 通用 :一站式解决各个问题,ADHOC SQL查询,流计算,数据挖掘,图计算完整的生态圈。只要掌握Spark,就能够为大多数的企业的大数据...
该资源真实可靠,代码都经测试过,能跑通。 快速:Apache Spark以内存计算为核心。 通用 :一站式解决各个问题,ADHOC SQL查询,流计算,数据挖掘,图计算完整的生态圈。只要掌握Spark,就能够为大多数的企业的大数据...