HBase介紹


HBase介紹
        HBase是Hadoop生態系統中一個重要的NOSQL存儲,它一些設計思想來自於Google的Bigtable,因此在Key-Value存儲結構上與同出一門的Cassandra有相似之處。
 
一,HBase出現的背景
    隨着數據規模越來越大,大量業務場景開始考慮數據存儲水平擴展,使得存儲服務可以增加/刪除,而目前的關系型數據庫更專注於一台機器。
    海量數據量存儲成為瓶頸,單台機器無法負載大量數據。
    單台機器IO讀寫請求成為海量數據存儲時候高並發,大規模請求的瓶頸。
    當數據進行水平擴展時候,如何解決數據IO高一致性問題。
    結合Map/Reduce計算框架進行海量數據的離線分析。
 
二,應用場景
        HBase與同時代的cassandra,mongoDB相比,其是一個重量級的nosql存儲系統。根據一些信息來源,目前實際產線中cassandra最大部署規模在400台左右,Mongodb則實際應用少見。其它例如memcache,redis,實際上很難說它是個nosql存儲,只能說是緩存存儲,存儲數據量有限。
        cassandra出現這樣的一個重要問題在於隨着集群規模越來越大,由於缺乏master節點導致緩存命中率可能非常差。
        而HBase在facebook部署有上千台規模。
        HBase一個最重要的特性在於,其在滿足海量存儲規模的前提下,數據讀寫IO變化幅度並不是特別明顯,延遲性變化幅度相對較小。
        與cassandra不同的是,cassandra滿足CAP原則的高可用性,分區可容忍性原則,而HBase則滿足了分區可容忍性,高一致性原則,對於高可用性,HBase由於HMaster單點失敗問題而無法滿足。
        另外一個重要特性在於,HBase與hadoop HDFS,Map/Reduce的天然結合,這是其他NOSQL存儲無法比擬的優勢。
        例如在hadoop0.20.2 map/reduce new API中,對於海量數據全局排序,由於缺乏TotalOrderPartitioner對new API支持,甚至直接都可以使用HBase庫中的TotalOrderPartitioner包進行處理。
        HBase與hadoop平台能夠結合的一個最大優勢在於,HBase分布式存儲后數據分塊的replication由hadoop HDFS自動分發完成。HBase是一個讀寫延遲性相對較低的nosql存儲,與hadoop HDFS存儲相比,HBASE更專注於單條數據交互讀寫,低延遲性;而HADOOP HDFS則更專注於批量數據的讀寫,更專注於高吞吐量,導致其延遲性較高。
        因此對於在線業務應用場景產生的數據,需要進行離線分析時,直接對HADOOP HDFS操作,將使得前期工作更為復雜,需要考慮數據提前合並,避免HADOOP 小文件存儲對NameNode editlog產生的影響,同時還要考慮文件追加寫入,這恰恰是Hadoop HDFS不具有的功能。
        因此HBase能夠在Hadoop 生態系統中出現,是有一定原因,它彌補了hadoop上述的缺陷,使得hadoop生態系統服務更加全面。
 
三,HBase部署的簡單描述。
       HBase部署相對是一個較大的動作,其依賴於zookeeper cluster,hadoop HDFS。
        
        其中Zookeeper作用在於:
                1,hbase regionserver 向zookeeper注冊,提供hbase regionserver狀態信息(是否在線)
                2,hmaster啟動時候會將hbase 系統表-ROOT- 加載到 zookeeper cluster,通過zookeeper cluster可以獲取當前系統表.META.的存儲所對應的regionserver信息。
        HMaster主要作用在於,通過HMaster維護系統表-ROOT-,.META.,記錄regionserver所對應region變化信息。此外還負責監控處理當前hbase cluster中regionserver狀態變化信息。
        hbase regionserver則用於多個/單個維護region。
        region則對應為hbase數據表的表分區數據維護。
        




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM