关键组件 -- 读缓存block cache(磁盘读的数据) memstore hstore
总结
定位操作和写流程中的一致 关键字 zk meta-region-server meta表所在位置 meta表结构 根据table和row-key所在范围 定位region
读操作:
内存 磁盘 一起都读 读完后要合并merge 比较时间戳 读缓存里存的是block 块大小 64K 索引
合并的时候 磁盘有3个过滤 时间rowkey和布隆过滤器 此文件是否需要的
扩展
因为刷写一次就一次文件所以有小文件问题
没有master 数据读写都可以 但是DDL语句是不行的 元数据是行的
文件合并merge
小合并和大合并
小文件是自动合并 较常用 默认3 compactionThreshold 一个store里面允许存的大于等于3个 开始自动合并 不是立马触发的
搜索compact
大合并因为非常耗资源一般都是关掉 默认7天
在合并过程中 会清理部分过期和删除的数据
合并过程是rewrite的过程
LRUcache算法 最近最少使用算法 hashmap
hfile 通过命令直接查看的