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