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

專家講解 Hadoop:HBASE松散數(shù)據(jù)存儲(chǔ)設(shè)計(jì)

開(kāi)發(fā) 架構(gòu) Hadoop
Hadoop相信大家對(duì)不陌生,那么Hadoop:HBASE松散數(shù)據(jù)存儲(chǔ)設(shè)計(jì)你是否熟悉,這里就像大家介紹一下Hadoop:HBASE松散數(shù)據(jù)存儲(chǔ)設(shè)計(jì)方法,歡迎大家一起來(lái)學(xué)習(xí)。

本節(jié)和大家一起學(xué)習(xí)一下Hadoop:HBASE松散數(shù)據(jù)存儲(chǔ)設(shè)計(jì)方面的內(nèi)容,希望通過(guò)本節(jié)介紹大家能夠掌握Hadoop:HBASE松散數(shù)據(jù)存儲(chǔ)設(shè)計(jì)的方法。

Hadoop:HBASE松散數(shù)據(jù)存儲(chǔ)設(shè)計(jì)初識(shí)

最近關(guān)注Hadoop,因此也順便關(guān)注了一下Hadoop相關(guān)的項(xiàng)目。HBASE就是基于Hadoop的一個(gè)開(kāi)源項(xiàng)目,也是對(duì)Google的BigTable的一種實(shí)現(xiàn)。
BigTable是什么?Google的Paper對(duì)其作了充分的說(shuō)明。字面上看就是一張大表,其實(shí)和我們想象的傳統(tǒng)數(shù)據(jù)庫(kù)的表還是有些差別的。松散數(shù)據(jù)可以說(shuō)是介于MapEntry(key&value)和DBRow之間的一種數(shù)據(jù)。在我使用Memcache的時(shí)候,有時(shí)候的需求是需要存儲(chǔ)的不僅僅是簡(jiǎn)單的一個(gè)key對(duì)應(yīng)一個(gè)value,可能我需要類似于數(shù)據(jù)庫(kù)表結(jié)構(gòu)中多屬性的存儲(chǔ),但是又不會(huì)有傳統(tǒng)數(shù)據(jù)庫(kù)表結(jié)構(gòu)中那么多關(guān)聯(lián)關(guān)系的需求,其實(shí)這類數(shù)據(jù)就是所謂的松散數(shù)據(jù)。BigTable最淺顯來(lái)看就是一張很大的表,表的屬性可以根據(jù)需求去動(dòng)態(tài)增加,但是又沒(méi)有表與表之間關(guān)聯(lián)查詢的需求。

互聯(lián)網(wǎng)應(yīng)用有一個(gè)***的特點(diǎn),就是速度,功能再?gòu)?qiáng)大,速度慢,還是會(huì)被舍棄。因此在大訪問(wèn)量的網(wǎng)站都采取前后的緩存來(lái)提升性能和響應(yīng)時(shí)間。對(duì)于MapEntry類型的數(shù)據(jù),集中式分布式Cache都有很多選擇,對(duì)于傳統(tǒng)的關(guān)系型數(shù)據(jù),從MySQL到Oracle都給了很好的支持,唯有松散數(shù)據(jù)這類數(shù)據(jù),采用前后兩種解決方案都不能***化它的處理能力。因此BigTable才有了它用武之地。

HBASE作為Apache的開(kāi)源項(xiàng)目,也是出于起步階段,因?yàn)槠鋵?shí)它所依賴的Hadoop也不能說(shuō)已經(jīng)到了成熟階段,所以都有很大的發(fā)展空間,這也為我們這些開(kāi)源愛(ài)好者提供了更多空間去貢獻(xiàn)。這里主要會(huì)談到HBASE的框架設(shè)計(jì)方面的知識(shí)和它的一些特點(diǎn),不論是否采用HBASE去解決工作中的問(wèn)題,一種好的流程設(shè)計(jì)總會(huì)給開(kāi)發(fā)者和架構(gòu)設(shè)計(jì)者帶來(lái)一些思想上的火花。

HBASE設(shè)計(jì)介紹

數(shù)據(jù)模型
HBASE中的每一張表,就是所謂的BigTable。BigTable會(huì)存儲(chǔ)一系列的行記錄,行記錄有三個(gè)基本類型的定義:RowKey,TimeStamp,Column。RowKey是行在BigTable中的唯一標(biāo)識(shí),TimeStamp是每次數(shù)據(jù)操作對(duì)應(yīng)關(guān)聯(lián)的時(shí)間戳,可以看作類似于SVN的版本,Column定義為:<family>:<label>,通過(guò)這兩部分可以唯一的指定一個(gè)數(shù)據(jù)的存儲(chǔ)列,family的定義和修改需要對(duì)HBASE作類似于DB的DDL操作,而對(duì)于label的使用,則不需要定義直接可以使用,這也為動(dòng)態(tài)定制列提供了一種手段。family另一個(gè)作用其實(shí)在于物理存儲(chǔ)優(yōu)化讀寫操作,同family的數(shù)據(jù)物理上保存的會(huì)比較臨近,因此在業(yè)務(wù)設(shè)計(jì)的過(guò)程中可以利用這個(gè)特性。

HBASE依托于Hadoop的HDFS作為存儲(chǔ)基礎(chǔ),因此結(jié)構(gòu)也很類似于Hadoop的Master-Slave模式,HbaseMasterServer負(fù)責(zé)管理所有的HRegionServer,但HbaseMasterServer本身并不存儲(chǔ)HBASE中的任何數(shù)據(jù)。HBASE邏輯上的Table被定義成為一個(gè)Region存儲(chǔ)在某一臺(tái)HRegionServer上,HRegionServer與Region的對(duì)應(yīng)關(guān)系是一對(duì)多的關(guān)系。每一個(gè)HRegion在物理上會(huì)被分為三個(gè)部分:Hmemcache、Hlog、HStore,分別代表了緩存,日志,持久層。通過(guò)一次更新流程來(lái)看一下這三部分的作用:


提交更新以及刷新Cache流程

由流程可以看出,提交更新操作將會(huì)寫入到兩部分實(shí)體中,HMemcache和Hlog中,HMemcache就是為了提高效率在內(nèi)存中建立緩存,保證了部分最近操作過(guò)的數(shù)據(jù)能夠快速的被讀取和修改,Hlog是作為同步Hmemcache和Hstore的事務(wù)日志,在HRegionServer周期性的發(fā)起FlushCache命令的時(shí)候,就會(huì)將Hmemcache中的數(shù)據(jù)持久化到Hstore中,同時(shí)會(huì)清空Hmemecache中的數(shù)據(jù),這里采用的是比較簡(jiǎn)單的策略來(lái)做數(shù)據(jù)緩存和同步,復(fù)雜一些其實(shí)可以參照java的垃圾收集機(jī)制來(lái)做。
在讀取Region信息的時(shí)候,優(yōu)先讀取HMemcache中的內(nèi)容,如果未取到再去讀取Hstore中的數(shù)據(jù)。

幾個(gè)細(xì)節(jié):

1.由于每一次FlashCache,就會(huì)產(chǎn)生一個(gè)HstoreFile,在Hstore中存儲(chǔ)的文件會(huì)越來(lái)越多,對(duì)性能也會(huì)產(chǎn)生一定影響,因此達(dá)到設(shè)置文件數(shù)量閥值的時(shí)候就會(huì)Merge這些文件為一個(gè)大文件。

2.Cache大小的設(shè)置以及flush的時(shí)間間隔設(shè)置需要考慮內(nèi)存消耗以及對(duì)性能的影響。

3.HRegionServer每次重新啟動(dòng)的時(shí)候會(huì)將Hlog中沒(méi)有被Flush到Hstore中的數(shù)據(jù)再次載入到Hmemcache,因此Hmemcache過(guò)大對(duì)于啟動(dòng)的速度也有直接影響。

4.HstoreFile中存儲(chǔ)數(shù)據(jù)采用B-tree的算法,因此也支持了前面提到對(duì)于Column同F(xiàn)amily數(shù)據(jù)操作的快速定位獲取。

5.HRegion可以Merge也可以被Split,根據(jù)HRegion的大小決定。不過(guò)在做這些操作的時(shí)候HRegion都會(huì)被鎖定不可使用。

6.HbaseMasterServer通過(guò)Meta-infoTable來(lái)獲取HRegionServer的信息以及Region的信息,Meta最頂部的一個(gè)Region是虛擬的一個(gè)叫做RootRegion,通過(guò)RootRegion可以找到下面各個(gè)實(shí)際的Region。

7.客戶端通過(guò)HbaseMasterServer獲得了Region所在的RegionServer,然后就直接和RegionServer進(jìn)行交互,而對(duì)于RegionServer相互之間不通信,只和HbaseMasterServer交互,受到MasterServer的監(jiān)控和管理。本節(jié)關(guān)于Hadoop:HBASE松散數(shù)據(jù)存儲(chǔ)設(shè)計(jì)方面的內(nèi)容介紹到這里。

【編輯推薦】

  1. 兩種模式運(yùn)行Hadoop分布式并行程序
  2. 專家指導(dǎo) 如何進(jìn)行Hadoop分布式集群配置
  3. Hadoop集群與Hadoop性能優(yōu)化
  4. HadoopHBase實(shí)現(xiàn)配置簡(jiǎn)單的單機(jī)環(huán)境
  5. Hadoop概念及其用法專家講解 


 

責(zé)任編輯:佚名 來(lái)源: it168.com
相關(guān)推薦

2010-06-03 18:32:51

Hadoop

2010-01-14 10:18:17

2018-06-13 08:53:39

HadoopHBase存儲(chǔ)

2020-10-22 09:37:39

存儲(chǔ)Kafka設(shè)計(jì)

2013-12-12 10:00:03

大數(shù)據(jù)

2010-06-03 10:22:17

Hadoop入門

2017-03-08 13:31:28

存儲(chǔ)IT公有云

2010-05-27 17:01:22

啟動(dòng)Subversio

2010-06-29 19:08:23

UML建模技術(shù)

2010-05-31 13:54:52

2018-10-29 13:07:15

HBase存儲(chǔ)遷移

2010-06-07 08:55:50

Hadoop云計(jì)算

2010-06-03 18:22:38

Hadoop

2010-05-28 17:30:58

SVN分支

2010-06-01 09:18:46

SVN創(chuàng)建項(xiàng)目

2012-06-06 09:03:24

曙光存儲(chǔ)大數(shù)據(jù)

2010-06-03 13:08:51

2016-09-07 14:42:30

艾默生云計(jì)算網(wǎng)絡(luò)能源

2010-05-19 16:45:26

2010-05-28 15:47:29

SVN分支
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 成人精品毛片 | 国产99久久精品一区二区永久免费 | 日韩一区二区在线视频 | 免费毛片网站在线观看 | 国产精品一区三区 | www.久久久.com| 亚洲福利在线视频 | 久久久久久久久久久爱 | 亚洲欧美视频一区二区 | 99热精品6 | 麻豆天堂| 国产精品伦一区二区三级视频 | 欧美电影在线观看网站 | 中文字幕中文字幕 | 欧美电影免费观看 | 在线欧美a| 精品国产视频 | 91传媒在线观看 | 精品久久亚洲 | 99精品视频一区二区三区 | 国产精品影视在线观看 | www.久草.com | 国产精品99久久久久久久久 | 国产成人精品午夜 | 美女在线视频一区二区三区 | 国产中文字幕在线 | 国产日韩久久 | 视频一区二区中文字幕日韩 | 国产高清一区二区三区 | 久久9精品| 午夜在线视频 | 999精品视频 | 亚洲欧美日韩中文字幕一区二区三区 | 欧美一区二区三区的 | 国产成人免费视频网站高清观看视频 | 欧美一级二级视频 | 午夜免费福利电影 | 国产真实乱对白精彩久久小说 | 国产高清在线精品一区二区三区 | 欧美久久久久久久久 | 亚洲另类视频 |