HBase原理及調(diào)優(yōu)-讀寫

1.Region定位

Region按大小分割将硝,每個(gè)表以開始只有一個(gè)region,隨著數(shù)據(jù)不斷地插入表屏镊,region不斷增大依疼,當(dāng)增大到一定閾值時(shí),HBase會(huì)根據(jù)一定規(guī)則將表進(jìn)行水平拆分而芥,形成兩個(gè)Region

Region是HBase中分布式存儲(chǔ)和負(fù)載均衡的最小單元律罢,最小單元就是表示不同的region可以分布在不同的regionServer上,但一個(gè)region不會(huì)拆分到多個(gè)server

1.1 META表--記錄用戶表和管理情況

①M(fèi)ETA表:記錄了各個(gè)RegionServer所管理的表和region信息棍丐。(元數(shù)據(jù)表)
②與一般HBase表結(jié)構(gòu) 一樣弟翘,采用鍵值對(duì)和面向列的存儲(chǔ)
③META表數(shù)據(jù)過多,也會(huì)進(jìn)行自動(dòng)分區(qū)



1.2 數(shù)據(jù)存儲(chǔ)與讀取-Store

Store存儲(chǔ)是HBase存儲(chǔ)的核心

MemStore:內(nèi)存寫緩存
· HBase將最近接收到的數(shù)據(jù)緩存在內(nèi)存中(in Memstore)骄酗,在持久化到HDFS之前完成排序,然后再快速的順序?qū)懭際DFS
· 緩存最近增加的頻繁使用的數(shù)據(jù)悦冀,提高數(shù)據(jù)讀取的速度
· 持久化寫入之前趋翻,根據(jù)配置優(yōu)化表數(shù)據(jù)

StoreFile:當(dāng)MemStore滿了以后會(huì)Flush成一個(gè)StoreFile(底層實(shí)現(xiàn)是HFile),
· 當(dāng)StoreFile文件數(shù)量增長(zhǎng)到一定閾值盒蟆,會(huì)觸發(fā)Compaction合并操作
· Memstore的數(shù)據(jù)插入是有序的踏烙,因此每個(gè)storefile最終會(huì)合并成一個(gè)有序的大的storefile师骗。

HBase寫流程
1.客戶端首先訪問zookeeper,從meta表得到寫入數(shù)據(jù)對(duì)應(yīng)的region信息和相應(yīng)的region服務(wù)器
2.MemStore達(dá)到一個(gè)閾值后則把數(shù)據(jù)刷成一個(gè)StoreFile文件
3.當(dāng)Storefile文件達(dá)到一定的數(shù)量后讨惩,會(huì)觸發(fā)Compact合并操作辟癌,合并為一個(gè)大的StoreFile,最終以Hfile的形式存于HDFS中
4.當(dāng)Storefile大小超過一定閾值后荐捻,會(huì)把當(dāng)前的Region分割為兩個(gè)黍少,并由Master分配到相應(yīng)的RegionServer,實(shí)現(xiàn)負(fù)載均衡

HBase讀文件流程

1.客戶端先訪問zookeeper处面,從meta表讀取Region的信息對(duì)應(yīng)的服務(wù)器
2.客戶端向?qū)?yīng)Region服務(wù)器發(fā)送讀取數(shù)據(jù)的請(qǐng)求厂置,Region接收請(qǐng)求后,先從MemStore找數(shù)據(jù)魂角,如果沒有昵济,再到StoreFile讀取,然后將數(shù)據(jù)返回給客戶端
? ? ? ? · get操作:先定位到鍵值對(duì)所在的分區(qū)野揪,再并行的查詢?cè)摲謪^(qū)中所有storefile中是否由指定行鍵的鍵值對(duì)访忿,由于storefile是排序過的,因此這種并行查詢可以很快得到結(jié)果

? ? ? ? · scan操作:根據(jù)限定條件斯稳,比如列族和行鍵的范圍確定需要掃描的分區(qū)海铆,并在這些分區(qū)的storefile中進(jìn)行分布式掃描和過濾。

1.3? WAL機(jī)制

Hlog:預(yù)寫日志(Write Ahead Log)文件平挑,當(dāng)數(shù)據(jù)寫入memstore之前游添,RegionServer會(huì)將數(shù)據(jù)寫入到Hlog中

當(dāng)region服務(wù)故障,讀取Hlog文件作災(zāi)難恢復(fù)

· HLog寫入到HDFS中通熄,記錄所有的變更唆涝;

· 鍵值寫入時(shí)不會(huì)被排序
· 鍵值對(duì)寫入HLog時(shí),會(huì)寫入所屬的表和分區(qū)唇辨,以及記錄序號(hào)和時(shí)間戳
· 數(shù)據(jù)持久化操作之后廊酣,RegionServer會(huì)將不需要的HLog清除掉,并將這一清除事件寫入Zookeeper赏枚。
· 以追加文件的方式將不同region的日志混在一起亡驰,減少磁盤尋址次數(shù),提高對(duì)table的寫性能饿幅;
· 如果一臺(tái)regionServer下線凡辱,為了恢復(fù)其上的region,需要將HLog進(jìn)行拆分栗恩,然后分發(fā)到其他regionserver上進(jìn)行恢復(fù)


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末透乾,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌乳乌,老刑警劉巖捧韵,帶你破解...
    沈念sama閱讀 219,589評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異汉操,居然都是意外死亡再来,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門磷瘤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)芒篷,“玉大人,你說(shuō)我怎么就攤上這事膀斋∷蠓ィ” “怎么了?”我有些...
    開封第一講書人閱讀 165,933評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵仰担,是天一觀的道長(zhǎng)糊识。 經(jīng)常有香客問我,道長(zhǎng)摔蓝,這世上最難降的妖魔是什么赂苗? 我笑而不...
    開封第一講書人閱讀 58,976評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮贮尉,結(jié)果婚禮上拌滋,老公的妹妹穿的比我還像新娘。我一直安慰自己猜谚,他們只是感情好败砂,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,999評(píng)論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著魏铅,像睡著了一般昌犹。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上览芳,一...
    開封第一講書人閱讀 51,775評(píng)論 1 307
  • 那天斜姥,我揣著相機(jī)與錄音,去河邊找鬼沧竟。 笑死铸敏,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的悟泵。 我是一名探鬼主播杈笔,決...
    沈念sama閱讀 40,474評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼糕非!你這毒婦竟也來(lái)了桩撮?” 一聲冷哼從身側(cè)響起敦第,我...
    開封第一講書人閱讀 39,359評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎店量,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體鞠呈,經(jīng)...
    沈念sama閱讀 45,854評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡融师,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,007評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蚁吝。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片旱爆。...
    茶點(diǎn)故事閱讀 40,146評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖窘茁,靈堂內(nèi)的尸體忽然破棺而出怀伦,到底是詐尸還是另有隱情,我是刑警寧澤山林,帶...
    沈念sama閱讀 35,826評(píng)論 5 346
  • 正文 年R本政府宣布房待,位于F島的核電站,受9級(jí)特大地震影響驼抹,放射性物質(zhì)發(fā)生泄漏桑孩。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,484評(píng)論 3 331
  • 文/蒙蒙 一框冀、第九天 我趴在偏房一處隱蔽的房頂上張望流椒。 院中可真熱鬧,春花似錦明也、人聲如沸宣虾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)绣硝。三九已至,卻和暖如春帆吻,著一層夾襖步出監(jiān)牢的瞬間域那,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工猜煮, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留次员,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,420評(píng)論 3 373
  • 正文 我出身青樓王带,卻偏偏與公主長(zhǎng)得像淑蔚,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子愕撰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,107評(píng)論 2 356

推薦閱讀更多精彩內(nèi)容

  • Hbase的邏輯結(jié)構(gòu) Hbase物理存儲(chǔ)結(jié)構(gòu) 不同列族分別存在不同的文件夾里刹衫。 數(shù)據(jù)模型 與MySQL比較 MyS...
    黑色叉腰魔頭閱讀 983評(píng)論 0 2
  • 簡(jiǎn)介 HBase —— Hadoop Database的簡(jiǎn)稱醋寝,Google BigTable的另一種開源實(shí)現(xiàn)方式,...
    編碼前線閱讀 276評(píng)論 0 0
  • 簡(jiǎn)介 HBase —— Hadoop Database的簡(jiǎn)稱带迟,Google BigTable的另一種開源實(shí)現(xiàn)方式音羞,...
    尼小摩閱讀 533評(píng)論 0 3
  • 一、Hbase介紹 1仓犬、Hbase簡(jiǎn)介 Hbase是Hadoop Database的簡(jiǎn)稱 嗅绰,Hbase項(xiàng)目是由Po...
    施智沂閱讀 1,290評(píng)論 0 1
  • 比特科技: 存儲(chǔ)、數(shù)據(jù)庫(kù)搀继、大數(shù)據(jù)技術(shù) ? HBase原理和設(shè)計(jì) http://www.bitstech.net/...
    葡萄喃喃囈語(yǔ)閱讀 728評(píng)論 0 11