在「HBase」中, 从逻辑上来讲数据大概就长这样:
单从图中的逻辑模型来看, HBase 和 MySQL 的区别就是:
将不同的列归属与同一个列族下
支持多版本数据
这看着感觉也没有那么太大的区别呀,...他的数据是如何进行存储的呢?
HBase 数据物理结构
在介绍其物理结构之前, 要先简单提一下 LSM 树
LSM树
和 MySQL 所使用的B+树一样, 也是一种磁盘数据的索引结构....在内存中维护一个有序的数据
将内存中的数据push 到磁盘中
将磁盘中的多个有序文件进行归并, 合成一个较大的有序文件
HBase存储
在「HBase」中, 数据的存储就使用了 「LSM 树」进行存储...., 加速读取
根据数据块的位置和大小, 找到指定数据块并二分查找指定数据
HBase 数据列族式存储
先简单回顾一下行式存储和列式存储....「列族式存储」
而 HBase 中选用了一种折中的方案, 列族式存储, 将列族放到一起存储, 不同列族分别存储.