Hbase 是什么?

Hbase是一個開源的,面向列的開源數據庫。基于Fay Chang所撰寫的Google論文“Bigtable:一個結構化數據結構的分布式存儲系統”

Hbase在hadoop之上提供了類似于Bigtable的能力。Hbase是Apache的Hadoop項目的子項目。基于列的模式提供數據存儲,非常適合于非結構化數據存儲的數據庫。

bigtable & hbase

Hbase是一個高可靠、高性能、面向列、可伸縮的分布式存儲系統。利用Hbase技術可以在廉價PC Server上搭建大規模結構化存儲集群。

Hbase在hadoop生態中的位置

image.png

從Hadoop的生態系統圖中可以看到Hbase位于結構化存儲層,Hadoop Hdfs為hbase提供高可靠性的底層存儲支持,Hadoop MapReduce為Hbase提供高性能的計算能力,Zookeeper為Hbase提供了穩定服務和failover機制。

Hbase和hadoop各版本之間的適配關系
hbase在生態中的位置 hbase最新版本

  • √ 支持
  • × 不支持
  • ?未測試
hadoop & hbase 版本

Hbase各版本特性 摘自網絡

1.0
1.API的變化,比如放棄了客戶端幾個重要的API:( HTableInterface, HTable,HBaseAdmin),建議程序升級到新的API,老的PAI會在2.X中刪除。
2.不重啟regionserver的情況下讀取配置文件。
3.master節點也運行regionserver。master與regionserver共享RPC端口。
4.global memstore和block cache大小的自動調整。
5.Bucket cache改進(data blocks的可用性和壓縮方面)
6.集群中一個新的可插拔式的終端來復制成自定義存儲。(A new pluggable replication endpoint to plug in to HBase’s inter-cluster replication to replicate to a custom data store)
7.新增truncate table 命令
8.新增meta table來替代zk來進行更快的region分配(此功能默認是關閉都)
9.廣泛的文檔改進
10.[HBASE-12511] - namespace permissions - add support from table creation privilege in a namespace ‘C’
11.位Thrift Server添加Thrift-over-HTTPS 和 doAs支持(?)
12.bulkload復制表
13.使用前綴設置一個行的開始和結束更加easy了。
14.腳本停止regionserver使用RPC
15.客戶端的原子性檢查和變化的支持。
16.自動增加heap size的值如果開始沒有指定大小的話。
17.regionserver協處理器終端。
18.添加了在一個regionserver上壓縮所有region的命令。
19.添加LongComparator過濾器
20.[shell]在線加載配置文件的改變。
21.REST server的一些修復。
22.需要zk3.4.X的支持。
23.需要hadoop2.x的支持
24.jdk1.7,不再支持1.6
25.默認的端口號已經由600xx改成了160XX
26.默認使用hfile version3
27.Slab cache已經被移除,使用bucket cache
28.默認的regionserver堆內存由1G改為jdk默認的數值,一般為物理內存的四分之一。
29.mapred包和類已經被廢除。
30.加入兩個新的模塊:hbase-annotations 和 hbase-rest

2.0
A new Region assignment manager
AssignmentManager V2(“AMv2”)基于Procedure V2實現,能夠更快速的分配Region,維護的region狀態機存儲不再依賴于ZooKeeper,能夠更好的應對Region長時間RIT問題。
Offheaping of Read/Write
減少對Heap內存的使用,改用Offheap區的內存,有效減少GC壓力
In-Memory Compaction
重新設計了CompactingMemStore 替代 DefaultMemStore,CompactingMemStore中的數據達到一定大小以后,不是直接Flush成HDFS中的HFile文件,而是先Flush到內存中的一個不可改寫的Segment,這樣,內存中的多個Segments可以預先合并,當達到一定的大小以后,才Flush成HDFS中的HFile文件,這樣做的好處是希望有效降低Compaction所帶來的寫IO放大問題。
NettyRpcServer
HBase2.0 開始默認使用NettyRpcServer
使用Netty替代HBase原生的RPC server,大大提升了HBaseRPC的吞吐能力,降低了延遲
Async RPC Client
HBase2.0 Client不在是原來同步等待,而是利用異步RPC機制,大大提高Client端請求并發度,有效提高資源利用率,擴大吞吐。
RegionServer Group
在HBase 2.0中我們可以將RegionServer劃分到多個邏輯Group中,這樣可以提供多租戶的能力。
Support for MOB
MOB特性使得HBase支持存儲小于10MB 的中等媒體對象數據,這些小對象文件采用獨立的HFile文件進行存儲,相比原來直接存儲大對象插入hbase,其讀寫效率更高;Mob數據存儲還是以hfile格式存儲,兼容HBase現有特性,如snapshot、bulkload、replication等。MOB數據文件有獨立的compaction和expire clean機制,穩定性更可控。
與1.x版本的兼容性
1.x版本的Client可以訪問2.0版本的集群,進行正常的數據讀寫操作。但從1.x版本不停服務的情況下滾動升級到2.0版本是沒法做到的,1.x版本的coprocessor/Endpoint不做改動的情況下也無法在2.0版本中正常使用。
備注:
1,結構化數據:可以用二維表結構來邏輯表達實現的數據,即行數據,行數據中的每個字段都有具體切明確的含義。參考鏈接
2,非結構化數據:不方便用數據庫二維邏輯表來表現的數據即稱為非結構化數據。包括所有格式的辦公文檔、圖片、文本、XML、HTML、各類報表、圖像和音視頻。參考鏈接
3,failover機制:故障(失效)轉移機制。是一種備份操作模式,當主要組件異常時,其功能轉移到備份組件。其要點在于有主有備,且主故障時備可啟用,并設置為主。例如Mysql的雙Master模式。

延展
1,failfast:快速失敗。盡可能發現系統中的錯誤,是系統能夠按照事先設定好的錯誤執行流成執行,對應的方式是錯誤容忍(fail-tolerant),例如:在java中線程A通過iterator遍歷集合,若該集合的內容被其他線程所改變了,那么線程A在訪問集合時,就會拋出ConcurrentModificationException,即發現錯誤執行設定好的流程。參考鏈接
2,failback:失效自動恢復。在簇網絡系統(有兩臺或多臺服務器互聯的網絡)中,由于要對某臺服務進行維修,需要網絡資源和服務暫時重定向到備用系統,在此之后將網絡資源和服務恢復為由原始主機提供的過程稱為自動恢復。參考鏈接
3,failsafe:失效安全。即使在故障的時候也不會造成傷害或者減少傷害。維基百科上一個形象的例子是紅綠燈的“沖突監測模塊”當監測到錯誤或者沖突的信號時會將十字路口的紅綠燈變為閃爍錯誤模式,而不是全部顯示為綠燈。參考鏈接

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,923評論 6 535
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,740評論 3 420
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,856評論 0 380
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,175評論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,931評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,321評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,383評論 3 443
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,533評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,082評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,891評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,067評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,618評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,319評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,732評論 0 27
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,987評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,794評論 3 394
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,076評論 2 375

推薦閱讀更多精彩內容