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的数据,然后依次执行上述步骤,保证数据一致性。


目录
相关文章
|
SQL 存储 关系型数据库
MySQL not exists 真的不走索引么
MySQL not exists 真的不走索引么
520 0
|
8月前
|
机器学习/深度学习 JSON 监控
国内最大的MCP中文社区来了,4000多个服务等你体验
国内最大的MCP中文社区MCPServers来了!平台汇聚4000多个服务资源,涵盖娱乐、监控、云平台等多个领域,为开发者提供一站式技术支持。不仅有丰富的中文学习资料,还有详细的实战教程,如一键接入MCP天气服务等。MCPServers专注模块稳定性和实用性,经过99.99% SLA认证,是高效开发的理想选择。立即访问mcpservers.cn,开启你的开发之旅!
11545 16
|
9月前
|
API 数据库
什么是请求资源(Request Resource)?
请求资源是Web开发和API设计中的核心概念,指客户端通过URL访问或操作的服务器目标。它包括路径资源(如`/users/123`)、查询资源(如`?category=electronics`)和请求体资源(如POST提交的数据)。良好的API设计应遵循资源名用名词、使用复数形式及避免深层嵌套等原则,以提升可读性和一致性。掌握请求资源的概念有助于优化API交互效率与维护性。
|
并行计算 Java 应用服务中间件
JUC并发编程超详细详解篇(一)
JUC并发编程超详细详解篇
2184 1
JUC并发编程超详细详解篇(一)
|
运维 Linux 应用服务中间件
Linux的完全本地仓库搭建指南(科普扫盲贴)
Linux的完全本地仓库搭建指南(科普扫盲贴)
1081 0
Linux的完全本地仓库搭建指南(科普扫盲贴)
|
算法 编译器
什么是时间复杂度?
什么是时间复杂度?
758 0
|
设计模式 算法 Java
Java中的常用设计模式及其应用
Java中的常用设计模式及其应用
362 0
|
JavaScript
swiper插件实现echarts轮播的解决方案
swiper插件实现echarts轮播的解决方案
325 0
|
安全 API Windows
[笔记]Windows核心编程《二十二》注入DLL和拦截API(三)
[笔记]Windows核心编程《二十二》注入DLL和拦截API(三)
690 0
|
Windows
【Labview和VAS、VDM安装】
【Labview和VAS、VDM安装】
308 0
【Labview和VAS、VDM安装】