AW: Bild Konvertierung -> Es wird kein DB Speicherplatz freigegeben
Hi,
also das 10GB-Limit bezieht sich auf den von Daten tatsächlich genutzten Speicherplatz, nicht auf die von der DB allokierte Datenmenge.
Zum Allgemeinen:
Man muss verschiedene Dinge unterscheiden.
Ganz unten gibt es die Festplatte. Darauf kommt ein Dateisystem - das ist nichts anderes als eine spezialisierte Datenbank. Das Dateisystem reserviert jetzt eine Datei für die Datenbank. Hier kann es zur ersten Fragmentierung kommen - das ist die unter Windows bekannte Fragmentierung, die man mit defrag reduzieren kann. Allerdings lässt ein defrag keinen Platz hinter einer Datei, d.h. sobald eine Datei größer wird, wird sie wieder in zwei Teile zerlegt - wachsen mehrere Dateien gleichzeitig hat man relativ schnell wieder Fragmente.
Um also Fragmentierung auf dem Dateisystem-Level zu vermeiden allokiert die Datenbank immer größere Blöcke vom Betriebssystem und gibt diese sehr, sehr ungern wieder frei. Dadurch erhofft sich die Datenbank eine Datei mit möglichst wenig Fragmenten. Von dieser Fragmentierung "weiß" die Datenbank nix - die sieht man nur im Dateisystem.
Intern wird nun diese Datei wieder in Segmente unterteilt - es passiert praktisch genau das selbe wie im Dateisystem, nur heißen die Dateien eben Tabellen oder Indizes. Die können auch wieder fragmentieren, selbst wenn auf dem Dateisystemlevel alles in einem einzigen Segment steckt.
Indizes kann und sollte man regelmäßig defragmentieren ggf. sogar neu aufbauen. In größeren Systemen reden wir hier von einer täglichen Aufgabe. Das kann auch unser DB-Tool in der Version 1.0 erledigen. Das kann - je nach Server Version - im laufenden Betrieb erledigt werden. Eine Reorganisation der eigentlichen Daten ist mir nicht bekannt - keine Ahnung ob das auch funktioniert. Längere sequentielle Zugriffe sollten aber im Normalbetrieb nicht auftauchen, insofern würde ich mir von einer Reorganisation der Daten nicht so viel versprechen (im Gegensatz zur Neuorganisation der Indizes).
Also zusammengefasst:
- Wenn der Platz in der DB eng wird, warnt die
Wawi früh genug. Von "außen" sieht man die tatsächliche Größe nicht so gut.
- Ein DB-Server ist komplex. Gut gemeinte Eingriffe in die Funktionsfähigkeit ("Optimierungen", eigene Indizes anlegen, DB verkleinern, etc.) gehen sehr schnell nach hinten los. Der SQL-Server ist keine "junge" Software und schon recht gut eingestellt. Meist hat das Verhalten der Software einen guten Grund
- Mit der Wawi 1.0 kommt ein DB-Tool was einige Wartungsarbeiten an der DB automatisch erledigen kann
- Im Optimalfall gibt man der SQL-Datenbank viel Platz. Und zwar von Anfang an. Direkt mit einer 10 GB Datenbank starten. Dann wird die Datei auf dem Datenträger in einem Stück allokiert und der DB-Server hat Genug Spielraum für seine Optimierung.
Gruß,
Sebastian