| 企服解答
HBase 基于 Google 的 BigTable 論文的開源實現,是建立的 HDFS之上,提供高可靠性、高性能、列存儲、可伸縮、實時讀寫的分布式數據庫系統。
hbase是什么
HBase的特點:
1、海量存儲:可以存儲大批量的數據。
2、列(簇)式存儲:hbase表的數據是基于列族進行存儲的,列族是在列的方向上的劃分。
3、極易擴展:底層依賴HDFS,當磁盤空間不足的時候,只需要動態增加 datanode節點服務(機器)就可以了;可以通過增加服務器來提高集群的存儲能力。
4、高并發:支持高并發的讀寫請求
5、稀疏:稀疏主要是針對Hbase列的靈活性,在列族中,你可以指定任意多的列,在列數據為空的情況下,是不會占用存儲空間的。
6、數據的多版本:hbase表中的數據可以有多個版本值,默認情況下是根據版本號去區分,版本號就是插入數據的時間戳。
7、數據類型單一:所有的數據在hbase中是以字節數組進行存儲。
| 擴展閱讀
HBase與傳統的關系數據庫的區別:
1、數據類型:
關系數據庫采用關系模型,具有豐富的數據類型和存儲方式,HBase則采用了更加簡單的數據模型,它把數據存儲為未經解釋的字符串。
2、數據操作:
關系數據庫中包含了豐富的操作,其中會涉及復雜的多表連接。HBase操作則不存在復雜的表與表之間的關系,只有簡單的插入、查詢、刪除、清空等,因此HBase在設計上就避免了復雜的表和表之間的關系。
3、存儲模式:
關系數據庫是基于行模式存儲的。HBase是基于列存儲的,每個列族都由幾個文件保存,不同列族的文件是分離的。
4、數據索引:
關系數據庫通常可以針對不同列構建復雜的多個索引,以提高數據訪問性能。HBase只有一個索引——行鍵,通過巧妙的設計,HBase中的所有訪問方法,或者通過行鍵訪問,或者通過行鍵掃描,從而使得整個系統不會慢下來。
5、數據維護:
在關系數據庫中,更新操作會用最新的當前值去替換記錄中原來的舊值,舊值被覆蓋后就不會存在。而在HBase中執行更新操作時,并不會刪除數據舊的版本,而是生成一個新的版本,舊有的版本仍然保留。
6、可伸縮性:
關系數據庫很難實現橫向擴展,縱向擴展的空間也比較有限。相反,HBase和BigTable這些分布式數據庫就是為了實現靈活的水平擴展而開發的,能夠輕易地通過在集群中增加或者減少硬件數量來實現性能的伸縮。
[免責聲明]
文章標題: hbase是什么
文章內容為網站編輯整理發布,僅供學習與參考,不代表本網站贊同其觀點和對其真實性負責。如涉及作品內容、版權和其它問題,請及時溝通。發送郵件至36dianping@36kr.com,我們會在3個工作日內處理。