The requested URL was not found on this server. 不管你信不信,反正我是没找到

大佬们,有一个疑惑,既然在写入文档时,有机会和时间去写translog到磁盘,为什么还要再费劲去写内存呢?

Elasticsearch | 作者 tianhuang101 | 发布于2019年11月04日 | 阅读数:224

系统提示:这个人太懒了,什么问题描述都没有写!

已邀请:

rochy - rochy_he

赞同来自: tianhuang101

请参考下面的文章,主要的原因还是因为 translog 是为了防止内存中的数据意外断电丢失
 
https://www.ezlippi.com/blog/2 ... .html
https://elasticsearch.cn/question/3724

lu_xiao_xi

赞同来自: tianhuang101

个人认为这是对分布式应用的一个很好的实践吧,保证数据不丢失的同时尽量提高性能...
写buffer可以直接响应,提高响应性能。。但是又不能丢失内存数据,所以再写一份持久化log。。。最后,最终一致性(刷盘或重启读log)落盘segment.

zqc0512 - andy zhou

赞同来自: tianhuang101

性能与可靠性之间的博弈

zgq25302111 - github.com/zgq25302111

赞同来自: tianhuang101

如果仅写translog到磁盘,不写内存,下次访问必须读磁盘,速度慢,写入内存加快访问速度。
但又不能仅仅写入内存,如果这样一旦断电数据全丢。
结论:写内存同时写磁盘。

要回复问题请先登录注册