一、hbase資料模型
二、hbase 物理模型:
a. table 中所有的行都按照 row key 的字典序進行排列
b. table 在行的方向上分割為多個 region
c. region 是按大小分割的, 每個表開始只有乙個 region , 隨著資料增多, region 不但增大。 當增大到乙個閾值時, region 就會等分兩個新的 region, 之後會有越來越多的 region.
d. region 是hbase 中分布式儲存和負載均衡的最小單元, 不同region 分布到不同regionserver上。
e.乙個 hregionserver 管理多個 hregion.
f. region 雖然是分布式儲存的最小單元, 但並不是儲存的最小單元。
g. region 由乙個或多個store 組成, 每個 store 儲存乙個 columns family;
h. 每個 store 由乙個 memstore 和 0至多個 storefile 組成, storefile 包含 hfile
i. memstore 儲存在記憶體中, storefile 儲存在hdfs上
三、hbase在hdfs上的目錄結構:
namespace--》table--》region--》列簇--》storefile
被hlog例項管理的wal檔案。
### /hbase/wals/data-hbase.com,60020,1443159380730
對於每個hregionserver,日誌目錄中都包含乙個對應的子目錄
### hbase/wals/data-hbase.com,60020,1443159380730/data-hbase.com%2c60020%2c1443159380730.1443787240573
在每個子目錄下有多個hlog檔案(因為日誌滾動)
### /hbase/oldwals
當/hbase/wals 中的hlog檔案被持久化到儲存檔案中,不再需要日誌檔案時,它們會被移動到/hbase/oldwals目錄。
### /hbase/oldwals/data-hbase.com%2c60020%2c1443159381290.1443787452518
具體的oldwals檔案。
### /hbase/hbase.id
集群的唯一id
### /hbase/hbase.version
集群的檔案格式版本資訊
### /hbase/corrupt
損壞的日誌檔案,一般為空
### /hbase/archive/
儲存表的歸檔和快照,hbase 在做 split或者 compact 操作完成之後,會將 hfile 移到archive 目錄中,然後將之前的 hfile 刪除掉,該目錄由 hmaster 上的乙個定時任務定期去清理。
儲存表的歸檔和快照具體目錄:
/hbase/archive/data/default/表名/region名/列族名/fd2221d8d1ae4e579c21882f0ec4c5a5
### /hbase/.tmp
當對表做建立或者刪除操作的時候,會將表move 到該 tmp 目錄下,然後再去做處理操作。
### /hbase/data
hbase儲存資料的核心目錄
### /hbase/data/hbase
該目錄儲存了儲存了 hbase 的 namespace、meta 和acl 三個系統級表。
namespace 中儲存了 hbase 中的所有 namespace 資訊,包括預置的hbase 和 default。acl 則是表的使用者許可權控制。
- /hbase/data/hbase/meta
- /hbase/data/hbase/namespace
- /hbase/data/hbase/acl
### /hbase/data/default/
該目錄儲存所有使用者資料表
/hbase/data/default/表名
四、hbase的讀寫流程:
寫:
讀:
client-->zookeeper-->-root-表-->.meta.表-->regionserver-->region-->client
Hbase的相關知識點
goole的三駕馬車 gfs 分布式的檔案系統 現在的hdfs mapreduce 分布式計算系統 現在的mapreduce bigtable 分布式的資料庫 現在的hbase hbase是乙個hadoop生態圈中的資料庫 分布式 主從架構 可擴充套件 動態擴容 能儲存大量資料 hdfs 對海量資料...
Hbase儲存相關
hbase 的儲存機制 region 區域 表上的一塊資料 store 邏輯上的列簇 memstore列簇緩衝區 儲存熱資料 最近瀏覽,更新等操作的資料 region server的工作職責 管理region 和 響應io請求 資料可靠性的體現 1 如果乙個region server掛了 寫日誌 h...
HBase相關開發小結
hbase使用總結 1 使用壓縮儲存 hbase用於大規模的資料管理,資料一般會達到tb級,量級一般會達到billion級,如果不採用壓縮模式管理資料會大大的增加hdfs的儲存及namenode的管理壓力,lzo壓縮是hdfs支援的壓縮格式,可以將資料壓縮到50 左右,並且壓縮和解壓速度相比zip等...