ES读写底层原理
2023-11-28 20:41:47 0 举报
ES
作者其他创作
大纲/内容
查询doc[id=1]
机器01
返回数据给doc[id=1]
内存buffer
segment file(磁盘文件)删除
机器04
elasticSearch 进程01(协调节点)
commit point(磁盘)
filesystem cache
如果primary和replic都写完了协调节点会返回给客户端,写成功响应
shard 03primary
写入数据
segment file(磁盘文件)
查询本地所有的primary record将所有结果聚合返回最合适的结果
shard 02replic
客户端
translog大到一定阈值,就触发commit操作
merge
会进行物理删除
返回doc[id=1]
refresh
.del(磁盘)
每隔1秒
每隔3s持久化
shard 02primary
找replica doc[id=1]
transLog日志文件
shard 01replic
os cache
shard 03replic
elasticSearch 进程01(协调节点)
每隔5s
写入translog到os cache
elasticSearch 进程01
shard 01primary
协调节点hash判断路由到目的地
逻辑删除,如果在这里面,就是删除了
translog的作用buffer 和 os cache都是在内存中一定宕机,数据就没有了所以需要tanslog将数据保存在磁盘
搜过java关键字
commit操作1. 创建commit point2. 同步os cache 数据到磁盘3. 清空translog,新建一个
机器02
数据同步
机器03
0 条评论
下一页