數(shù)據(jù)存儲-Hbase基礎

Outline

  • 什么是Hbase
  • 為什么需要Hbase
  • Hbase的基礎概念
  • Hbase的架構
  • Hbase的讀寫操作

什么是Hbase

HBase(Hadoop Database)是一種構建在HDFS之上的分布式貌踏、面向列(列族)的存儲系統(tǒng)讲衫;源自Google發(fā)表于的Bigtable論文层亿。HBase是Google Bigtable的克隆版葵诈,與Google Bigtable 利用GFS作為其文件存儲系統(tǒng)類

  • HDFS為Hbase提供可靠的底層數(shù)據(jù)存儲服務
  • MapReduce為Hbase提供高性能的計算能力
  • Zookeeper為Hbase提供穩(wěn)定服務和Failover機制
    Hbase是一個通過大量廉價的機器解決海量數(shù)據(jù)的高速存儲和讀取的分布式數(shù)據(jù)庫解決方案崎页。

BigTable發(fā)明的原因

搜索是一種定位你所關心信息的行為


hbase_search

為什么需要Hbase?

hdfs和hbase各自使用場景

Hbase是Hadoop平臺下的數(shù)據(jù)存儲引擎架馋,是一個非關系型數(shù)據(jù)庫--NoSQL數(shù)據(jù)庫


image

HDFS不支持隨機讀寫操作

Hbase和關系型數(shù)據(jù)庫的比較

hbase_vs_RDBMS
hbase_table

Hbase的特點

優(yōu)點
  • 分布式數(shù)據(jù)庫帅刊,海量存儲,易于拓展
  • 數(shù)據(jù)的實時訪問陈症,隨機讀寫
  • schemaless data model (“NoSQL”)
  • 自我管理數(shù)據(jù)分片
  • 強一致模型(當寫操作返回時蔼水,所有的讀將看到一樣的結果)
缺點

不支持SQL,不支持跨行跨表事務录肯,不支持二級索引趴腋,而且讀時延大。它不能用在OLTP(On-Line Transaction Processing聯(lián)機事務處理過程)業(yè)務论咏,比如支付業(yè)務的核心流程优炬,但適合存放歷史數(shù)據(jù),處理歷史數(shù)據(jù)的對賬厅贪、歷史數(shù)據(jù)的回溯等需求蠢护。

Hbase表的基礎概念

hbase_concept
概念名稱 解釋
Table(表) 類似于傳統(tǒng)數(shù)據(jù)庫中的表
Column Family(列簇) Table在水平方向有一個或者多個Column
Row Key(行健) Table的主鍵养涮;Table中的記錄按照Row Key排序
Region 一定范圍的數(shù)據(jù)訪問和存儲葵硕;HBase數(shù)據(jù)管理的基本單位
Timestamp(時間戳) 每一行數(shù)據(jù)均對應一個時間戳;也可以當做版本號单寂。

Hbase的架構和基本概念

Hbase是由Client贬芥、Zookeeper、Master宣决、HRegionServer蘸劈、HDFS等幾個組建組成,架構圖如下:


hbase_arch
基本概念
概念 功能
Client 包含了訪問Hbase的接口尊沸,并維護cache
Zookeeper Hmaster的高可用威沫、RegionServer的監(jiān)控贤惯、元數(shù)據(jù)的入口以及集群配置的維護等
Hmaster Hmaster的高可用、RegionServer的監(jiān)控棒掠、元數(shù)據(jù)的入口以及集群配置的維護等
Hlog 每個HRegionServer中都會有一個HLog的實例孵构,存儲在HDFS上
HregionServer HregionServer直接對接用戶的讀寫請求,是真正的“干活”的節(jié)點烟很,每個RegionServer為一定數(shù)量的region服務
Hregion Hbase中分布式存儲和負載均衡的最小單元,會split颈墅,包含多個Store
Store Store = MemStore+StoreFile(>=1個)
MemStore 內(nèi)存,對應一個列族雾袱,KV
StoreFile StoreFile包含一個或多個HFile恤筛,以二進制流的形式存儲在HDFS上
HFile block組成
HDFS 為Hbase提供最終的底層數(shù)據(jù)存儲服務,同時為Hbase提供高可用的支持

HFile由很多個數(shù)據(jù)塊(Block)組成芹橡,并且有一個固定的結尾塊毒坛。其中的數(shù)據(jù)塊是由一個Header和多個Key-Value的鍵值對組成。在結尾的數(shù)據(jù)塊中包含了數(shù)據(jù)相關的索引信息林说,系統(tǒng)也是通過結尾的索引信息找到HFile中的數(shù)據(jù)煎殷。

Hbase的存儲機制

Hbase的讀寫操作

Hbase寫操作
image

HBase寫數(shù)據(jù)流程
1,Client先訪問zookeeper,從meta表獲取相應region信息腿箩,然后找到meta表的數(shù)據(jù)
2,根據(jù)namespace豪直、表名和rowkey根據(jù)meta表的數(shù)據(jù)找到寫入數(shù)據(jù)對應的Hregion信息
3,找到對應的regionserver
4,把數(shù)據(jù)分別寫到HLog和MemStore上一份
4,MemStore達到一個閾值后則把數(shù)據(jù)刷成一個StoreFile文件。(若MemStore中的數(shù)據(jù)有丟失珠移,則可以總HLog上恢復)
5,當多個StoreFile文件達到一定的大小后顶伞,會觸發(fā)Compact合并操作,合并為一個StoreFile剑梳,(這里同時進行版本的合并和數(shù)據(jù)刪除。)
6,當Storefile大小超過一定閾值后滑潘,會把當前的Region分割為兩個(Split)垢乙,并由Hmaster分配到相應的HRegionServer,實現(xiàn)負載均衡

Hlog

Hlog是Hbase實現(xiàn)WAL(Write ahead log语卤,預寫日志)方式產(chǎn)生的日志信息
當RegionServer出現(xiàn)故障的時候追逮,需要對Hlog進行回放來恢復數(shù)據(jù)。
保證數(shù)據(jù)的高可用4舛妗钮孵!

Hbase讀操作

1,Client先訪問zookeeper,從meta表讀取region的位置眼滤,然后讀取meta表中的數(shù)據(jù)巴席。meta中又存儲了用戶表的region信息。
2,根據(jù)namespace诅需、表名和rowkey在meta表中找到對應的region信息
3,找到這個region對應的regionserver
4,查找對應的region
5,先從MemStore找數(shù)據(jù)漾唉,如果沒有荧库,再到StoreFile上讀(為了讀取的效率)。

誰在使用Hbase
hbase_who_use

參考資料

Hbase技術詳細學習筆記
《HBase實戰(zhàn)》
Hadoop相關知識整理系列之一:HBase基本架構及原理

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末赵刑,一起剝皮案震驚了整個濱河市分衫,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌般此,老刑警劉巖蚪战,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異铐懊,居然都是意外死亡邀桑,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進店門居扒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來概漱,“玉大人,你說我怎么就攤上這事喜喂∪看荩” “怎么了?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵玉吁,是天一觀的道長照弥。 經(jīng)常有香客問我,道長进副,這世上最難降的妖魔是什么这揣? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮影斑,結果婚禮上给赞,老公的妹妹穿的比我還像新娘。我一直安慰自己矫户,他們只是感情好片迅,可當我...
    茶點故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著皆辽,像睡著了一般柑蛇。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上驱闷,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天耻台,我揣著相機與錄音,去河邊找鬼空另。 笑死盆耽,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播征字,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼都弹,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了匙姜?” 一聲冷哼從身側響起畅厢,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎氮昧,沒想到半個月后框杜,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡袖肥,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年咪辱,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片椎组。...
    茶點故事閱讀 38,163評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡油狂,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出寸癌,到底是詐尸還是另有隱情专筷,我是刑警寧澤,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布蒸苇,位于F島的核電站磷蛹,受9級特大地震影響,放射性物質發(fā)生泄漏溪烤。R本人自食惡果不足惜味咳,卻給世界環(huán)境...
    茶點故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望檬嘀。 院中可真熱鬧槽驶,春花似錦、人聲如沸鸳兽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽贸铜。三九已至,卻和暖如春聂受,著一層夾襖步出監(jiān)牢的瞬間蒿秦,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工蛋济, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留棍鳖,地道東北人。 一個月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像渡处,于是被迫代替她去往敵國和親镜悉。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,925評論 2 344

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

  • 1医瘫,無知付出的慘痛的代價 時至今日侣肄,我依然無法介懷,依然心痛不已醇份。 當8個月前帶孩子去醫(yī)院補牙的照片映入眼簾時稼锅,我...
    峮子說閱讀 2,638評論 2 1
  • 瑪雅印記的每一個圖騰都不僅僅有一層面的含義,每一個印記都給了挑戰(zhàn)僚纷,同時賦予你解決的鑰匙~ 感覺和占星不同矩距,占星的每...
    李瑆點點星光閱讀 856評論 0 1
  • 剛才看了好幾遍二姐發(fā)的才看明白二姐說的。我自然而然的想成少承擔一點了怖竭。我受了太多的寵愛锥债,所以養(yǎng)成了不承擔的習慣。我...
    焦子老師閱讀 104評論 0 1