1.HBase(NoSql)数据模型
1.以表位数据模型,是存储管理数据的
2.行键(row key),类似于MySql中的主键,行键是HBase自带的,行键通过字节的hashCode 排序
3.列族(column family),列的集合
需要在定义表时指定的,列是在插入记录时动态添加的
每个列族单独一个文件
4.单元格:行键和列确认的单元格,每个单元格里面的数据数量不等,每个数据都有对应的时间戳,数据具有版本性(如果不指定版本,就取最新的版本)
5.时间戳(timestamp):列的一个属性,具有version标志
6.存储的数据都是字节数组
7. 数据排序根据字节的hashCode 排序
数据模型图解:
物理模型:
为什么HBase适合秒级简单海量数据查询比如(20TB)?
1.HBase表中的记录,按照行键拆分,拆分成一个个region,(default region 的容量为10G)
2.许多个region存储在region server中(单独的物理机器)
3.对表的操作转换成对多个region server 的并行秒级查询
图解:
通过4中不同的访问方式,我们可以一HBase API作为桥梁,发现有一个Master主节点,和多个从节点(Regin Server),从节点(Regin Server),对应多个物理模型
2.HBase的体系结构
3.1 HBase是主从式结构,HMaster、HRegionServer