有个人长的像洋葱,走着走着就哭了…….

elasticsearch 的translog是直接写入硬盘还是内存?

Elasticsearch | 作者 陈水鱼 | 发布于2018年09月25日 | 阅读数:1345

个人认为translog是保存在内存,但是保存在内存同样会丢失,如何保证在查询异常是保证数据正确?
已邀请:

yayg2008

赞同来自: 陈水鱼

translog最终是写在磁盘的,但是写的时机,是可以控制的,默认每个request都会写translog到磁盘,即同步刷盘,这种方式不会丢数据,但磁盘IO高,有性能损耗;另一种就是异步刷盘,即translog先写入内存就算记录成功,然后在异步批量写入到磁盘,这种方式性能好,但如果服务出现异常,可能丢失一点数据。

zqc0512 - andy zhou

赞同来自:

translog是本地过渡文件。这是在硬盘中的,要刷新后才同步到索引了。
这玩意你可以看看data目录,下面能够找到translog内容的,打开看看就是数据。
 

要回复问题请先登录注册