当前位置: 首页 > news >正文

es的写入过程

es的写入过程

创建((C)reate)

当我们发送索引一个新文档的请求到协调节点后,将发生如下一组操作:

Elasticsearch集群中的每个节点都包含了改节点上分片的元数据信息。协调节点(默认)使用文档ID参与计算,以便为路由提供合适的分片。Elasticsearch使用MurMurHash3函数对文档ID进行哈希,其结果再对分片数量取模,得到的结果即是索引文档的分片。

shard = hash(document_id) % (num_of_primary_shards)

当分片所在的节点接收到来自协调节点的请求后,会将该请求写入translog(我们将在本系列接下来的文章中讲到),并将文档加入内存缓冲。如果请求在主分片上成功处理,该请求会并行发送到该分片的副本上。当translog被同步(fsync)到全部的主分片及其副本上后,客户端才会收到确认通知。

内存缓冲会被周期性刷新(默认是1秒),内容将被写到文件系统缓存的一个新段上。虽然这个段并没有被同步(fsync),但它是开放的,内容可以被搜索到。

每30分钟,或者当translog很大的时候,translog会被清空,文件系统缓存会被同步。这个过程在Elasticsearch中称为冲洗(flush)。在冲洗过程中,内存中的缓冲将被清除,内容被写入一个新段。段的fsync将创建一个新的提交点,并将内容刷新到磁盘。旧的translog将被删除并开始一个新的translog。

引用

  • 剖析Elasticsearch集群:存储模型和读写操作

相关文章:

  • Kubernetes 集群的两种部署过程(daemon部署和容器化部署)以及glusterfs的应用!...
  • mysql常用的数据备份方案
  • Bitbucket Pipelines在Atlassian的Bitbucket云上提供持续交付功能
  • 下拉菜单的编辑
  • 【乐畅】工作积累 ---- 后台倒计时 ( 体力恢复功能 )
  • block防止循环引用的技巧
  • 分布式部署lamp,phpmyadmin,wordpress的安装与应用
  • == 和 equals()的区别
  • Java基本语法-----java常量
  • 开发中的对控件大小 颜色等默认状态的意识
  • 面试资料
  • Linux 常用命令(一)
  • [转载] FFMPEG之AVRational TimeBase成员理解
  • 用GNS3制作路由交换网络拓扑图
  • libevent
  • 「面试题」如何实现一个圣杯布局?
  • 〔开发系列〕一次关于小程序开发的深度总结
  • Centos6.8 使用rpm安装mysql5.7
  • docker-consul
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • HTML中设置input等文本框为不可操作
  • JS变量作用域
  • Laravel 中的一个后期静态绑定
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • Shadow DOM 内部构造及如何构建独立组件
  • 构建工具 - 收藏集 - 掘金
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 使用 Docker 部署 Spring Boot项目
  • 数据可视化之 Sankey 桑基图的实现
  • 小而合理的前端理论:rscss和rsjs
  • 新书推荐|Windows黑客编程技术详解
  • 正则与JS中的正则
  • ​VRRP 虚拟路由冗余协议(华为)
  • # 数据结构
  • #includecmath
  • #周末课堂# 【Linux + JVM + Mysql高级性能优化班】(火热报名中~~~)
  • (7)STL算法之交换赋值
  • (HAL库版)freeRTOS移植STMF103
  • (附源码)ssm基于jsp高校选课系统 毕业设计 291627
  • (紀錄)[ASP.NET MVC][jQuery]-2 純手工打造屬於自己的 jQuery GridView (含完整程式碼下載)...
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (五)Python 垃圾回收机制
  • (转载)CentOS查看系统信息|CentOS查看命令
  • ***通过什么方式***网吧
  • .NET Reactor简单使用教程
  • .NET/C# 判断某个类是否是泛型类型或泛型接口的子类型
  • .NET6实现破解Modbus poll点表配置文件
  • .NET构架之我见
  • .Net中的设计模式——Factory Method模式
  • []error LNK2001: unresolved external symbol _m
  • [2023年]-hadoop面试真题(一)
  • [8481302]博弈论 斯坦福game theory stanford week 1
  • [BZOJ 4034][HAOI2015]T2 [树链剖分]
  • [BZOJ2208][Jsoi2010]连通数
  • [CCIE历程]CCIE # 20604