Es 写入流程
2021-09-16 18:27:05 2 举报
Es写入数据流程
作者其他创作
大纲/内容
segment
......
merge 合并这些 segment 文件,把小 segment 整合到一个大的 segment 中,并修改 commit point 的 segment 记录。
segment文件缓存
commit point
merge 过程还会清理被删除的数据。es 接收到删数据请求时,不会真的到 segment 中把数据删了,而是把要删除的数据写到 '.del' 文件中,在读操作时,会根据这个文件进行过滤。merge 合并时才真正删除,合并后的 segment 中就没有已经删除的数据了。
translog
commit提交会:1、把这次提交动作之前所有没有落盘的 segment 强制刷盘,确保写入物理文件。2、创建一个提交点,记录这次提交对应的所有 segment,写入 commit point 文件。3、清空 Translog,因为 Segment 都已经踏实落地了,之前的 Translog 就不需要了。
buffer
hash 文档id找到主分片
协调节点
1、512M2、30分钟达到以上条件Flush操作
主分片
Flush:什么时候缓存落盘由操作系统决定,理论上如果数据已经到段缓存了,已经可以被搜索了
segment文件系统
refresh:每隔1秒buffer将数据刷新到段缓存
Es后台merge segment线程
merge合并操作后,segment会由很多小段变成几个大段
文档无id则生成id
0 条评论
下一页