成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

主流NoSQL數(shù)據(jù)庫(kù)評(píng)測(cè)之HBase

數(shù)據(jù)庫(kù) 其他數(shù)據(jù)庫(kù)
本篇要評(píng)測(cè)的NoSQL產(chǎn)品是HBase,和其他簡(jiǎn)單的Key-Value結(jié)構(gòu)不同,HBase主要面向處理海量數(shù)據(jù)的應(yīng)用,可以認(rèn)為是Google BigTable的一個(gè)開(kāi)源版本。

本篇要評(píng)測(cè)的NoSQL產(chǎn)品是HBase,和其他簡(jiǎn)單的Key-Value結(jié)構(gòu)不同,HBase主要面向處理海量數(shù)據(jù)的應(yīng)用,可以認(rèn)為是Google BigTable的一個(gè)開(kāi)源版本。由于Facebook使用HBase來(lái)存儲(chǔ)消息內(nèi)容和大數(shù)據(jù)量的實(shí)時(shí)分析而使得這一產(chǎn)品備受關(guān)注。

一、HBase簡(jiǎn)介

HBase是用Java開(kāi)發(fā)的,是一個(gè)開(kāi)源的、分布式的、面向列的數(shù)據(jù)庫(kù),其存儲(chǔ)的每個(gè)值都有一個(gè)時(shí)間戳,可以根據(jù)定義好的規(guī)則保存多個(gè)版本(默認(rèn)是3個(gè)),這樣就可以記錄數(shù)據(jù)的變動(dòng)情況。

HBase和Hadoop無(wú)縫集成,可以利用HDFS實(shí)現(xiàn)數(shù)據(jù)的底層分布式存儲(chǔ),保證冗余和可靠性,通過(guò)ZooKeeper來(lái)實(shí)現(xiàn)一致性和高可用性。

HBase有兩種部署方式:一種是比較簡(jiǎn)單的單實(shí)例方式,它已經(jīng)內(nèi)置了0.20版本的Hadoop包和一個(gè)本地ZooKeeper,它們運(yùn)行在同一個(gè) JVM之下,可以用本地文件系統(tǒng)而不用HDFS。另外一種比較復(fù)雜的分布式部署,需要在每一個(gè)節(jié)點(diǎn)替換自帶的Hadoop包以免有版本問(wèn)題,而且必須有一個(gè)HDFS實(shí)例,同時(shí)需要獨(dú)立的ZooKeeper集群,這也是處理海量數(shù)據(jù)時(shí)的推薦的部署方式。本文為測(cè)試方便,使用簡(jiǎn)單的單實(shí)例部署方式。

二、安裝和使用

首先從鏡像下載最新版的HBase,目前最新的版本是0.90.3:

  1. [root@localhost hbase]# wget http://mirror.bjtu.edu.cn/apache/hbase/stable/hbase-0.90.3.tar.gz 

先檢查下本地的JDK版本是否在1.6以上:

  1. [root@localhost hbase]# java -version 
  2. java version "1.6.0_24" 

解壓并配置數(shù)據(jù)文件的路徑:

  1. [root@localhost hbase]# tar zxvf hbase-0.90.3.tar.gz 
  2. [root@localhost hbase]# cd hbase-0.90.3/conf 
  3. [root@localhost conf]# vi hbase-site.xml 
  4. </configuration> 
  5. <configuration> 
  6. <property> 
  7. <name>hbase.rootdir</name
  8. <value>/home/banping/hbase/data</value> 
  9. </property> 

啟動(dòng)Hbase進(jìn)程:

  1. [root@localhost hbase-0.90.3]# bin/start-hbase.sh 
  2. starting master, logging to /home/banping/hbase/hbase-0.90.3/bin/../logs/hbase-root-master-localhost.localdomain.out 

可以通過(guò)自帶的shell命令來(lái)進(jìn)行基本的操作:

  1. [root@localhost hbase-0.90.3]# bin/hbase shell 
  2. hbase(main):002:0> create 'test','cf' 
  3. 0 row(s) in 0.9940 seconds 
  4. hbase(main):019:0> list 
  5. TABLE 
  6. test 
  7. 1 row(s) in 0.0290 seconds 
  8. hbase(main):022:0> put 'test''row1''cf:a''value1' 
  9. 0 row(s) in 0.2130 seconds 
  10. hbase(main):023:0> put 'test''row2''cf:b''value2' 
  11. 0 row(s) in 0.0120 seconds 
  12. hbase(main):024:0> put 'test''row3''cf:c''value3' 
  13. 0 row(s) in 0.0130 seconds 
  14. hbase(main):025:0> scan 'test' 
  15. ROW COLUMN+CELL 
  16. row1 column=cf:a, timestamp=1310027460885, value=value1 
  17. row2 column=cf:b, timestamp=1310027469458, value=value2 
  18. row3 column=cf:c, timestamp=1310027476262, value=value3 
  19. 3 row(s) in 0.0870 seconds 
  20.  
  21. hbase(main):026:0> get 'test''row1' 
  22. COLUMN CELL 
  23. cf:a timestamp=1310027460885, value=value1 
  24. 1 row(s) in 0.0250 seconds 
  25. hbase(main):027:0> disable 'test' 
  26. 0 row(s) in 2.0920 seconds 
  27. hbase(main):029:0> drop 'test' 
  28. 0 row(s) in 1.1440 seconds 
  29. hbase(main):030:0> exit 

停止Hbase實(shí)例:

  1. [root@localhost hbase-0.90.3]# ./bin/stop-hbase.sh 
  2. stopping hbase...... 

如果使用PHP操作Hbase,可以使用Facebook開(kāi)源出來(lái)的thrift,官網(wǎng)是:http://thrift.apache.org/ ,它是一個(gè)類(lèi)似ice的中間件,用于不同系統(tǒng)語(yǔ)言間信息交換。首先下載最新的版本0.6.1:

  1. [root@localhost hbase]# wget http://mirror.bjtu.edu.cn/apache//thrift/0.6.1/thrift-0.6.1.tar.gz 

安裝需要的依賴(lài)包:

  1. [root@localhost thrift-0.6.1]# sudo yum install automake libtool flex bison pkgconfig gcc-c++ boost-devel libevent-devel zlib-devel python-devel ruby-devel 

編譯安裝:

  1. [root@localhost thrift-0.6.1]# ./configure --prefix=/home/banping/hbase/thrift --with-php-config=/usr/local/php/bin/ 
  2. [root@localhost thrift-0.6.1]# make 
  3. [root@localhost thrift-0.6.1]# make install 

生成php和hbase的接口文件:

  1. [root@localhost hbase]# thrift/bin/thrift --gen php /home/banping/hbase/hbase-0.90.3/src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift 
  2. [root@localhost hbase]# cd gen-php/Hbase 
  3. [root@localhost Hbase]# ll 
  4. total 320 
  5. -rw-r--r-- 1 root root 285433 Jul 7 19:22 Hbase.php 
  6. -rw-r--r-- 1 root root 27426 Jul 7 19:22 Hbase_types.php 

把PHP客戶(hù)端需要的包及剛才生成的接口文件復(fù)制出來(lái)供php程序調(diào)用:

  1. [root@localhost Hbase]# cp -a /home/banping/hbase/thrift-0.6.1/lib/php /home/webtest/thrift/ 
  2. [root@localhost Hbase]# cd /home/webtest/thrift/ 
  3. [root@localhost thrift]# mkdir packages 
  4. [root@localhost thrift]# cp -a /home/banping/hbase/gen-php/Hbase /home/webtest/thrift/packages 

啟動(dòng)hbase和thrift進(jìn)程:

  1. [root@localhost hbase-0.90.3]# ./bin/start-hbase.sh 
  2. [root@localhost hbase-0.90.3]# ./bin/hbase-daemon.sh start thrift 
  3. starting thrift, logging to /home/banping/hbase/hbase-0.90.3/bin/../logs/hbase-root-thrift-localhost.localdomain.out 

thrift服務(wù)默認(rèn)監(jiān)聽(tīng)的端口是9090。至此測(cè)試環(huán)境搭建完畢。

#p#

三、測(cè)試說(shuō)明

1、測(cè)試環(huán)境

HBase部署在一臺(tái)PC 服務(wù)器上,配置如下:

CPU為Xeon 2.80GHz *4

內(nèi)存為4G

硬盤(pán)為一塊400G SATA盤(pán)

操作系統(tǒng)為64位CentOS 5.3版本

2、測(cè)試方法

采用PHP客戶(hù)端進(jìn)行測(cè)試,在安裝過(guò)程中我們已經(jīng)獲取了PHP客戶(hù)端訪(fǎng)問(wèn)HBase需要的包含文件。

為了不對(duì)測(cè)試服務(wù)器產(chǎn)生額外的影響,測(cè)試客戶(hù)端部署在另外一臺(tái)獨(dú)立的服務(wù)器上,運(yùn)行的PHP的版本是5.3.5,web server是Nginx 0.8.54,通過(guò)fastcgi的方式調(diào)用PHP服務(wù)。使用apache ab工具實(shí)現(xiàn)多個(gè)請(qǐng)求和并發(fā)操作。

測(cè)試過(guò)程首先是進(jìn)行寫(xiě)操作,通過(guò)500個(gè)請(qǐng)求,每個(gè)請(qǐng)求寫(xiě)入10000條記錄,并發(fā)度為1來(lái)共寫(xiě)入500萬(wàn)條數(shù)據(jù),每個(gè)行(row)定義為數(shù)字1到 5000000,列(column)標(biāo)記為id:對(duì)應(yīng)的行id,列value為100個(gè)字節(jié)大小的數(shù)據(jù),版本默認(rèn)為記錄3個(gè)。然后是讀操作,發(fā)起5000 個(gè)請(qǐng)求,每個(gè)請(qǐng)求隨機(jī)根據(jù)row id值讀出1000條記錄,并發(fā)度為10共讀出500萬(wàn)條記錄,評(píng)測(cè)的重點(diǎn)是寫(xiě)入和讀出數(shù)據(jù)的時(shí)間,以及在此過(guò)程中服務(wù)器的資源使用情況。

四、測(cè)試結(jié)果

1、寫(xiě)操作

成功寫(xiě)入500萬(wàn)條記錄,共耗時(shí)5418秒,平均每秒寫(xiě)入數(shù)據(jù)923筆。磁盤(pán)上的數(shù)據(jù)文件大小620M。寫(xiě)入過(guò)程中,服務(wù)器內(nèi)存、CPU和磁盤(pán)等資源使用情況如下圖所示:

可見(jiàn),內(nèi)存使用平穩(wěn)上升,最后占用1G左右,主要用來(lái)緩存數(shù)據(jù),中間有偶爾的內(nèi)存使用高峰,猜測(cè)是JAVA 的垃圾回收后會(huì)釋放內(nèi)存。CPU使用非常平穩(wěn),idle穩(wěn)定在79左右,幾乎沒(méi)有wait發(fā)生。磁盤(pán)IO非常低,但是寫(xiě)入速度較慢。總體來(lái)說(shuō)占用資源很少,表現(xiàn)也很平穩(wěn)。

2、讀操作

成功讀出500萬(wàn)條記錄,共耗時(shí)8521秒,平均每秒讀出數(shù)據(jù)587筆。

讀數(shù)據(jù)過(guò)程中磁盤(pán)IO很低,幾乎沒(méi)有波動(dòng)。CPU消耗較多,Idle值穩(wěn)定在13左右,等待CPU資源的進(jìn)程一直有3到14個(gè)。內(nèi)存表現(xiàn)平穩(wěn)沒(méi)有波動(dòng)。

五、總結(jié)

通過(guò)以上測(cè)試結(jié)果可以看出,HBase讀寫(xiě)效率并不高,因?yàn)樗轻槍?duì)海量數(shù)據(jù)處理來(lái)設(shè)計(jì)的,側(cè)重的是海量存儲(chǔ)下的性能而非Key-Value存儲(chǔ)的效率,因此這也是正常的,另外由于寫(xiě)入速度慢,因此磁盤(pán)IO占用非常低,這和其他幾款NoSQL有明顯的區(qū)別。隨著淘寶等國(guó)內(nèi)互聯(lián)網(wǎng)巨頭不斷加大使用 HBase的規(guī)模,相信在國(guó)內(nèi)會(huì)有越來(lái)越多的成功案例。

【編輯推薦】

  1. 主流NoSQL數(shù)據(jù)庫(kù)全方位評(píng)測(cè)之MongoDB
  2. 主流NoSQL數(shù)據(jù)庫(kù)評(píng)測(cè)之Tokyo Cabinet
  3. 主流NoSQL數(shù)據(jù)庫(kù)評(píng)測(cè)之HandlerSocket

 

 

 

責(zé)任編輯:艾婧 來(lái)源: IT168
相關(guān)推薦

2011-05-16 10:29:44

HandlerSockNoSQL

2011-07-06 16:36:40

Redis

2011-05-30 09:27:35

NoSQL評(píng)測(cè)

2011-06-14 09:09:13

NoSQLMongoDB

2011-09-21 11:21:00

NoSQL

2019-03-20 15:59:11

NoSQLRedis數(shù)據(jù)庫(kù)

2024-02-02 10:51:53

2015-05-07 14:25:40

谷歌NoSQL數(shù)據(jù)庫(kù)HBase

2015-06-30 12:49:27

HBaseNoSQL分布式

2021-09-28 09:25:05

NoSQL數(shù)據(jù)庫(kù)列式數(shù)據(jù)庫(kù)

2011-10-09 09:38:03

OracleNoSQL

2011-07-19 09:08:50

JavaNoSQL

2019-07-08 10:36:34

數(shù)據(jù)庫(kù)WebNoSQL

2010-04-01 09:45:38

NoSQL

2024-03-28 09:00:00

NoSQL數(shù)據(jù)庫(kù)

2011-03-01 09:10:19

開(kāi)源數(shù)據(jù)庫(kù)

2011-04-14 11:14:21

OracleNoSQLMySQL

2014-02-27 10:08:33

NoSQL

2019-07-23 11:41:45

數(shù)據(jù)庫(kù)SQLDocker

2011-03-25 14:40:29

Trinity數(shù)據(jù)庫(kù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 五月天婷婷综合 | 亚洲一区二区在线 | 国产精品久久av | 久久综合爱 | 欧美网站一区 | 一级片网站视频 | 成人aaa视频 | 国产在线观| 国产黄色电影 | 国产一在线观看 | 国产九一精品 | 中文字幕99 | 亚洲视频免费在线观看 | 日韩不卡一区二区 | 日本精品一区二区三区在线观看 | 成人免费观看男女羞羞视频 | 福利网址 | 国产精品18久久久久久白浆动漫 | 国产精品久久久久久久久久不蜜臀 | 99国产在线 | 拍真实国产伦偷精品 | 欧美精品二区 | 中文天堂在线一区 | 黄片毛片免费观看 | 欧美日韩国产精品一区 | 国产精品一码二码三码在线 | 成人久久网 | 一区二区三区四区国产精品 | a级在线免费观看 | 97超碰人人草 | 日本久久一区二区三区 | 夜夜爽99久久国产综合精品女不卡 | 欧美成人免费在线视频 | 国产日韩精品一区二区三区 | 欧美日韩精品一区二区三区蜜桃 | 久久国产视频网 | 国产韩国精品一区二区三区 | 久草热8精品视频在线观看 午夜伦4480yy私人影院 | 精品欧美一区二区中文字幕视频 | 成人在线视频免费观看 | 国产精品久久午夜夜伦鲁鲁 |