文章目录
- HBase
- 存储结构
- 数据模型
- table 逻辑结构
- 切分存储
- table 物理结构
- 架构 todo
- 使用
- DDL
- DML
- phoenix
HBase
nosql (k,v)
以HDFS为基础存储数据
存储结构
数据模型
- nameSpace: 命名空间
- table: 表(需要声明column family列族)
- row、column
- cell: kv单元
- 版本
table 逻辑结构
- 每行数据都有 rowKey与column
切分存储
横向切分 Region,放在不同的节点
纵向切分 store,拆分文件夹,一个store一个文件夹
逻辑上数据是稀疏的,有空值
存储在HDFS集群中的HBase表的目录结构是…
/hbase
/<Table> (集群中的表)
/<Region> (表的Regions)
/<ColumnFamiy> (表Regions的 ColumnFamilies)
/<StoreFile> (表Regions的ColumnFamilies的 StoreFiles)
table 物理结构
一行row, 实际物理存储的是一个个cell(kv)
row key + column family + column qualifier + timestamp + type,vlaue
在逻辑视图里,表可以被看成是一个稀疏的行的集合
在物理上,它的是区分列族 存储的
HBase基于HDFS存储,只能顺序读写,追加记录,无法修改之前的数据,
所以更新与删除操作 需要用追加(Timestamp,Type)来特殊实现
架构 todo
master
RegionServer
读写流程
使用
DDL
创建nameSpace
创建、删除 table
增加、修改、删除 column family
DML
Get, Put, Scan, 和 Delete
Get 只能根据RowKey查询数据