《Hbase權威指南》深入學習一:認識hbase

來源:互聯網
上載者:User
關鍵字 nbsp; 可以 提供 認識
《Hbase權威指南》深入學習一:認識hbase 博客分類: HbaseHadoop hbasehadoopnosql  一、hbase是什麼?


    首先hbase是一個在Hadoop的HDFS分散式存儲系統上介於映射(key/value)的nosql的分散式資料庫,有以下特性:


    1、提供隨機、即時讀寫查詢,由hbase的架構和LSM—Tree資料結構保證;


    2、高容錯,該特性是由HDFS保證;


    3、分散式和線性擴展;


    4、面向列和存儲鬆散資料;


    5、存儲的資料可以有多版本;


    6、可配置的表的制動切分功能;


    7、節點自動故障恢復和選舉機制,由ZooKeeper提供該功能;


    8、可以方便的為MapReduce、hive和pig等繼承。


    hbase是hadoop的整個生態系統上一個重要的組成部分,他彌補了hadoop只能提供高延時的批次處理的MapReduce功能,他對app向下提供了存儲,向上又提供即時運算和查詢 ;另外又可以使用MapReduce的平行計算模型進行大規模的資料處理,hbase將資料存儲和平行計算、即時與批次處理幾乎完美的結合了起來。





二、hbase集群中的節點分類和通信


hbase集群中的節點分為HMaster Server和HRegion Server兩種,採用Master-Slave的模式,但是不像hadoop中的集群那樣有單點故障的問題。


    hbase cluster中的節點是通過ZooKeeper集群來通信的,由ZooKeeper來監聽hbase集群中的節點的狀態。


    hbase集群可以設置多個HMaster Server節點,但是同一時刻只能有一個處於啟動狀態提供服務的節點,HMaster節點沒有單點故障的問題, 當ZooKeeper集群會在一個監聽週期內監聽到正處於服務狀態的HMaster當機後,ZooKeeper集群會通過選舉機制來選舉出另外一個HMaster節點為整個hbase集群提供服務, ZooKeeper總能保證hbase集群中總有一個HMaster可用;ZooKeeper會監聽HRegion Server的狀態,並提供故障節點的自動故障恢復功能。


    由於hbase集群中的節點狀態及節點間的通信是有ZooKeeper提供的,故必須單獨建立一個


ZooKeeper集群。





三、hbase集群中的節點的作用


    hbase主要負責hbase table和HRegion Server的管理工作,包括一下幾點:


    1、管理HRegion Server伺服器的負載均衡,調整HRegion中HRegion Server中的分別,以避免有hot HRegion;


    2、在region分裂後,負責新的HRegion的分配;


    3、當某個HRegion Server當機或停機後,負責失效HRegion伺服器上的HRegion的遷移。


    HRegion Server主要功能為以下幾個方面:


    1、負責回應使用者請求(即對HTable的增、刪、改查等操作);


    2、負責HRegion Server中HFile的合併作業,包括Minor和major comparison兩種策略;


    3、HRegion的自動水準分割。





四、hbase和RDBMS傳統資料庫的區別


    1、存儲模式:hbase是基於列的存儲模式,一個表可以有多個列組,創建HTable時必須保存列組——相當於傳統資料庫中的表結構,分列組保持資料,不同的列組的存儲檔時分離的;RDBMS是基於行模式的表格存儲結構;


    2、可伸縮性:hbase天然具有高伸縮性,可以方便的在增減集群節點的同時,保證高容錯性,而創痛的RDBMS資料庫提高高伸縮性比較困難;


    3、事務性:hbase不是具有事務性,而RDBMS是具有事務性的資料庫;


    4、存儲資料量:hbase可以很容易的存儲T或P級以上的資料,而RDBMS比價適合存儲G及的資料;


    5、資料操作:hbase只能處理很簡單的增刪改查操作,表和表是分離的,沒有複雜的表和表之間的關係,也不能做表之間的關聯操作;而傳統的RDBMS資料庫通常有豐富的表間連接操作和各種函數;


    6、資料類型:hbase只能存儲簡單的字串類型,所有的類型轉換都交由使用者端處理,而hbase只存儲字串;而關聯式資料庫有豐富的資料類型;


7、資料存儲的多版本機制:hbase中存儲的資料可以有多個版本;而關聯式資料庫則沒有;


    8、資料維護:確切的說,hbase沒有更新操作,由於其可以維護多個版本的機制,他的更新操作實際上是插入新的資料,而就得版本還會存在;而RDBMS傳統資料庫的修改操作是直接修改了資料本身。


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.