HBase基本概念
table:一个表包含多行数据
row:行,一行数据包含一个唯一标识rowkey,多个column以及对应的值。在HBase中,一张表中所有的row都按照rowkey的字典序由小到大排序。
column:列,由HBase中的column family(列簇)和qualifier(列名)组成。一个column下可以有多个qualifier。
timestamp:时间戳,每个cell在写入hbase的时候都会分配一个时间戳作为该cell的版本,同一个rowkey,column下可以存多个value,即多个版本,这些value使用timestamp作为版本号,版本越大,数据越新。
cell:单元格,由五元祖(row,column,timestamp,type,value)组成的结构,其中type表示put、delete这样的操作类型,timestamp代表这个cell的版本,在数据库中是以KV形式存储的,K是row,column,timestamp,type,V就是value。
在HBase中使用时间戳timestamp实现了数据的多版本支持。
多维稀疏排序Map:多维的、稀疏的、分布式的、持久性的、排序的。
主要关键词解释:
多维:指的是HBase中的key是一个复合结构,由多维元素组成,包括rowkey、column family、qualifier、type、timestamp。
稀疏:在HBase中,空值不需要任何填充,稀疏性是HBase的可以无限扩展的一个重要条件。
排序:key从小到大排序,由于key是复合结构,所以先比较rowkey,如果rowkey相同,在比较column,以此类推,直到比较timestamp,timestamp是从大到小排序,timestamp大的排在前面。