跳到主要内容

HBase - Hadoop Database

Type

A master-slave column-based NoSql database based on HDFS.

CAP

HBase是CP model,因為有HMaster的關係,如果有一個HRegionServer goes down,HMaster會嘗試把HRegion assign給其他HRegionServer來滿足replica數目,在reassignment的時候,會replay掛掉那台的HRegionServerWAL,在replay的時候,那些region為了保持已經寫入的資料要可以讀取,因此不可用,所以是CP。

Architecture

image info

HRegion

其實就是partition.

HMaster

Mater node

HRegionServer

Host HRegion的physical server.

Data Model

Tables

Rows

Column Families

每個 column family由一個或以上的column組成,一個row由複數個column family組成。

Column Qualifier

Column family裡面的column可變,每個column靠column qualifier來identify,例如column family叫做"content-type",而存在"json"、"text"等等qualifier,則存取方式就是"content-type:json"、"content-type:qualifier"。

Cell

rowcolumn familycolumn qualifier來辨識。

Version/Timestamps

每個cell都有自己的version,如果沒有給就會用當下的Unix timestamp。