wakatonoの戯れメモ

はてなダイアリーから引っ越してきました。

fsfsなデータベースのリポジトリで追加/更新されるもの

簡単に調べてみた。

  • conf

svnserve.confなどが入るため、ユーザの設定変更にともない更新される可能性がある。

最後のトランザクションに対応したアクティビティの内容がファイル(activities.pag)に格納されるため、コミットごとに変更される。ファイルactivities.dirも、更新時刻が変更される。

  • db

リビジョンに対応して、プロパティを格納したファイル(サブディレクトリrevprops配下)と変更セット(change set)を格納したファイル(サブディレクトリrevs配下)が追加される。
その他、ファイル current が変更される。

  • hooks

フックスクリプトなどが置かれるため、変更される可能性がある。

  • locks

ロックファイルのため、変更される可能性あるかな

定常運用時に追加/変更されるファイルは最小で5つ程度。
これならば、コミットごとにpdumpfsを実行してもいいかな。
検討する事項は、コミットの頻度とchange setのサイズを考慮すると重くなる可能性があるかどうかくらいか。
でも、

  • バックアップするごとにDBのunload→巨大なdiffを作成することを考えると軽い
  • BerkeleyDB形式のファイルそのもののバックアップを考えるとまだマシ

という感じですかね。