分布式存儲系統HBase的架構
HBase是一個構建在HDFS上的分布式列存儲系統。HBase是Apache Hadoop生態系統中的重要一員,主要用于海量結構化數據存儲;
從邏輯上講,HBase將數據按照表、行和列進行存儲。兩者都具有良好的容錯性和擴展性,都可以擴展到成百上千個節點;
Hbase表的特點
大:一個表可以有數十億行,上百萬列;
無模式:每行都有一個可排序的主鍵和任意多的列,列可以根據需要動態的增加,同一張表中不同的行可以有截然不同的列;
面向列:面向列(族)的存儲和權限控制,列(族)獨立檢索;
稀疏:對于空(null)的列,并不占用存儲空間,表可以設計的非常稀疏;
數據多版本:每個單元中的數據可以有多個版本,默認情況下版本號自動分配,是單元格插入時的時間戳;
數據類型單一:Hbase中的數據都是字符串,沒有類型。
Hbase數據模型
HBase是基于Google BigTable模型開發的,典型的key/value系統;
Hbase邏輯視圖
HBase schema可以有多個 Table,每個表可由多個Column Family組成。HBase可以有 Dynamic Column列名稱是編碼在cell中的,不同的cell可以擁有不同的列。