每一个新事物的出现, 都是为了解决原本存在的问题.
对写入友好, 支持异步大批量并发写入
可动态添加列
按列存储数据, 不存在的列不会落盘, 节省空间....其排序规则如下:
row key小的排在前面
同 row key 比较列族
同列族比较列名
同列名比较时间戳, 时间戳大的在前面....用于对索引进行二分查找, 快速定位到指定的数据块
数据块在文件中的位置
数据块的大小
布隆过滤器. 用户在扫描时快速过滤不存在的数据块
数据块. 其中存储了每一条 KV 数据....行式存储在读取一行数据的时候是比较快的, 但如果读取的是某一列数据, 也需要将整行读取到内存中进行过滤....「列式存储」
与行式存储相对应的就是列式存储, 既将一列数据存储在一起, 不同列的数据分别存储.
列式存储对于只读取某一列比较友好, 但相对的, 如果要读取多列数据, 需要读取多次并进行合并.