DBMotoマシンではどの程度のディスクサイズを考慮すべきか?【リアルタイムレプリケーションツールDBMoto】


DBMotoは.NET Framework2.0 SP2がインストールされたWindowsマシンで稼働します。インストーラのファイルサイズは約15MBと非常に軽量です。

では、DBMotoを運用するにあたって、ディスクサイズはどの程度を使用するのでしょうか?以下レプリケーションの際に使用するファイルについてまとめておきます。なお。開発元ではディスクサイズの空き容量として5GB以上を推奨しております。

1. 一時キャッシュファイル

DBMotoはレプリケーションの際に一時ファイル(synccache)を作成します。具体的には以下のようにファイルを作成します。

●リフレッシュの場合:
⇒ソースDBのデータをselectクエリでスキャンした結果を一時ファイルとして保存します。ファイルはDBMotoのBlock Size(デフォルト値50レコード)単位で作成されます。
●ミラーリングの場合:
⇒ソースDBのトランザクションログを参照し、新しいトランザクションがあれば結果を取得し一時ファイルとして保存します。


※参考:一時ファイルが作成されたところのイメージ

DBMotoは作成した一時ファイルを元にターゲットDBへレプリケーションするためのSQLを生成し、レプリケーション完了後に一時ファイルは削除されます。あくまで一時的なファイルなので、これによりディスクサイズを大きく圧迫する心配はありません。

2. ログファイル・historyファイル

ログファイルは主にエラー等が感知された場合やレプリケーションの開始終了時に出力され、historyファイルはレプリケーション間隔ごと(デフォルト60秒おき)に何件成功し何件失敗したかを出力します。


※参考:ログファイルの例


※参考:historyファイルの例

ログファイルやhistoryファイルは、デフォルトでは1ファイル最大10MB、ファイル作成数は無制限と設定されていますが変更は可能です。特にファイル作成最大数を設定することで、極端にディスクサイズを占領することを防止できます。


※参考:ログの出力サイズ等は設定変更可能

3. メタデータ(metadata)

DBMotoの設定情報はすべてmetadataとして、デフォルトでDBMotoマシンに保存されます。レプリケーション定義が多ければ多いほどサイズが大きくなりますが、少なくて数KB、多くても数MB程度なので、ディスクサイズへの影響はほとんどないと考えて問題ありません。

関連したトピックス