Tuning (Datenbank)
aus Wikipedia, der freien Enzyklopädie
Unter Tuning versteht man die Feinabstimmung von Parametern einer Datenbank-Installation oder beeinflussbarer Eigenschaften einer Datenbankanwendung mit dem Ziel einer Performance-Verbesserung.
Ein Tuning der Datenbankinstallation ist deshalb möglich und oftmals notwendig, weil Datenbank-Management-Systeme (DBMS) meistens eine enorme, schwer übersehbare Vielfalt an Installations- und Betriebsoptionen anbieten. So kann z. B. eingestellt werden, welche Teile welcher Datenbanktabellen in welchen Speicherbereichen physisch abgelegt werden. Ferner können Puffer-Größen, das Verhalten der Datenbank bezüglich noch nicht freigegebener Datenänderungen (siehe Transaktion), Index-Arten und vieles mehr gezielt beeinflusst werden. Es ist offensichtlich, dass derartige Einstellungen die Performance beeinflussen.
Ein Datenbank-Tuning wird meistens von hochqualifizierten Spezialisten vorgenommen und ist eine sehr kostenintensive Maßnahme mit schwer vorhersehbaren Ergebnissen. Oftmals lassen sich vergleichbare Verbesserungen mit Hardware-Erweiterungen kostengünstiger erreichen. Deshalb beschränkt sich das Tuning oft auf wenige, einfache Maßnahmen bzw. auf High-End-Anwendungen.
Alternativ besteht die Möglichkeit, nicht die Datenbank-Installation, sondern das Datenmodell zu optimieren. Typisch hierfür ist die Denormalisierung. Dabei werden die Strukturen abweichend von der logischen Idealstruktur so verändert, dass die real benötigten SQL-Zugriffe auf weniger Datenbanktabellen zugreifen müssen und folglich erheblich schneller werdern. Durch eine Optimierung der Datenstrukturen lassen sich in der Regel wesentlich größere Performanceverbesserungen erreichen, allerdings mit dem Nachteil, dass dies häufig eine Änderung der bereits fertiggestellten Programme erfordert. Durch die Verwendung von Views kann aber die Datenstruktur auf Anwendungsebene in vielen Fällen beibehalten werden.
Möglichkeiten des Tunings von Zugriffsmechanismen:
- Clustering
- Hashing
- Indexing
- Scanning