在「HBase」中, 从逻辑上来讲数据大概就长这样:
单从图中的逻辑模型来看, HBase 和 MySQL 的区别就是:
将不同的列归属与同一个列族下
支持多版本数据
这看着感觉也没有那么太大的区别呀,...对写入友好, 支持异步大批量并发写入
可动态添加列
按列存储数据, 不存在的列不会落盘, 节省空间....「内存有序结构的实现」
通过跳表来维护内存中的有序结构, 当一个跳表装满之后, 将禁止新的写入操作并将其 push 到磁盘中, 同时开一个新的数据结构来接收新到的操作请求....HBase 会将一张表同一列族的数据, 分配到同一个 region 上, 这个region 分配在集群中的某一个 regionServer....所有的 region 存储在表: hbase:meta 表中, 表结构如下:
表不同列含义如下:
row_key 由以下字段拼接(逗号)而成
表名
起始 row_key
创建时间戳
上面三个字段的md5