Betriebssystemseitige Komprimierung von Daten
Von Zeit zu Zeit kommt es vor, dass Kunden – speziell solche, die die Classic Line einsetzen – bei mir oder meinen Kollegen eine Erweiterung Ihrer Speicherkapazität anfragen. Die im Laufe der Zeit angesammelten Daten, haben die Festplatte des Kunden voll laufen lassen. Dieser Artikel richtet sich zum einen an Anwender der Classic Line mit Speicherengpässen, zum anderen an alle, die eine Möglichkeit suchen den verfügbaren Speicher bestmöglich auszunutzen.
Inhaltsverzeichnis
• Der Trick
• Ein Beispiel für Komprimierung
• Wie kann ich diese Funktion nutzen
• Dinge, die man beachten sollte (Auswirkungen dieser Maßnahme)
Anstatt zunächst eine neue Festplatte zu kaufen, diese in den betreffenden Server einzusetzen (wir gehen von einer Mehrbenutzerumgebung der Classic Line aus) um dann die Altdaten umzukopieren, verwenden wir eine Lösung, die uns in die wunderbare Situation versetzt, dass wir -a- keine neue Festplatte kaufen und einbauen müssen und -b- den auf der bisher verwendeten Festplatte verfügbaren Speicherraum effizienter nutzen. Beim effizienteren nutzen der Festplattenkapazität spreche ich nicht von der Idee Temporärdateien/verzeichnisse zu löschen – ich nehme an, dies wurde bereits getan und wir befinden uns in einer Situation, dass keinerlei Daten auf der Festplatte sich mehr löschen lassen und die Festplatte voll zu laufen droht.
Wenn ich mich nicht irre, bietet Windows ab der Version 2000 die Möglichkeit Dateien und/oder gesamte Verzeichnisse auf der Festplatte zu komprimieren (vom latainischen ‘comprimere’ = zusammendrücken).
Ein Beispiel für Komprimierung
Nehmen wir an, wir haben auf der Festplatte eine Datei, die folgenden Aufbau hat:
- Dateianfang -
0000000000
1111111111
2222222222
3333333333
4444444444
- Dateiende –
Wir haben insgesamt 50 Zeichen in dieser Datei. Nehmen wir an, jedes Zeichen belegt auf der Festplatte genau 1 Byte. 50 Zeichen á 1 Byte = 50 Byte. Stellen Sie sich vor, Sie würden jemandem den Inhalt dieser Datei diktieren. Wahrscheinlich würden Sie aus Bequemlichkeitsgründen nicht jedes Zeichen einzeln diktieren. Sie würden viel eher wie folgt diktieren: “Zehn mal die Null, neue Zeile”, “Zehn mal die Eins, neue Zeile” und so weiter. Bei der Komprimierung von Dateien wendet das Betriebssystem eben diese Logik an. Es untersucht sich wiederholende Zeichen im Datenstrang und versucht diese verkürzt darzustellen. Nach angewandter Komrimierung sieht unsere Datei also wie folgt aus:
- Dateianfang -
10×0
10×1
10×2
10×3
10×4
- Dateiende –
Aus 50 Byte haben wir es geschafft 20 Byte zu machen und trotzdem die eigentliche Information zu erhalten.
Begeben wir uns zunächst mit dem Windows Explorer auf die Festplatte, auf der wir die Daten der Classic Line gespeichert haben. In meinem Beispiel ist es die Festplatte F:\.
Wir finden auf F:\ unser Classic Line Verzeichnis. In diesem Beispiel ist es das Verzeichnis “F:\CL 3.4.2″. Da wir alle Dateien komprimieren möchten, die sich in diesem Verzeichnis befinden, klicken wir mit der rechten Maustaste auf das Verzeichnis “CL 3.4.2″ und dann auf Eigenschaften.
Es öffnet sich der Eigenschaftendialog des Verzeichnisses unserer Classic Line Installation. Beachten Sie bitte die Grössenangaben in diesem Fenster. Obwohl die Nutzdaten auf diesem Verzeichnis nur 720MB betragen, werden rund 734MB tatsächlich belegt.

Das kommt daher, dass die kleinste Kapazität, die einer Datei zugewiesen werden kann 4KB beträgt. (In anderen Konfigurationen kann es auch ein anderer Wert sein!) Sie können dies ausprobieren indem Sie eine Textdatei mit einem Zeichen Inhalt auf Ihrer Festplatte speichern. In den Eigenschaften der Datei sollte dann stehen, 1 Byte gross und 4KB verwendet.
Widmen wir uns wieder unseren eigentlichen Vorhaben.
Klicken Sie im Eigenschaftendialog unserer Classic Line Installation auf den Button “Erweitert”.

Um das Betriebssystem anzuweisen dieses Verzeichnis zu komprimieren, aktivieren Sie die Checkbox “Inhalt komprimieren, um Speicherplatz zu sparen”. Bestätigen Sie mit “OK” und im Eigenschaftendialog der Classic Line Installation auch auf “OK”. Es erscheint eine Abfrage auf welchen Bereich wir die Komprimierung anwenden möchten. Da wir das gesamte Verzeichnis mit all seinen Inhalten komprimieren möchten, klicken wir die untere Option “Änderungen für diesen Ordner, Unterordner und Dateien übernehmen” an und bestätigen dies mit “OK”. Das Betriebssystem wird daraufhin anfangen das gesamte Verzeichnis zu komprimieren.

Dieser Vorgang kann je nach Grösse der zu komprimierenden Dateien und Arbeitsgeschwindigkeit des Prozessors sowie der Festplatte einige Zeit dauern. Zum Vergleich: Meine Maschine ist ein Pentium 4 bei 3.4Ghz, 1GB Ram und eine schnelle Festplatte. 720MB Daten wurden in unter 2 Minuten komprimiert – was in der Dialogbox steht ist uninteressant.

Sobald der Vorgang des Komprimierens abgeschlossen ist, widmen wir uns ein letztes Mal den Eigenschaften des Classic Line Verzeichnisses. Es sind nach wie vor 720MB Nutzdaten darin vorhanden, jedoch verwenden die Daten jetzt nur noch 365MB Speicherkapazität auf dem Datenträger. Eine Einsparung von Pi*Daum 50 Prozent!
Komprimierte Verzeichnisse werden im Windows Explorer mit blauer Farbe dargestellt, wundern Sie sich also nicht.
Auswirkungen durch diese Maßnahme
Da die Nutzdaten jetzt nicht mehr im Klartext (0000000000) sondern in verkürzter Form vorliegen (10×0) muss das System bei jedem Zugriff auf die Dateien die Daten aus der verkürzten Form zunächst einmal auswerten, bevor es dem Arbeitsplatz eine Antwort geben kann – das geht natürlich auf die Performance. Ich persönlich konnte nur eine längere Ladezeit beim Starten der Classic Line feststellen. Testen Sie bitte in ihrer eigenen Umgebung ob Sie mit unzumutbaren Performanceeinbußen konfrontiert werden. Sollte dies der Fall sein, emfehle ich Ihnen die Festplatte, auf der die Classic Line installation liegt, zu defragmentieren. Ein Phänomän bei der betriebssystemseitigen Komprimierung von Datenträger/Verzeichnissen ist zunächst ein hoher Fragmentierungsgrad der Daten, die komprimiert wurden. Fragmentierte Datenträger neigen naturgemäß dazu schlechte Performance beim Zugriff auf Daten zu bieten. Das liegt daran, dass die Festplatte auf mehreren Stellen Fragmente (also einzelne Teile) einer Datei zusammensuchen muss, bevor die Information ausgewertet werden kann. Defragmentierung der Festplatte sorgt dafür, dass die Fragmente zusammengeführt werden um die Festplatte zu entlasten und Performance somit zu beschleunigen. Speziell Anwendern der Classic Line empfehle ich regelmäßig den Datenbestand zu defragmentieren. Bedingt durch die Art, wie die Classic Line Informationen speichert, sind diese Daten einer hohen Fragmentierung ausgesetzt.
[ad]