HBase概述

1. HBase 定義

HBase 是一種分佈式、可擴展、支持海量數據存儲的 NoSQL 數據庫。

2. HBase 數據模型

邏輯上,HBase 的數據模型同關係型數據庫很類似,數據存儲在一張表中,有行有列。
但從 HBase 的底層物理存儲結構(K-V)來看,HBase 更像是一個 multi-dimensional map。
(1) HBase 邏輯結構
在這裏插入圖片描述
(2)HBase 物理存儲結構
在這裏插入圖片描述
(3)數據模型
1)Name Space
命名空間,類似於關係型數據庫的 DatabBase 概念,每個命名空間下有多個表。HBase
有兩個自帶的命名空間,分別是 hbase 和 default,hbase 中存放的是 HBase 內置的表,
default 表是用戶默認使用的命名空間。
2)Region
類似於關係型數據庫的表概念。不同的是,HBase 定義表時只需要聲明列族即可,不需
要聲明具體的列。這意味着,往 HBase 寫入數據時,字段可以動態、按需指定。因此,和關
系型數據庫相比,HBase 能夠輕鬆應對字段變更的場景。
3)Row
HBase 表中的每行數據都由一個 RowKey 和多個 Column(列)組成,數據是按照 RowKey
的字典順序存儲的,並且查詢數據時只能根據 RowKey 進行檢索,所以 RowKey 的設計十分重
要。
4)Column
HBase 中的每個列都由 Column Family(列族)和 Column Qualifier(列限定符)進行限
定,例如 info:name,info:age。建表時,只需指明列族,而列限定符無需預先定義。
5)Time Stamp
用於標識數據的不同版本(version),每條數據寫入時,如果不指定時間戳,系統會
自動爲其加上該字段,其值爲寫入 HBase 的時間。
6)Cell
由{rowkey, column Family:column Qualifier, time Stamp} 唯一確定的單元。cell 中的數
據是沒有類型的,全部是字節碼形式存貯。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章