michelangelus - Fotolia
Was man über Datenbank-Performance-Software wissen sollte
Datenbank-Performance-Tools identifizieren Engpässe, überwachen Auslastung sowie Durchsatz und verwalten die System- und DBMS-Ressourcennutzung.
Dies ist der erste Artikel einer vierteiligen Serie über Datenbank-Performance-Tools. Der zweite Artikel präsentierte verschiedene Arten von Leistungsmerkmalen, nach denen man suchen sollten. Der dritte Artikel setzt sich mit den unterschiedlichen Funktionen und Features der Datenbank-Performance-Tools auseiander. Im vierten Artikel werden Tipps zur Auswahl der richtigen Datenbank-Performance-Tools aufgezählt.
Datenbanksysteme müssen funktionieren – daran führt kein Weg vorbei. Dass Datenbanksysteme nicht ausfallen und effizient arbeiten, ist eine Kernforderung des modernen IT-Managements. Der Datenbank-Administrator (DBA) ist dabei nicht auf sich allein gestellt: Verschiedene Tools können ihm und anderen IT-Profis helfen, die Performance von Datenbanken zu überwachen, zu verwalten und zu verbessern. Dies gilt auch für die Anwendungen, die auf die Datenbank zugreifen.
Bevor man aber näher darüber nachdenkt, ob eine Datenbank-Performance-Software sinnvoll ist, ist es wichtig zu definieren, was Datenbank-Performance überhaupt bedeutet. Ganz allgemein und abstrakt gesehen kann die Datenbankleistung als die Geschwindigkeit definiert werden, mit der ein Datenbank-Management-System (DBMS) Informationen an die Benutzer liefert. Um aber besser zu verstehen, was die Datenbank-Performance konkret beeinflusst, schauen wir uns folgende fünf Faktoren näher an:
- Ein Workload ist die Aktivität, die das DBMS ausführen soll und die die Anforderungen an das System bestimmt. Er kann mehrere Dinge miteinander kombinieren wie Transaktionen, Batch-Jobs, Ad-hoc-Abfragen, Berichts- und Analyseanwendungen, Datenbank-Dienstprogramme und Systembefehle. Workloads sind auch nicht immer konstant, sondern können täglich, stündlich oder sogar minütlich schwanken – und das drastisch. Manchmal ist ein Workload stabil und vorhersagbar, aber zu anderen Zeiten kann es zu Höchstlasten kommen, die nicht immer vorhersagbar sind. Ein Beispiel dafür ist eine Datenbank, die die E-Commerce-Website eines Einzelhändlers unterstützt und die am Black Friday einem umfangreichen Transaktions-Workload ausgesetzt ist.
- Der Durchsatz (Thoughput) ist das Maß für die Fähigkeit eines Systems, Daten zu verarbeiten. Der Durchsatz setzt sich zusammen aus I/O- und CPU-Geschwindigkeit und kann durch die parallelen Fähigkeiten des Datenbankservers sowie die Effizienz des Betriebssystems und der Systemsoftware positiv beeinflusst werden.
- Ressourcen sind die Hardware- und Software-Tools, die dem System zur Verfügung stehen – wie zum Beispiel der Datenbank-Kernel, der Speicherplatz, der Arbeitsspeicher, der Cache Controller oder Mikrocode. Die Leistungsfähigkeit beim Datenzugriff und Modifizieren von Daten in der Datenbank kann durch eine geeignete Zuteilung und Anwendung der Ressourcen verbessert werden.
- Die Optimierung beschleunigt die Abfrageleistung. Zwar können grundsätzlich alle Arten von Systemen optimiert werden, relationale Datenbanken sind jedoch insofern einzigartig, als die Abfrageoptimierung hauptsächlich intern im DBMS ausgeführt wird. Zusätzliche Faktoren müssen ebenfalls berücksichtigt werden, einschließlich SQL-Formulierung und Datenbankparameter, damit der Datenbank-Optimierer die effizientesten Zugriffspfade erstellen kann.
- Konkurrenz (Contention) stellt sich ein, wenn die Nachfrage nach einer bestimmten Systemressource hoch ist, etwa wenn zwei oder mehr Komponenten einer Anwendung versuchen, eine einzelne Ressource in entgegengesetzter Weise zu verwenden. Ein Beispiel sind Dual-Updates für das gleiche Datenelement. Wenn die konkurrierenden Zugriffe zunehmen, nimmt der Durchsatz ab.
Nach dieser Begriffsklärung kann die Datenbank-Performance nun genauer definiert werden, nämlich als die Optimierung der Ressourcennutzung mit dem Ziel, den Durchsatz zu erhöhen und die Konkurrenz zu minimieren. Damit lässt sich die größtmögliche Arbeitslast verarbeiten.
Arten von Datenbank-Performance-Management-Software
Bevor wir uns mit den verschiedenen Arten von Datenbank-Performance-Management-Tools beschäftigen, müssen wir zwischen Performance Monitoring und Performance Management unterscheiden. Obwohl damit verschiedene Dinge gemeint sind, ist es leicht, die beiden zu verwechseln. Tatsächlich ist Performance Monitoring ein Aspekt des Performance Managements, das aus diesen drei umfassenden Komponenten besteht:
- Überwachen eines Datenbanksystems, um Probleme zu finden, wenn welche auftreten;
- Analysieren von Daten des Systems, um eine Korrekturmaßnahme zu bestimmen;
- Implementieren eines Fixes, um das Problem zu lindern beziehungsweise zu lösen.
Datenbank-Performance-Software kann in allen drei Bereichen unterstützen. Aber einige von ihnen überwachen einfach nur Systeme oder beheben Probleme, während andere alles zusammen bieten.
Diese Software kann auch nach der Art der Performance-Probleme kategorisiert werden, um die sie sich kümmert. Das Managen der Leistung von Datenbankanwendungen umfasst beispielsweise die folgenden drei Komponenten:
- Das DBMS: Mit dieser Systemsoftware können Daten gespeichert und von Programmen aufgerufen werden. Das DBMS muss mit anderer Systemsoftware und Hardware interagieren und erfordert eine korrekte Konfiguration, die sicherstellt, dass die Datenbank funktioniert und zufriedenstellend läuft. Darüber hinaus gibt es viele Systemparameter, die verwendet werden können, um die vom DBMS genutzten Ressourcen sowie ihr Verhalten zu konfigurieren. Dazu gehören wichtige Leistungskriterien wie Speicherkapazität, I/O-Durchsatz oder das Sperren von Data Pages.
- Datenbankstrukturen: Das Design von Datenbanken, Tabellen und Indizes kann ebenfalls Auswirkungen auf die Datenbankleistung haben. Zu den kritischen Problembereichen gehören das physische Design der Datenbank, die Festplattennutzung, die Anzahl der Tabellen, das Indexdesign und die Parameter der Datendefinitionssprache. Ebenfalls gemanagt werden muss die Organisation der Daten. Und weil Daten in der Datenbank immer wieder geändert werden, wird sich mit der Zeit auch ihre Effizienz verschlechtern. Reorganisation und Defragmentierung sind deshalb erforderlich, um unorganisierte Daten regelmäßig wieder in Ordnung zu bringen.
- SQL und Anwendungscode: SQL-Anweisungen effizient zu codieren kann kompliziert sein, da es viele verschiedene Möglichkeiten gibt, SQL-Statements zu schreiben, die die gleichen Ergebnisse zurückgeben. Allerdings können Effizienz und Leistung jeder Formulierung erheblich variieren. DBAs benötigen deshalb Werkzeuge, die den ausgeführten SQL-Code überwachen, die verwendeten Zugriffspfade anzeigen und Anleitungen zur Verbesserung des Codes bereitstellen.
Wann benötigt man Datenbank-Performance-Tools?
Im Allgemeinen kann eine Datenbank-Performance-Software Engpässe und Konfliktpunkte identifizieren, Workloads und Durchsatz überwachen, die SQL-Leistung und -Optimierung überprüfen, den Speicherplatz und die Fragmentierung überwachen sowie die System- und DBMS-Ressourcennutzung anzeigen und verwalten.
Probleme mit der Datenbankleistung werden am häufigsten von Endbenutzern entdeckt, die nicht in der Lage sind, ihre Aufträge effektiv abzuwickeln. Normalerweise sind ihre Anliegen etwas vage und unbestimmt wie „Das System ist träge“ oder „Mein System arbeitet nicht so schnell wie früher“. Der Administrator muss das Problem dann genauer ermitteln. Datenbank-Performance-Management-Tools können ihm helfen, das Problem zu finden sowie eine Lösung für das Problem zu formulieren und zu implementieren.
Datenbank-Performance-Software ist essentiell wichtig für Organisationen, die Service-Level-Agreements (SLA) einsetzen, um die Leistung ihrer Anwendungen zu verwalten. Die Tools können dazu beitragen, dass angemessene Serviceleistungen an alle IT-Benutzer entsprechend den betrieblichen Prioritäten und zu akzeptablen Kosten geliefert werden.
Viele Organisationen verwenden mehr als ein DBMS, und ihre DBAs müssen die Performance aller Datenbanksysteme gewährleisten. Das ist nicht einfach, weil jedes DBMS unterschiedliche Schnittstellen, Parameter und Konfigurationen hat, die seine Leistung beeinflussen. Heterogene Datenbank-Performance-Tools können das Management vereinfachen und die Verwirrung beseitigen: Sie verwenden intelligente Schnittstellen, um diese disparate Komponenten von DBMS zu DBMS ähnlich aussehen zu lassen.
Der Markt für Datenbank-Performance-Software
Der Markt für Datenbank-Performance-Werkzeuge kann in drei Kategorien aufgeteilt werden: Die erste Kategorie ist der DBMS-Anbieter-Markt, zu dem IBM, Microsoft und Oracle gehören. Diese Unternehmen verkaufen Software für ihre eigenen Datenbanksysteme sowie heterogene Tools.
Die zweite Kategorie umfasst Technologieanbieter wie BMC, CA und Dell, die Datenbank-Performance-Software sowie andere Arten von Systemsoftware verkaufen. Die dritte Kategorie schließlich sind Softwarehersteller, die Nischen-Datenbank-Tools anbieten. Zu ihnen gehören Unternehmen, die auf Datenbank-Management und -Verwaltung spezialisiert sind, wie Bradmark Technologies, Idera und SolarWinds.
Diese Tools werden in der Regel direkt an den Kunden verkauft. Die Lizenzgebühren sind entweder abhängig von der Anzahl der User, dem Datenbank-Kern oder der Größe des Servers, auf dem die Datenbank verwaltet wird. Häufig werden Datenbank-Performance-Tools gleich beim Erwerb eines Datenbanksystems mit der Datenbanksoftware gebündelt.
Grundsätzlich beinhaltet Datenbank-Performance-Software ein signifikantes Segment des gesamten Softwaremarktes für IT-Performance-Management. Performance Software bietet viele Vorteile, und Interessenten können unter zahlreichen Produkten auswählen.
Folgen Sie SearchEnterpriseSoftware.de auch auf Twitter, Google+, Xing und Facebook!