Solr Transaction Log(Tlog)的作用

chenfeng發表於2018-05-09
記錄了原始文件,用於索引恢復功能。在 SolrCloud 中,每個節點都有自己的 tlog。在更新的時候,整個文件會寫入 tlog 中。在原子更新(Atomic update)時,仍然是整個文件寫進來,包括了從老文件中讀取出來的內容,換言之,原子更新時,寫到 tlog 的不是增量資料。Tlog 是保證一致性的關鍵,有了它,就算索引段(segment)關閉前 JVM 崩潰了,索引也不會丟失。

solr硬提交(hard commit)的時候會寫入Transaction Log,Transaction Log有點類似於mysql的redo log
硬提交是提交資料持久化到磁碟裡面,它內部做的事情如下:
1、生成一個新的tlog檔案,刪除舊的tlog。
2、把記憶體中的索引檔案fsync到磁碟,並建立一個index descriptor,即使jvm崩潰或者當機,也不影響這部分索引。
3、使得索引在searcher中可見。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2154238/,如需轉載,請註明出處,否則將追究法律責任。

相關文章