3

Java API は、特定の時点以降にすべてのレコードを取得するという概念をサポートしていますか?

RocksDB のドキュメントには次のように書かれています。

「増分バックアップとレプリケーションは、データベースへの最近のすべての変更を見つけて追跡できる必要があります。API GetUpdatesSince を使用すると、アプリケーションは RocksDB トランザクション ログを追跡できます。」https://github.com/facebook/rocksdb/wiki/RocksDB-Basicsから

GetUpdatesSince API は、RocksDB Java API では利用できないようです。Javaでこれを行う別の方法はありますか?

4

2 に答える 2

4

この機能を使用するなど、Java で同じ動作を実現する方法は他にありませんGetUpdatesSince

GetUpdatesSinceRocksDB の Java API で利用できます。開いているRocksDBインスタンスでメソッドを呼び出すことができます。このメソッドを呼び出した後、オフセットTransactionLogIterator以降の更新をフェッチするために使用できる が取得されます。Sequence Numberは、 が初期化された後に発生したTransactionLogIterator更新も取得できTransactionLogIteratorます (これを概説する例は、テスト内にあります)。

インスタンスの最新のシーケンス番号は、RocksDBを使用して取得できますgetLatestSequenceNumber

Optionsの( DBOptions) 設定を適切な値に設定する必要があることに注意してください。

  • setWalTtlSeconds
  • setWalSizeLimitMB
于 2015-02-02T07:21:37.737 に答える
0

GetWritesSinceに取り組んでいるようですが、今日の時点では完全ではありません。

于 2015-01-28T17:48:37.890 に答える