elasticsearch之document写入流程实现可靠存储

目录

  • 1、refresh 过程
  • 2、flush 过程
  • 3、document 写入流程
  • 4、总结

1、refresh 过程

数据写入os cache,并被打开供搜索的过程,叫做refresh,默认是每隔1秒refresh一次。

2、flush 过程

将os cache上的数据fsync到 os disk的过程。

3、document 写入流程

(1)document 数据写入buffer缓冲和translog日志文件;
(2)每隔一秒钟,buffer中的数据被写入新的segment file,并进入os cache【refresh】,此时segment被打开并供search使用;
(3)buffer被清空;
(4)重复(1)~(3),新的segment不断添加,buffer不断被清空,而translog中的数据不断累加;
(5)当translog长度达到一定程度的时候,commit操作发生;
  (5-1)buffer中的所有数据写入一个新的segment,并写入os cache,打开供使用;
  (5-2)buffer被清空;
  (5-3)一个commit point被写入磁盘,标明了所有的index segment;
  (5-4)filesystem cache中的所有index segment file缓存数据,被fsync强行刷到磁盘上【flush】;
  (5-5)现有的translog被清空,创建一个新的translog。

4、总结

(1)refresh过程,document上的数据每隔一秒,更新到os cache,并可以检索,达到检索时间为秒级,近实时性NRT;

(2)translog file 是对当下buffer 操作的记录,若发生宕机,可根据translog 对上一阶段数据进行回放,提高可靠性;

(3)flush 过程,将os cache 中的数据 持久化到 os disk(物化到磁盘),提高稳定性和可靠性。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值