Hbase基礎知識

2021-09-24 07:23:04 字數 726 閱讀 9305

分布式,多版本,面向列的資料庫

特點:強一致性 高擴充套件 高可用

一行資料可以包含多個列族,但是一般不超過三個

儲存在hbase裡面的表一般有上億行,所以hbase表會對整個資料按照 rowkey 進行字典排序,然後再對這張表進行橫向切割。切割出來的資料是儲存在 hfile 裡面,而不同的 column family 雖然屬於一行,但是其在底層儲存是放在不同的 hfile 裡。所以這張表用了六種顏色表示,也就是說,這張表的資料會被放在六個 hfile 裡面的,這就可以把資料盡可能的分散到整個集群

不同的列族會儲存到不同的hfile上,但是它們還是儲存在同乙個region中,在同乙個節點上

regionserver主要管理兩種檔案,一是hlog(預寫日誌 write-ahead log wal),二是region(實際的資料檔案)

使用者向hbase寫入資料,首先在hlog中產生寫入記錄,如果hbase伺服器崩潰,可以通過hlog回滾還沒有持久化的資料,

在hlog中寫入記錄後,資料存在memstore,當memstore中資料寫滿時,資料就會被刷寫到磁碟中storefile中,

storefile存放在region中,當其中資料寫滿,就會等分產生另乙個region

當table中的行不斷增多,就會有越來越多的region。這樣一張完整的表被儲存在多個region上

從上面的圖也可以清晰看到,乙個regionserver管理多個 region;而乙個 region 管理乙個或多個列族

HBase基礎知識

hbase的主要客戶端介面是由org.apache.hadoop.hbase.client包中的htable類提供的,通過該類,使用者可以完成向hbase儲存和檢索資料,以及刪除無效資料之類的操作。所有修改資料的操作都保證了行級別的原子性,寫操作中涉及的列的數目不會影響該行資料的原子性,行原子性會同...

HBase基礎知識

hdfs myha01 hbase hbase.cluster.distributed true hbase.zookeeper.quorum hadoop02 2181,hadoop03 2181,hadoop04 2181 htable表 table htabledescriptor列族 col...

HBase基礎知識

hbase官網 學習 hbase是乙個建立在hadoop檔案系統之上的分布式的 面向列的開源資料庫,源於google的一篇 bigtable 乙個結構化資料的分布式儲存系統 hbase是google bigtable的開源實現,它利用hadoop hdfs作為其檔案儲存系統,利用hadoop map...