「每条数据的存储内容」
存储了一个KV 键值对, 其中的 V 就是我们写入的值, 而这个 key 由以下部分组成:
row key
列族
列名
时间戳
操作类型: Put、Delete、DeleteColumn...其排序规则如下:
row key小的排在前面
同 row key 比较列族
同列族比较列名
同列名比较时间戳, 时间戳大的在前面....按照这个顺序进行读取指定 row key 的某一列数据时, 最先拿到的数据就是最新的版本, 若是 delete 操作, 说明最后执行了删除操作, 即使后面有数据, 最新数据也是空....用于对索引进行二分查找, 快速定位到指定的数据块
数据块在文件中的位置
数据块的大小
布隆过滤器. 用户在扫描时快速过滤不存在的数据块
数据块. 其中存储了每一条 KV 数据....所有的 region 存储在表: hbase:meta 表中, 表结构如下:
表不同列含义如下:
row_key 由以下字段拼接(逗号)而成
表名
起始 row_key
创建时间戳
上面三个字段的md5