SQL Server 21.03.2011, 23:50 Uhr

Tuning-Grundlagen (Servereinrichtung)

Nicht jeder Entwickler möchte sich intensiv mit Datenbank-Performance-Aspekten auseinander setzen. Wenn Sie ein paar einfache Grundregeln beachten, die jeder Datenbank-Entwickler kennen sollte, können Sie zumindest die gröbsten Fehler vermeiden. Die Grundregeln werden am SQL Server vorgestellt, sind aber nahezu unverändert auf alle SQL-basierten relationalen Datenbankmanagementsysteme (RDBMS, wie beispielsweise Oracle, DB2 etc.) übertragbar.
Zunächst ein paar Worte zur Konfiguration eines Datenbankservers. Hier sind vor allem zwei Kriterien im Auge zu behalten:
  • Hauptspeicher und die Festplattensysteme: Aufgrund der Arbeitsweise der meisten relationalen Datenbankserver bringt reine Prozessorleistung im Normalfall recht wenig. Ein viel größerer Geschwindigkeitszuwachs kann erzielt werden, indem zu lesende Daten nicht von vergleichsweise langsamen Festplatten gelesen werden müssen, sondern bereits gepuffert im deutlich schnelleren Hauptspeicher liegen. Folglich ist bei mehr Hauptspeicher auch die Wahrscheinlichkeit größer, dass die benötigten Daten dort auch gepuffert werden können. Ein Ausbau des Hauptspeichers ist also eine einfache und kostengünstige Variante (wenn es sich bei dem verwendeten Server nicht gerade um ein Großrechnersystem handelt), die Zugriffszeiten deutlich zu steigern. Dabei muss beachtet werden, dass die verwendete Variante des Betriebssystems aber auch des Datenbankmanagementsystems diesen Speicher auch verwenden kann. Das ist einerseits eine Frage der Systemkonfiguration, aber auch der genutzten Software-Variante. Von vielen Datenbanksystemen gibt es beispielsweise günstigere (oder gar kostenfreie) Varianten, die gerade in solchen Punkten Beschränkungen aufweisen.
  • Plattensysteme uznd Plattenzugriff: Ist trotz ausreichend großem Hauptspeicher ein Plattenzugriff dennoch nötig (ganz vermeiden lässt sich dies ohnehin nie), sollte dieser möglichst schnell geschehen. Dazu macht es Sinn, das Betriebssystem, die Datenbanken, sowie temporär genutzte Dateien (wie beispielsweise temporäre Datenbanken und Protokolldateien) auf möglichst getrennten Plattensystemen unterzubringen, so dass die Zugriffe auf diese möglichst parallel erfolgen können.
Natürlich gibt es noch viele weitere Möglichkeiten, mit denen Sie einen Datenbankserver optimieren können. Der nächste Teil dieser Serie widmet sich der Datenmodellierung. (Robert Panter/am) 




Das könnte Sie auch interessieren