ElasticSearch写入数据和查询数据的过程

本文详细介绍了ElasticSearch的数据写入过程,包括客户端请求、协调节点、主分片处理及副本分片同步。同时,解析了ElasticSearch的写入原理,如数据先写入缓冲区和Translog,再定时刷新到Segment文件,并通过操作系统缓存实现准实时搜索。还讨论了Translog的角色以及在宕机时的数据恢复机制。最后,概述了ElasticSearch的查询过程,强调了doc id在路由和查询中的作用。
摘要由CSDN通过智能技术生成

Es写数据过程
1)客户端选择一个node发送请求过去,这个node就是coordinating node,协调节点,对document进行路由,将请求转发给对应的node
2)实际的node上的primary shard处理请求,然后将数据同步到replica node
3)coordinating node,如果发现primary node和所有replica node都搞定之后,就返回响应结果给客户端

Es写数据底层原理
1)先写入buffer,在buffer里的时候数据是搜索不到的;同时将数据写入translog日志文件
2)如果buffer快满了,或者到一定时间,就会将buffer数据refresh到一个新的segment file中,但是此时数据不是直接进入segment file的磁盘文件的,而是先进入os cache的。这个过程就是refresh。
       每隔1秒钟,es将buffer中的数据写入一个新的segment file,每秒钟会产生一个新的磁盘文件,segment file,这个segment file中就存储最近1秒内buffer中写入的
据,但是如果buffer里面此时没有数据,那当然不会执行refresh操作咯,每秒创建换一个空的segment file,如果buffer里面有数据,默认1秒钟执行一次refresh操作,刷入一个新的segment file中。
       操作系统里面,磁盘文件其实都有一个东西,叫做os cache,操作系统缓存,就是说数据写入磁盘文件之前,会先进入os cache,先进入操作系统级别的一个内存缓存中去,只要buffer中的数据被refre

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值