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 数据
1399 0
ES 高级实战(四)查询 ES 数据
|
18天前
|
存储 JSON 自然语言处理
es索引文档过程
Elasticsearch 索引文档流程:先通过 REST API 或客户端创建索引,定义文档结构的映射;接着索引 JSON 格式的文档,Elasticsearch 解析、索引并存储;最后,文档以倒排索引形式存储,支持高效全文搜索。
31 5
|
JavaScript
ES6的基础用法
对js es6的用法进行简单介绍
|
JavaScript 前端开发
ES6新增特性学习
ES6新增特性学习
|
前端开发
前端学习笔记202306学习笔记第四十二天-Es7-ES7新增特性
前端学习笔记202306学习笔记第四十二天-Es7-ES7新增特性
62 0
|
前端开发
前端学习笔记202306学习笔记第四十二天-Es8-ES8和ES9新增特性2
前端学习笔记202306学习笔记第四十二天-Es8-ES8和ES9新增特性2
67 0
|
前端开发
前端学习笔记202306学习笔记第四十二天-Es8-ES8和ES9新增特性1
前端学习笔记202306学习笔记第四十二天-Es8-ES8和ES9新增特性1
60 0
|
JSON 前端开发 JavaScript
前端实战【ES6】你会ES6,但是你真的会用吗?
前端实战【ES6】你会ES6,但是你真的会用吗?
143 0
前端实战【ES6】你会ES6,但是你真的会用吗?
每天3分钟,重学ES6-ES12(七)ES10 新增内容
每天3分钟,重学ES6-ES12(七)ES10 新增内容
92 0
|
JavaScript 前端开发
每天3分钟,重学ES6-ES12(六)ES7 ES8 新增内容
每天3分钟,重学ES6-ES12(六)ES7 ES8 新增内容
124 0