2009-10-06 29 views

答えて

13

前回私が見たTFSはコピーオンライトを使用しています。つまり、ファイルを変更するまでディスク容量を増やすことはありません。それはあなたが物事を変える必要があるまでシンボリックリンクを使用するようなものです。

+1

+1:私の理解も。ブランチはローカルワークステーション上のスペースを占有しますが、ブランチを表示したくない場合(基本的にはワークスペースから削除します)、ブランチをクロークすることができます。 – TrueWill

+0

Iこれについての情報を見つけることができなかったので、誰かがリンクを見つけた場合は、私にそれらを指摘してください。 お返事ありがとうございます。 –

5

Jamesは基本的に正しいです。より完全な答えのために、我々は2006年に戻ってから、バックのポストで開始する必要があります。http://blogs.msdn.com/buckh/archive/2006/02/22/tfs_size_estimation.aspx

ローカルバージョンテーブルの各新しい行を約520バイト(1行が新たに追加される各ワークスペースのために追加されます追加します項目はサイズで、ローカルパスの列が支配します)。新しく追加されたアイテムを取得する100のワークスペースがある場合、データベースは52 KB増加します。平均サイズの新しいファイル1,000個(ソースファイル、バイナリ、イメージなどの混在)を追加して100個のワークスペースを取得すると、バージョン管理データベースは約112 MB(60 KB * 1,000 + 520 * 1,000 * 100) 。

分岐された項目はファイルの内容と重複しないため、60KBの数字は省略できます。 (O(N))量のメタデータは、ブランチ操作自体の間に計算され、格納されなければならない。新しい項目が編集されるまでソース項目と同じレコードをtbl_Content内にポイントするのは正しいことです)。そのため、我々には単に520 * num_workspaces * files_per_workspaceの要素しかありません。 MS dogfoodサーバーには、tbl_LocalVersionに20億行のようなものがありますが、自己記述された小さなグループでは、まったく無視できるはずです。

Something Buckさんのブログにはマージ履歴は書かれていません。ブランチワークフローを採​​用し、いくつかの開発サイクルでそれを固執すると、tbl_MergeHistoryはtbl_LocalVersionとほぼ同じくらい大きくなる可能性があります。繰り返しますが、小さなチームのレーダーに登録することすら疑いがありますが、大規模なインストールでは何億もの行を簡単に掘り起こすことができます。つまり、nvarchar(260)フィールドがないため、各行のサイズははるかに小さくなります。

関連する問題