Wer schon lange mit Volumen Dokumente per DMS archiviert, kennt das Problem: Die Datenmengen wachsen, und damit wächst auch die Größe der AMS-Datenbank. Was ist nun, wenn die Datenbank so groß wird, dass die Backup-Bänder für die Datensicherung nicht mehr ausreichen? Oder die Datensicherung nicht mehr ohne großen technischen und zeitlichen Aufwand zurückgeholt werden kann? Kann man die Datenbank verkleinern?

Dazu eine Beispielgeschichte, die nicht ganz erfunden ist. Ein Anwender, nennen wir ihn mal die Musterfirma AG, archiviert schon seit dem Jahre 1991 Dokumente. Die ersten Jahre waren harmlos – z.B. wurden im Jahre 1992 nur rund 250 Dokumente (alles Faxe im TIF-Format, Durchschnittsgröße 72 KB) archiviert – Gesamtgröße: 18 MB. Die folgenden Jahre waren ähnlich.

Doch in den Jahren ab 1999 wurde das Scannen von Dokumenten in der Musterfirma AG zum Volkssport. „Papierloses Büro“ wurde die Devise, und so wuchsen die Datenmengen an: waren im Jahr 1998 nur 1.000 Fax-Dokumente mit 78 MB Größe zu archivieren gewesen, so waren es 1999 schon 10.000 Dokumente mit insgesamt 603 MB! Die Mitarbeiter freuen sich, fast alle Dokumente sind nun aus der Verwaltung zugänglich, kein Kramen in Papierakten mehr – einzig der Datenbankadministrator gerät ins Schwitzen: hatte er nicht mal davon gehört, dass bei einer Dateigröße von 2 GB Schluss ist? Wäre dann nicht schon nächstes Jahr theoretisch „Ende Gelände“ bei der Datenbankgröße?

So schlimm ist es aber nicht: zum einen können Dateien im NTFS-Dateisystem „praktisch unbegrenzt“ groß werden, und  zum anderen arbeitete die Musterfirma AG zu diesem Zeitpunkt noch mit AMS 16-bit – hier war die Datenbank über mehrere Dateien verteilt. Der Datenbankadministrator kauft also ein größeres Banklaufwerk für die Datensicherung und lehnt sich also beruhigt zurück.

Er hat aber nicht mit dem Eifer der Mitarbeiter gerechnet. Nun wurden nicht nur Faxe und gescannte Dokumente archiviert, sondern auch im großen Umfang empfangene und versendete E-Mails. So kommt im Jahr 2000 schon 1 GB Volumen hinzu, ein Jahr später sind es schon fast 2 GB. Dann wird im Jahre 2005 auf AMS.4 migriert – alle Daten landen in einer einzigen Firebird-Datenbankdatei (FDB)! Hat diese Datenbankdatei am Anfang schon die Größe von 16 GB, so steigt die Größe bis heute auf 23 GB.

Nun spürt der Administrator wieder aufsteigendes Unwohlsein. Zwar passt die Datenbank noch auf die Server-Festplatten und auf das Backup-Band, aber für eine Rücksicherung der Datenbank benötigt die Sicherungssoftware bald 8 Stunden. Kann die Datenbank im „Ernstfall“ überhaupt noch aus der Sicherung zurückgeholt werden? Ist auf dem Server überhaupt genug Platz frei, um bei einer Rücksicherung neben der Produktiv-Datenbank noch die Sicherungs-Datenbank auspacken und testen zu können? Ausserdem belegt die Datenbank ein Viertel des gesamten Speicherplatzes auf dem Server, und die Datei ist stark fragmentiert, was zu Lasten der Zugriffsgeschwindigkeit geht. Und die große Datenbankdatei ist besonders anfällig gegenüber Dateisystemfehlern …

Nun müsste also entweder die Hardware erweitert und verbessert werden, um mit den größeren Datenmengen umgehen zu können (machen wir uns nichts vor: auch Besitz und Pflege von Daten kostet Geld – in diesem Fall Geld für die fortlaufende Sicherung und Aufbewahrung der Datenbank) – oder die Datenbank müsste verkleinert werden. Wie verkleinert man also eine AMS-Datenbank?
 1. Schritt: Dokumente auslagern
Der Schlüssel für die Verkleinerung der Datenbank sind die DMS-Dokumente: sie können nicht geändert werden und müssen,  zumindest wenn es sehr alte Dokumente sind, eigentlich auch nicht mehr im Zugriff sein – die reine Aufbewahrung im Keller reicht aus. Glücklicherweise bietet AMS eine recht wenig bekannte Funktion, um Dokumente aus der Datenbankdatei herauszunehmen und als einzelne Dateien wegzuspeichern. Diese Funktion verbirgt sich im Menü „Bestand -> Dokumenteneingang“, und dort unter „Bearbeiten -> DMS Auslagern“. Dort wird der Zeitraum eingegeben, für den die eingelesenen Dokumente ausgelagert werden können. Bei der erstmaligen Auslagerung muss zudem ein Verzeichnis eingegeben werden, in das ausgelagert werden soll (das sollte zweckmäßigerweise ein Serververzeichnis sein, das von allen Arbeitsplätzen zugänglich ist – von hier sollen die Dokumente ja auch wieder aufgerufen werden können). Anschließend startet der Vorgang; das kann einige Zeit dauern. Bei großen Datenbeständen lohnt es sich, die Auslagerung immer jahreweise zu machen (z.B. vom 1.1.2005 bis 31.12.2005) und nach jedem Jahr den freien Speicherplatz auf dem Server zur püfen.

Anschließend liegen die ausgelagerten Dokumente im ausgewählten Verzeichnis in Unterverzeichnissen pro Jahr (z.B. Verzeichnis „Dokumente“, Unterverzeichnisse „1998“, „1999“, …). Die Dokumentdaten wurden zwar aus der Datenbank gelöscht, beim Zugriff auf die Dokumente aus dem AMS-Postbestand wird aber automatisch im Auslagerungsverzeichnis gesucht – aus Anwendersicht hat sich also nichts geändert.

2. Schritt: Ungenutzte Daten aus der Datenbank entfernen

Nach dem Auslagern der Dokumente ist erstmal die Enttäuschung groß: Zwar liegen nun gigabyteweise Dokumentdateien auf dem Server, aber die Datenbankdatei ist immer noch so groß wie zuvor. Warum?

Wenn in AMS Daten gelöscht werden, gibt der von AMS verwendete Firebird-Datenbankserver nicht notwendigerweise den belegten Speicher frei. Durch ein Datenbank-Backup und -Restore kann die Datenbank aber neu aufgebaut werden, und belegt danach nur noch den wirklich benötigten Platz. Dazu wird in der AMS-Datenbankadministration die Sicherung gestartet und anschließend zurückgespielt (dazu darf natürlich niemand im AMS arbeiten!!). Dazu ein Ausdruck aus der AMS-Hilfe: AMS-Hilfe zur Datensicherung

3. Schritt: Alte Dokumente aus der Datensicherung herausnehmen 

Nun hat die AMS-Datenbank ein handliches Format, dafür liegen die Dokumente als einzelne Dateien auf dem Server. Beim genaueren Nachdenken stellt man aber fest, dass sich diese Dokumente nie ändern können (DMS-Dokumente können in AMS nach der Archivierung nicht mehr verändert werden). Mithin müssen sie also eigentlich nicht kontinuierlich gesichert werden – es reicht aus, wenn die Daten jahreweise einmalig gesichert werden (z.B. auf einige DVD-Kopien gebrannt werden). Danach kann das DMS-Auslagerungsverzeichnis von der Datensicherung ausgeschlossen werden – oder z.B. auf eine andere Festplatte auf dem Server verlagert werden, die generell nicht gesichert wird. Wenn das Auslagerungsverzeichnis verschoben wird, muss aber auch in AMS die entsprechende Einstellung geändert werden, damit AMS die Daten wiederfinden kann: Unter Menü „Datei -> Einstellungen -> Erweitert“ ist dazu der Schlüssel „DMS/ARCHIV“ „VERZEICHNIS“ zu ändern.

 Dokumente direkt in die Auslagerung?

Wenn die Auslagerung der Dokumente gegenüber der Aufbewahrung der Dokumente in der Datenbank so viele Vorteile hat, warum nicht direkt Dokumente direkt auslagern? Neu archivierte Dokumente landen in AMS derzeit immer direkt in der Datenbank – hierfür gibt es keine Einstellungsmöglichkeit. Es bietet sich aber an, jeweils jährlich Dokumente für das Vorjahr auszulagern – dann ist klar, welche Dokumente bereits gesichert wurden (nämlich die ausgelagerten) und welche Dokumente noch in der Datensicherung belassen werden müssen (diejenigen, die in der AMS-Datenbank selbst leben).

Fazit

Die Auslagerung von Dokumenten bietet eine einfach zu handhabende Möglichkeit, die Größe von AMS-Datenbanken zu reduzieren. Dabei müssen aber einige Punkte bedacht werden: