介绍:
Apache HBase 是以 Hdfs 为 数据存储的,一种分布式、可扩展的NoSql数据库
数据模型
来源Google的BigTable论文:
BigTable 是一个稀疏的,分布式的,持久的多维排序map
之后对于映射的解释如下:
该映射由行键,列键和时间戳索引: 映射中的每个值都是一个未解释的字节数组
最终HBase关于数据模型和BigTable的对应关系如下:
HBase 使用 与 BigTable 非常相似的数据模型。用户将数据行存储在带标签的表中,数据行具有可排序的键和任意数量的列。该表存储稀疏,因此如果用户喜欢,同一表中的行可以具有疯狂变化的列。
最终理解HBas数据模型的关键在于 稀疏、分布式、多维、排序 的映射。其中映射 map 指代非关系型数据库的 key-value 结构
HBase逻辑结构
HBase 可以存储多种结构的数据,以JSON为例,存储的数据原貌为
{
“row_key1”:{
"personal_info":{
"name": "zhangsan",
"city": "北京",
"phone": "13500000000"
},
"office_info":{
"tel": "010-11111111",
"address": "asdasdadas"
}
},
{...
}
}
存储数据:稀疏,数据存储:多维,不同的行具有不同的列
数据存储整体有序,按照 Rowkey的字典排序,RowKey为Byte数组