17 文档写入内核级原理(过程)

ElasticSearch的Index底层结构 ES中,index 由多个shard组成。每个shard,实际上是一个Lucene index。 在Lucene中,它的每个index,由多个segment组成。每个segment内部,实际上是若干个倒排索引。 17 文档写入内核级原理(过程)   ES数据写入的流程:   (1)每当有一个doc的写入请求到来后,doc数据先写入ES内存的buffer缓冲和translog日志文件 (2)每隔一秒钟,buffer中的数据被写入新的segment file,并立刻进入os cache。然后把segment file加到Commit point中,并打开此segment,供search使用 (3)buffer被清空 (4)重复1~3,新的segment不断添加到Commit Point中,buffer不断被清空,而translog中的数据不断累加 (5)当translog长度达到一定程度的时候,commit操作发生:    因为执行commit时候,buffer中可能会有数据,因此需要先把这部分数据生成segment,并保存下来   (5-1)buffer中的所有数据写入一个新的segment,并写入os cache,打开供使用   (5-2)buffer被清空   (5-3)一个commit ponit被写入磁盘,标明了所有的index segment   (5-4)filesystem cache中的所有index segment file缓存数据,被fsync强行刷到磁盘上   (5-5)现有的translog被清空,创建一个新的translog   17 文档写入内核级原理(过程) 流程 17 文档写入内核级原理(过程)17 文档写入内核级原理(过程)  
上一篇:elasticsearch Translog


下一篇:CSS垂直居中的四种方法