HBase:HBase 是一种分布式、可扩展、支持海量数据存储的 NoSQL 数据库。利用Hadoop HDFS作为其文件存储系统,提供高可靠性 、高性能、列存储、可伸缩、实时读写的数据库系统。
逻辑上, HBase 的数据模型同关系型数据库很类似,数据存储在一张表中,有行有列。横轴按Row key水平切分,纵轴按列族垂直切分。
Row key:行键,唯一键。在每个store内是有序的,按字典序排序。
列族:Column Family,就是列的家庭的意思。一个列族包含多个列。列可以动态添加。作用可以简单理解为不同的列族在不同的文件夹存储。
Region:table在行的方向上横向分隔为多个Region。Region是HBase中分布式存储和负载均衡的最小单元。类似于关系型数据库的表概念。
store:图中有6块。store存放在HDFS中。也就是说,实际的数据存放在HDFS,除了store,其他数据属于元数据,可以存放在内存中。
但从 HBase 的底层物理存储结构来看,是K-V键值对形式。 图中绿色区域针对的是逻辑结构里面的store进行展开,分析物理结构。 Column Qualifier:列名 Column Family:列族 TimeStamp:写入 HBase 的时间。不同版本(version)的数据根据timestamp进行区分。 Type:Put 插入的数据;对于删除操作,其类型为Delete。