14 大資料之HBASE(第一部 簡介)
大資料之HBASE
HBASE定義
HBASE是一種分散式的,可擴充套件,支援海量資料儲存的NoSQL資料庫.
HBASE資料模型
邏輯上,HBASE資料模型同關係型資料庫很類似,資料儲存在一張表中有行有列,但HBASE底層物理存儲存是kv結構的.
HBASE在建立表時必須制定一個類似於主鍵的列(row_key 行鍵)並且在全表是唯一的
HBASE邏輯結構
行和列:類似於MySQL的行和列,行才是用來儲存資料的,定義每一列的內容,但是同時列又是可以動態擴充套件的,比如現在表中有三行五列資料,再次插入一條六列的資料也不影響,並且HBASE可以新建一列.
列族:將某幾個列組合到一起,就是列族.
RowKey:系統自帶的列,也就是建立的時候必須指定的列,按照字典序排序,也就是1,10,11,2,3,4,5,6,7,8,9,只比較第一位.
Reginon:列族是切分了列,不同的列族儲存在不同檔案下,region是按照行切分,不同的region也儲存在不同的檔案中.
store:實際的行列資訊,被行切列切後的一塊就是store.除了store(實際資料之外)其他都會載入到記憶體中.
HBASE物理儲存結構
HBASE中資料儲存每行的每列都會被單獨取出做一些操作.
單獨操作主要記錄了改行該列的資料的rowkey,列族資訊,列資訊,時間戳,型別和value.
row key記錄的是改行的位置,列族和列記錄了列位置
時間戳記錄改資料發生變化的時間,如插入時間,刪除時間,這個時間很重要,記錄了改行資料發生變化的先後順序,在遠端連線HBASE操作時本地時間和伺服器時間需要一致,否則會出現修改了時間但是讀取還是之前內容之類的現象.
型別記錄了是修改插入還是刪除,value則是實際修改的資料.
讀取的時候會按照時間戳依次檢查,返回最大的那個時間戳對應的值,但是如果型別是刪除操作,那麼則不返回.
資料模型
namespace
namespace(名稱空間)類似於MySQL的庫,實現的是表和表之間的隔離,每個名稱空間下都可以存放多張表,HBASE有兩個自帶的名稱空間,分別是hbase和default,hbase是系統的預設空間,存放的是HBASE的後設資料,default是使用者的預設表空間.
region
類似於MySQL的表的概念,不同的是在建立表的時候,只需要指定列族就可以了,不需要指定具體的列,這意味著在朝HBASE寫資料的時候欄位可以按需動態的分配指定.
Row
hbase中每行資料都由一個RowKey和多個column組成,資料是按照rowkey的字典順序儲存的,並且查詢資料的時候只能根據rowkey進行檢索,所以rowkey設計十分重要.
column
HBASE中每個列都由column Family也就是列族和限定字元(column qualifier)進行限定,如info:name ,info:age,建表的時候只需要指明列族,而不需要預先定義列.
Time Stamp
時間戳,用於標識資料的不同版本,記錄每條資料的不同產生時間,插入的時候如果不指定時間戳,那麼會自動為其加上該欄位,其值為寫入HBASE的時間.
cell
通過rowkey,列族,列,時間戳和型別確認的最後的值,也就是使用者寫入的實際資料,cell的資料是沒有型別的,全部都是位元組碼形式儲存.
HBASE架構
region是要經過region server管理的,RegionServer負責了資料的增刪改查,Region則不斷地進行了合併和切分.
HMaster是HBASE的管理節點,同時還需要用到zookeeper儲存後設資料資訊並分配給其部分小任務.
Hmaster管理了表相關的操作,RegionServer管理了表內容的操作如增刪改查等.
相關文章
- HBase簡介
- [大資料文章之其四] 概率資料結構簡介大資料資料結構
- Hadoop大資料平臺之HBase部署Hadoop大資料
- 大資料技術簡介大資料
- 大資料框架原理簡介大資料框架
- 大資料——HBase基礎大資料
- 大資料技術 - Hbase大資料
- HBase載入大資料大資料
- Hadoop大資料實戰系列文章之HBaseHadoop大資料
- Hbase簡介和基本用法
- Oracle大物件資料儲存簡介Oracle物件
- 大資料學習(hbase,hive,sqoop2對資料的簡單操作)大資料HiveOOP
- 好程式設計師大資料培訓分享之MySQL資料庫SQL簡介程式設計師大資料MySql資料庫
- Hbase、Hive、Impala資料同步簡單示例Hive
- 大資料分類和架構簡介大資料架構
- 《Hadoop大資料分析技術》簡介Hadoop大資料
- 一條資料HBase之旅,簡明HBase入門教程開篇
- 大資料架構和模式(一)——大資料分類和架構簡介大資料架構模式
- 大資料之 ZooKeeper原理及其在Hadoop和HBase中的應用大資料Hadoop
- 資料集簡介
- 資料字典簡介
- 大資料技術Hbase和Hive詳解大資料Hive
- 大資料簡介,技術體系分類整理大資料
- 《Hadoop+Spark大資料分析實戰》簡介HadoopSpark大資料
- [大資料][機器學習]之Model Card(模型卡片)介紹大資料機器學習模型
- 大資料基礎學習-8.Hbase-1.2.0大資料
- 大資料應用之HBase資料插入效能優化實測教程大資料優化
- 資料結構簡介資料結構
- MongoDB資料庫簡介MongoDB資料庫
- 資料立方體簡介
- NewSQL資料庫簡介SQL資料庫
- oracle資料字典簡介Oracle
- WIOD資料庫簡介資料庫
- Hadoop大資料分散式處理系統簡介Hadoop大資料分散式
- 《Spark 3.0大資料分析與挖掘:基於機器學習》簡介Spark大資料機器學習
- 1.1 大資料簡介-hadoop-最全最完整的保姆級的java大資料學習資料大資料HadoopJava
- HSQL 資料庫介紹(1)--簡介SQL資料庫
- MapReduce之----往hbase資料庫寫入資料時, 出現資料異常資料庫