1、 HBase表本质上是一个分布式、有序的映射(Map)
1) 分布式:HBase使用多个机器来存储和对外提供表的数据服务。HBase表本质上是一个基于HDFS分布式存储,表数据存储在HDFS上,被分割成HDFS块,存储在集群中的多个节点上
2) 有序的映射:RowKey排序后存储的Map映射
2、 HBase表的组成:列族、列名、行
3、 列族
1) 列族是列的一个集合
2) 表可以有一个或多个列族,列族可以有任意数量的列
3) 属于同一个列族的所有列前缀相同
4) 物理存储基于列族分开存储
4、 列用于保存表的数据,列隶属于一个列族。可以按需实时动态创建
5、 行
1) 每行有一个行键(row key)用于快速查找
2) 行键类似于传统关系型数据库的主键
3) 行按照行键排序后进行存储,提升数据检索效率
4) 行键是唯一的索引列,应用程序依赖行键完成表的快速数据访问
5) *只有当行有数据的时候列才(物理)存在
6、 单元Cells
1) 行和列的交叉点称之为Cell
2) Cell为空时不会被存储
3) Cell的内容是不可分割的字节数组
4) Cell是版本化的(默认每个Cell存一个版本),可以配置每个列族保存的版本数量。如果指定列保存3个版本,就会保留三行,按时间戳的倒序进行排序
7、 HBase数据类型:byte arrays字节数组。任何能转化成字节数组的内容都可以存在HBase表中(字符串、数字、复杂对象、图像)