我们正在编写基于 BerkleyDB JE 和 Lucene 的本土搜索服务。 BDB用于存储原始文档,Lucene用于搜索。我们计划复制 BDB 存储以实现高可用性并平衡读取请求。
但是有一个问题。当文档在 BDB Slave 上复制时,应用程序需要知道哪些文档应该在 Lucene 索引中重新索引。据我了解,复制日志已经包含这些条目(实际上我只需要主键)。
所以我的问题是有什么方法可以访问 Berkley DB 复制日志并计算复制流中哪些记录发生了更改?
最佳答案
这是一个在 BDB Java Edition forums 上提出的很好的问题。 。
简短的回答是,在 BDB JE 中,目前无法做到这一点,尽管已请求该功能并且它已在我们的长期路线图中。如果您希望在产品中具有复制触发器,我建议您向上面列出的论坛提交您的请求,并解释用例以及您希望的行为 - 即:如何您希望副本上的应用程序收到通知,应用程序需要从 BDB JE 获取哪些信息以及应用程序将使用该信息做什么。
您可能还想阅读BDB JE FAQ about Carbonado作为您想要做的事情的一个选项。
关于java - 访问 BerkleyDB 复制日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5351661/