[Wikide-l] Diskussionen bereinigen
Daniel Arnold
arnomane at gmx.de
Di Feb 20 12:39:11 UTC 2007
On Tuesday 20 February 2007 10:55:42 Paul Ebermann wrote:
> Hast du das selbst ausprobiert?
>
> Ich habe es gerade mal mit deiner E-Mail ausprobiert ...
> [...]
> -rw----r-- 1 ebermann ma2000 3031 20. Feb 10:35 beispiel1.zip
> -rw----r-- 1 ebermann ma2000 6052 20. Feb 10:36 beispiel2.zip
>
> $
> ---
> Die zweite Datei ist fast doppelt so groß :-)
>
> Beim Zip-Format wird jede einzelne Datei in einem Archiv unabhängig
> komprimiert, um ein einfaches Hinzufügen, Extrahieren und Löschen
> einzelner Dateien daraus zu ermöglichen. Dies geht zu Lasten des
> Komprimierungsgrades bei mehreren ähnlichen Dateien ...
>
> Deswegen wird für Datei-Komprimierung mehrerer Dateien unter Unix
> auch häufiger .tar.gz genommen (tar packt mehrere Dateien
> (unkomprimiert in eine, gzip komprimiert dann das ganze)).
Danke für deine Analyse. Daran, dass Zip im Gegensatz zum Gespann Tar + Gzip
Einzeldateien nicht zusammenfasst hab ich in der Tat nicht gedacht. Ich hatte
es nur mit tar.gz- und tar.bz2-Archiven ausprobiert, da ich selber Linux
verwende und hatte zip keine allzugroße Beachtung geschenkt (zumal Winzip
tar.gz entpacken kann).
Ich hatte das Thema vor längeren mal in ganz anderem Kontext ausprobiert. Vor
einiger Zeit stand in Spektrum der Wissenschaft ein recht interessanter
Artikel zum Thema computergesteuerte Verwandtschaftsanalyse von
DNS-Fragmenten: Zusammen komprimieren und mit der getrennten Komprimierung
vergleichen und dann die Dateigrößen verrechnen sind eine recht gute Maßzahl
zur Erszellung einer Karte der genetischen verwandtschaft verschiedener
Lebewesen.
Das ganze lässt sich auch super nutzen um Texte zu vergleichen. Im
Spektrum-Artikel wurde dazu der Stammbaum von Kettenbriefen erstellt. Evtl.
ließe sich das also auch gegen Spam einsetzen (bzw. ich denke mal dass
gängige Spamfilter soetwas bereits in ihrem Maßnahmenköcher haben).
Mit Kompressionsalgorithem lassen sich noch ganz andere Dinge anstellen wie
Datensalat eines Zufallsgenerators rückwärts durch eine geeignete
Kompressionsroutine laufen lassen, was Nonsenstexte im Stile des Bürgerlichen
Gesetzbuchs oder im Stil von Karl May erzeugt. Dazu braucht es aber einen
etwas anderen Algorithmus, der versteckte sprach- und textabhängige
Redundanzen findet: Das Wort "ein" ist für Zip nicht komprimierbar, wenn man
aber weiß, dass das "e" im Deutschen der häufigste erste Buchstabe im Wort
ist kann man es mit einer 1 codieren, der häufigste zweite Buchstabe ist
ein "i" und wird somit ebenfalls mit 1 codiert, dasselbe gilt für den dritten
Buchstaben "n". "ein" kann also bei bekanner Sprache (bzw. bekannter
Häufigkeitsmatrix) mit "111" codiert werden, was sich nun gut komprimieren
ließe. Egal, das führt zu weit und ist Off-Topic hier ;)...
> Um zum Thema zurückzukommen: Zum Glück werden bei MediaWiki
> (zumindest bei der Wikipedia-Variante) jeweils 20 Versionen zusammen
> komprimiert, und damit kann schon ein Großteil des Platzes gespart
> werden. (Disclaimer: Diese Information von mir ist schon einige
> Monate alt, es kann sein, dass es inzwischen wieder anders optimiert
> wird ...)
Es wird nach wie vor Gzip in der von dir beschriebenen Form verwendet. Bzip2
wäre zwar besser, allerdings ist der Unterschied nicht so groß. Gzip
reduziert die Datenbank nach dem was ich weiß auf ca. 15%, Bzip2 auf 10%. Der
Mehraufwand für Bzip2 lohnt also nicht angesichts des exponentiellem Wachstum
der Wikipediadatenbank (Das Speichern der Differenzen und gemeinsame
Kompression dieser Differenzen bringt ebenfalls kaum Platzersparnis, würde
aber sehr viel mehr Rechenzeit kosten).
Ein Algorithmus der um Größenordnungen besser wäre als Gzip/Bzip2 ist der
obige skizzierte, welcher versteckte Redundanzen findet (wär übrigens sehr
dankbar wenn mir einer sagen kann wie der Algorithmus heißt, ich hab es mal
vor Jahren gesehen, aber den Namen vergessen).
Grüße, Arnomane
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : nicht verfügbar
Dateityp : application/pgp-signature
Dateigröße : 189 bytes
Beschreibung: nicht verfügbar
URL : http://lists.wikimedia.org/pipermail/wikide-l/attachments/20070220/4aed2e0a/attachment.pgp