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 数据
1275 0
ES 高级实战(四)查询 ES 数据
|
4月前
|
JSON 前端开发 JavaScript
ES6(2015)-ES13(2022)新增特性大总结
ES6(2015)-ES13(2022)新增特性大总结
42 0
|
6月前
|
JavaScript
ES6的基础用法
对js es6的用法进行简单介绍
|
9月前
|
前端开发
前端学习笔记202306学习笔记第四十二天-Es8-ES8和ES9新增特性2
前端学习笔记202306学习笔记第四十二天-Es8-ES8和ES9新增特性2
41 0
|
9月前
|
前端开发
前端学习笔记202306学习笔记第四十二天-Es8-ES8和ES9新增特性1
前端学习笔记202306学习笔记第四十二天-Es8-ES8和ES9新增特性1
39 0
|
9月前
|
前端开发
前端学习笔记202306学习笔记第四十二天-Es7-ES7新增特性
前端学习笔记202306学习笔记第四十二天-Es7-ES7新增特性
36 0
|
10月前
|
前端开发
|
11月前
每天3分钟,重学ES6-ES12(七)ES10 新增内容
每天3分钟,重学ES6-ES12(七)ES10 新增内容
66 0
|
11月前
|
JavaScript 前端开发 Java
每天3分钟,重学ES6-ES12(八)ES11 ES12新增内容
每天3分钟,重学ES6-ES12(八)ES11 ES12新增内容
79 0
|
JSON 前端开发 JavaScript
前端实战【ES6】你会ES6,但是你真的会用吗?
前端实战【ES6】你会ES6,但是你真的会用吗?
112 0
前端实战【ES6】你会ES6,但是你真的会用吗?