ES文档写入原理

简介: ES文档写入原理

ES文档写入原理


image.png

根据上图,我们再回顾一下写入的一个流程。

1.客户端首先写入到内存缓冲区MemoryBuffer以及备份的磁盘空间Translog当中。

2.MemoryBuffer定期refresh内部的数据,组成一个个的Segment组,如果segement太大也会进行合并操作,之后当满足一定的条件或者时间规则之后会刷新进入到OS Cache当中,之后segement会修改为open状态。 (所以数据写入是有延迟的,open标记只针对Cache和Memory Buffer的交互)

3.OS Cache同步写入到磁盘当中,写入完成之后会清空Memory Buffer以及Translog当中的数据。

4.如果中途断电了,会通过Translog进行数据同步恢复,其中Memory Buffer先同步Translog的数据,然后依次执行上述步骤,保证数据一致性。


目录
相关文章
|
前端开发 API
ES 高级实战(四)查询 ES 数据
ES 高级实战(四)查询 ES 数据
1385 0
ES 高级实战(四)查询 ES 数据
|
JavaScript
ES6的基础用法
对js es6的用法进行简单介绍
|
前端开发
前端学习笔记202306学习笔记第四十二天-Es8-ES8和ES9新增特性2
前端学习笔记202306学习笔记第四十二天-Es8-ES8和ES9新增特性2
62 0
|
前端开发
前端学习笔记202306学习笔记第四十二天-Es8-ES8和ES9新增特性1
前端学习笔记202306学习笔记第四十二天-Es8-ES8和ES9新增特性1
58 0
|
JSON 前端开发 JavaScript
前端实战【ES6】你会ES6,但是你真的会用吗?
前端实战【ES6】你会ES6,但是你真的会用吗?
140 0
前端实战【ES6】你会ES6,但是你真的会用吗?
每天3分钟,重学ES6-ES12(七)ES10 新增内容
每天3分钟,重学ES6-ES12(七)ES10 新增内容
87 0
|
自然语言处理 JavaScript 前端开发
每天3分钟,重学ES6-ES12(三)标签模版字符串
每天3分钟,重学ES6-ES12(三)标签模版字符串
82 0
|
监控 前端开发 JavaScript
每天3分钟,重学ES6-ES12(十五)异步代码处理方案
每天3分钟,重学ES6-ES12(十五)异步代码处理方案
99 0
|
JavaScript 前端开发 网络架构
每天3分钟,重学ES6-ES12(四)函数的补充 展开语法
每天3分钟,重学ES6-ES12(四)函数的补充 展开语法
83 0
|
JavaScript 前端开发
每天3分钟,重学ES6-ES12(六)ES7 ES8 新增内容
每天3分钟,重学ES6-ES12(六)ES7 ES8 新增内容
121 0