HBase的数据结构及逻辑存储结构
一、HBase的逻辑结构
HBase的数据模型和数据库很类似,但底层的存储结构完全不同。
HBase的数据模型分为:store(相当于表)、列、Row Key(行)、region(列的集合)、列族
(1)store
store就相当于一个表,由多行和多列组成,store中包含memstore,主要用来写数据,每个store对应一个列族。
设置memstore的主要原因是:存储在HDFS上的数据需要按照row key 排序。而HDFS本身被设计为顺序读写,不允许修改。这样的话,HBase就不能够高效的写数据,因为要写入到HBase的数据不会被排序,这也就意味着要存入HDFS中的数据是无序的,这显然不利于存储数据后的数据检索。
所以memstore的作用是当写入数据到store时,数据先写到memstore中,只有当数据量达到一定阈值,之间的时间足够memstore将数据进行排序后再统一写到HDFS中。
(2)列
就是数据的一列,建表时,需要先指定列族才能创建列,每个列都由Column Famile(列族)和Column Qualifier(列限定符即列名)决定
(3)列族
包括多列&#