追加専用データを書き出すためにシステムに組み込むことができるライブラリまたはエンジンはありますか? 特に、バイナリ データを処理でき、エントリ ルックアップ (できれば O(log n) またはそれ以上) を処理し、前方または後方に読み取ることができるものが必要です。既にカスタム ファイル形式を構築しましたが、それはスケーラブルではないと思います。また、構築済みでテスト済みのコードを使用したいと考えています。特にログデータの保存に使用できるものを探しています。
または、そのようなデータをディスク上で表現する最良の方法は何ですか? 私の現在の形式は次のようになります。
| size | protobuf-record | size |
ここで、protobuf-record は protobuf 形式のエントリで、そのサイズが (32 ビットの符号なし整数として) 並んでいます。これにより、前後にスキャンできます。別の KV ストア (この場合は東京キャビネット) を検索用のデータへのインデックスとして使用しています。
実際、私が探しているプロパティの 1 つは、エントリがファイル形式で検出されない限り挿入可能であってはならないということです。
私が探しているのは以前に行われたものですか、それともカスタム ファイル形式を改善することで続行する必要がありますか?