残念なことに、ウィキペディアは、データベース内のすべてのリビジョンを何らかの形式の XML(?) としてテキストとして保持しています。
ウィキペディアのデータベース スキーマを見てください。特に最近の変更とテキスト。
したがって、「生物学」ページの最初のコピーへの素晴らしい O(1) ルックアップがあります。これには、ウィキペディアの技術コストが 2010 年から 2011 年の 800 万ドルから 2011 年から 2012 年には 1200 万ドルに膨れ上がるという不幸な副作用があります。これは、HDD (およびその他すべて) が高価ではなく、安価になっているにもかかわらずです。
すべてのファイルを保持するリビジョン管理についてはこれで終わりです。Git はキュートなアプローチを採用しています。Git ストレージ モデルは無駄ですか?を参照してください。.
上記の方法と同様に、すべてのファイルを保存します。レポが占めるスペースが特定の制限を超えると、ブルート フォース リパックが実行されます (再試行の強さを設定するオプションがあります - --window=[N], --depth=[N] )。これには数時間かかる場合があります。上記のリパックには、デルタ圧縮とロスレス圧縮の組み合わせを使用します(再帰的にデルタを使用し、次に、持っているビットにロスレスを適用します)。
SVN のような他のものは、単純なデルタ圧縮を使用します。(信頼してはならない記憶から)。
脚注: デルタ圧縮は増分変更を格納します。可逆圧縮は、zip、rar などとほとんど同じです。