首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在将文档写入磁盘时,ElasticSearch(lucene)段是必需的吗?

在将文档写入磁盘时,ElasticSearch(lucene)段是必需的吗?
EN

Stack Overflow用户
提问于 2022-07-20 08:11:28
回答 1查看 64关注 0票数 1

我想知道在将文档写入磁盘时是否需要Lucene段。下面是一个文档如何从ElasticSearch进入磁盘的简单过程--首先,将一个ElasticSearch文档写入内存中的缓存(参考LSM-tree memTable),然后将一组文档刷新到页缓存(每1s)作为一个不可变的Lucene段(参见LSM-tree不变的memTable),该段最终将"fsync“”fsync“到磁盘上。

似乎我们完全可以绕过“页面缓存”部分,也就是说,在第一步,当我们想在内存缓冲区中创建一个文档时,elasticsearch会为它创建一个段。然后,如果我们想更新该文档,elasticSearch将为更新的文档创建另一个段。现在我们一共有两个部分。1秒后,这两个段将合并并在磁盘上刷新。

你知道Lucene在这里有什么优势吗?

EN

回答 1

Stack Overflow用户

发布于 2022-07-22 01:54:12

页面缓存旨在通过将数据存储在物理内存中以最小化磁盘I/O,否则需要磁盘访问。

缓存通常支持不同的策略,不写、写缓存和写回传.页面缓存是一种回溯策略.定期将页面刷新到磁盘。

这种机制加快了数据访问速度,减少了I/O的数量。

Lucene编写页面缓存以提高系统I/O吞吐量。

当然,页面缓存花费更多的内存,并且可能会丢失缓存中的数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73048081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档