我们正在编写基于BerkleyDB JE和Lucene的本土搜索服务。 BDB用于存储原始文档,Lucene用于搜索。我们计划复制BDB存储以实现高可用性并平衡读取请求。
但是有一个问题。在BDB slave上复制文档时,应用程序需要知道哪些文档应该在Lucene索引中重新编制索引。据我所知,复制日志已经包含这些条目(事实上我只需要主键)。
所以我的问题是有没有办法访问Berkley数据库复制日志并计算复制流中哪些记录被更改?
答案 0 :(得分:2)
这是BDB Java Edition forums提出的一个很好的问题。
简短的回答是,在BDB JE中,目前无法做到这一点,尽管该功能已经被请求并且在我们的长期路线图中。如果您想在产品中使用复制触发器,我建议您将您的请求提交到上面列出的论坛,并解释用例以及您希望行为的内容 - 即:如何您希望副本上的应用程序得到通知,应用程序需要哪些信息来自BDB JE以及应用程序将如何处理该信息。
您可能还希望阅读BDB JE FAQ about Carbonado作为您尝试执行的操作的选项。