Wikipedia, leider ... hält jede einzelne Revision in der Datenbank in irgendeiner Form von XML (?) Als Text.
Werfen Sie einen Blick auf die wikipedia database schema. Insbesondere kürzliche Änderungen und Text.
Daher haben sie wunderbare O (1) Lookups auf die erste Kopie der "Biologie" Seite. Dies hat den unglücklichen Nebeneffekt, dass wikipedia technology cost von $ 8mil USD in 2010-2011 auf $ 12mil USD in 2011-2012 steigen wird. Dies ist trotz HDDs (und alles andere) billiger, nicht teurer.
So viel für die Revisionskontrolle von jeder Datei zu halten. Git nimmt einen netten Ansatz. Siehe Is the git storage model wasteful?.
Es speichert jede Datei, ähnlich wie oben beschrieben. Sobald der vom Repo eingenommene Platz ein bestimmtes Limit überschreitet, wird ein Brute-Force-Repack durchgeführt (es gibt eine Option, wie stark es versucht wird - --window = [N], --depth = [N]), was Stunden dauern kann.Es verwendet eine Kombination aus delta und verlustfreier Komprimierung für das besagte Umpacken (rekursiv Delta, dann wenden Sie verlustfrei auf welche Bits Sie auch haben).
Andere wie SVN verwenden einfache Delta-Komprimierung. (aus dem Gedächtnis, dem du nicht vertrauen solltest).
Fußnote: Delta-Komprimierung speichert inkrementelle Änderungen. verlustfreie Komprimierung ist ziemlich ähnlich wie zip, rar, etc.