即使是不成熟的尝试,也胜于胎死腹中的策略。

ES translog记录是文档数据还是每次操作?

Elasticsearch | 作者 jianjianhe | 发布于2017年10月19日 | 阅读数:3729

权威指南上面对ES的tanslog写道:ES增加了事务日志(translog ) ,来记录每次操作。
于是个人理解就是:TransLog主要作用是实时记录对于索引的修改操作,确保在索引写入磁盘前出现系统故障不丢失数据。
但我在网上一些博文上看到这样的一句话“在新索引的document添加到in-memory buffer的同时,它们也会被附加到分片的translog(a persistent, write-ahead transaction log of operations)中。”
即,tanslog保存了和内存buf一样的文档内容。
 
于是就疑惑了:ES中的事物日志到底用来记录:buf中的文档数据,还是每次ES修改操作?
当出现写入磁盘系统异常时,是恢复数据还是通过记录的操作进行恢复?
 
还有一个疑问就是:translog是是不是持久磁盘当中的,在发生断电的情况下也可以起到恢复数据的作用?
已邀请:

kennywu76 - Wood

赞同来自: jianjianhe

translog记录了操作和文档。 translog是持久到磁盘上的,因此断电情况下也可以起到恢复数据的作用。

要回复问题请先登录注册