We are writing home grown s开发者_StackOverflow中文版earch service based on BerkleyDB JE and Lucene. BDB used for storing original documents and Lucene for searching. We are planning to replicate BDB storage to achieve high availability and balance read requests.
But there is a problem. When documents are replicated on BDB slave, application needs to know which documents should be reindexed in Lucene index. As far as I understand replication log already contains these entries (primary key is all I need in fact).
So my question is there any way to access Berkley DB replication log and to calculate which records are changed in replication stream?
This is an excellent question to ask on the BDB Java Edition forums.
The short answer is that in BDB JE there is currently no way to do this, although the feature has been requested and it is on our longer term roadmap. If you'd like to have replication triggers in the product, I'd suggest that you submit your request to the forum listed above, with an explanation of the use case and what you would want the behavior to be -- ie: how would you like for your application on the replica to get notified, what information would the application need from BDB JE and what would the application do with that information.
You may also want to read the BDB JE FAQ about Carbonado as an option to what you're trying to do.
精彩评论