ITPub博客

Solr Transaction Log(Tlog)的作用

原创 作者:chenfeng 时间:2018-05-09 16:27:28 0 删除 编辑
记录了原始文档,用于索引恢复功能。在 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中可见。
请登录后发表评论 登录
全部评论
交流MySQL,MongoDB和Redis技术。 微信或QQ:410294

注册时间:2015-12-07

  • 博文量
    638
  • 访问量
    1337631