1

インターネット経由で複製したい、継続的に更新される ~20GB の Interbase バックアップを使用しています。転送されるデータを最小限に抑えるにはどうすればよいですか?

バイナリ diff ツールの使用を検討していましたがbsdiff、少なくとも O(7n) メモリが必要であることは理解しています。これらの Interbase バックアップは、gbakとにかく Interbase 独自のものを使用して、LAN 経由で増分的にのみ変更されています。Linux ファイルシステム (ext/btrfs/...) にフックして、このファイルに加えられたすべての変更をキャプチャし、それを共通の差分形式としてエクスポートし、別の (Windows) プラットフォームで再構築する方法はありますか?

4

2 に答える 2

1

を使用できる場合がありますrsync。データベースの変更がたまたまバックアップファイルの最後に保存されていれば、それは完璧です。

ただし、バックアップファイルが高度に書き換えられた場合(つまり、多数の小さなチャンク/行がランダムに挿入/削除/変更された場合)、rsyncジョブは実行されません。これは、データベース内の挿入/削除の頻度に関する同期の頻度によって異なります。

デルタ計算にウィンドウ化されたアプローチを使用し、より高密度の変更が存在する場合でも共通部分をxdeltaはるかに小さくして保持できる可能性があるため、この場合に役立つ可能性のあるツールがあります。rsyncこれを使用するには、「古い」バックアップと最新のバックアップが必要です。

幸いなことに、バックアップは実行されるたびに同じ方法で編成され(同じテーブル/行の順序)、両方のアルゴリズムに役立ちます。

于 2012-01-10T08:42:40.237 に答える
1

InterBase データベースの増分バックアップ機能はどうですか? 増分バックアップ (ログ ファイルの場合) を一時的なダンプの場所に実行してから、その増分データのみをオフサイトの場所にバックアップすることを試みることができます。いずれにせよ、InterBase データベースの増分バックアップを続行するには、最初の完全バックアップ データを保持する必要がある場合があります。

バックアップするデータ量が非常に少なくなります。

于 2012-01-10T15:42:36.127 に答える