22.06.2009, 10:42 Uhr
Stellschrauben für effiziente Datenbanken
Im Hintergrund eines jeden erfolgreichen Unternehmens verrichtet eine Datenbank ihre Dienste. Wie zuverlässig, effizient und kostenbewusst sie dies tut, hängt von der richtigen Einstellung ab.
CPU-Last im Überblick: Wenn die Ressourcen- und Kapazitäts-Auslastungen Ihrer Datenbanklandschaft so aussieht, dann können Sie signifikant Kosten sparen: Der komplette rechte untere Quadrant kann konsolidiert werden. Damit optimieren Sie die Effizienz der gesamten Datenbanklandschaft und sparen Lizenz-, Betreuungs- und Wartungskosten. Zur Erklärung: Ein Viereck entspricht einem Server, dessen Fläche ist die Summe des CPU-Verbrauchs aller darauf befindlichen Datenbanken. Die CPU-Last wird durch die Farbe dargestellt (schwarz = wenig, dunkelrot = mittel, hellrot = voll). Die Fläche der inneren Vierecke stellt den jeweiligen CPU-Verbrauch der einzelnen Datenbanken dar (gemessen mit TVD-CapMan von Trivadis)
Christian Wischki ist Service Manager bei Trivadis und Coach für ISO/IEC20000, ITIL, IT- und Business-Servicemanagement. Daniel Liebhart ist Dozent für Software-Architektur und Wirtschaftsinformatik
an der Hochschule für Technik Zürich und Solution Manager bei Trivadis
an der Hochschule für Technik Zürich und Solution Manager bei Trivadis
Die Hersteller grosser Datenbanksysteme vermitteln oft den Eindruck, eine Datenbank auf die Geschäftsanforderungen auszulegen, zu installieren und zu betreiben, sei keine grosse Sache mehr. Leider stimmt das so nicht, es sei denn, man nimmt für jede neue Applikation immer den neusten und grössten Rechner mit möglichst vielen CPUs und RAM - mit entsprechendem Hardware-Aufwand und vor allem sehr hohen Lizenz-, Betreuungs- und Wartungskosten.
Kostentreiber identifizieren
Die Kosten und Aufwände im IT-Bereich setzen sich aus drei Faktoren zusammen: den Projektkosten (für Architektur, Entwicklung und Überführung in den Betrieb), den Betriebskosten (für Betreiben, Wartung und Support) und den Entsorgungskosten (um die Applikation aus dem Betrieb wieder herauszunehmen). Im Datenbankumfeld machen die Betriebskosten meist den grössten Kostenblock aus. Dazu zählen das Ressourcen- und Kapazitätsmanagement einerseits und der Support-Aufwand andererseits.
Das Problem: In der Regel werden selten mehr als 50 Prozent der vorhandenen Ressourcen überhaupt genutzt. Durch ein proaktives Kapazitätsmanagement und ein darauf basierendes, permanentes und stets auf das Business ausgerichtetes Forecasting können diese brachliegenden Potenziale reaktiviert oder konsolidiert werden. Mittels statistischer Prognosen und Queueing-Analysen lassen sich die nicht linearen Variablen Business-, Serviceanforderungen und Ressourcen in Beziehung setzen. Sind zwei dieser Variablen bekannt, lässt sich die Dritte ermitteln. Wenn zum Beispiel eine Bank 8000 Zahlungsauftrags-Verarbeitungen pro Stunde fordert, wobei 80 Prozent aller einzelnen Zahlungsaufträge binnen zwei Sekunden verarbeitet sein müssen, kann man darauf basierend die Kapazitäts- und Ressourcen-Anforderungen an die Datenbanken errechnen und diese entsprechend dimensionieren - sowohl auf die aktuellen als auch auf die zukünftigen Geschäftsanforderungen bezogen. Für die TCO (Total Cost of Ownership) kann das nur gut sein.
Um die Support-Kosten in Störungs- und Problemfällen so gering wie möglich zu halten, ist ein gutes Configuration Management die wichtigste Stellschraube für jeden Datenbankverantwortlichen. Viele Probleme sind auf nicht optimale Einstellungen oder auf nicht autorisierte Veränderungen von Konfigurations- und Parametereinstellungen zurückzuführen. Beides verursacht entsprechende Aufwände und Kosten. Das gilt sowohl fürs Business, da dann die von den Datenbanken unterstützten IT-Services und Geschäftsprozesse beeinträchtigt werden, als auch für die IT, für die entsprechende Analyse- und Reparaturkosten anfallen.
Datenbanken bieten eine Vielzahl von Konfigurationsmöglichkeiten, die stets für die Applikationen, welche auf die Datenbank zugreifen, optimiert werden sollten - und zwar schon in der Architekturphase. Während der anschliessenden Betriebsphase müssen diese Parameter- und Konfigurationseinstellungen permanent überprüft werden, um so nicht autorisierte Änderungen schnellstmöglich zu identifizieren. Generell sollte in diesem sensiblen IT-Bereich nur nach einer Autorisierung durch einen vorgeschalteten, qualitativ hochwertigen Change-Management-Prozess irgendetwas verändert werden, da jede Änderung einen signifikanten Einfluss auf die Wirkung anderer Parameter auf die Datenbank zur Folge haben kann.
Werden diese Auswirkungen vorab nicht oder nur rudimentär analysiert, kann es passieren, dass die Veränderung zwar das eine Problem löst, dadurch aber mehrere andere Probleme verursacht, was wiederum entsprechende Aufwände und Kosten nach sich zieht - die meist x-fach höher sind als die ursprünglichen.
Werden diese Auswirkungen vorab nicht oder nur rudimentär analysiert, kann es passieren, dass die Veränderung zwar das eine Problem löst, dadurch aber mehrere andere Probleme verursacht, was wiederum entsprechende Aufwände und Kosten nach sich zieht - die meist x-fach höher sind als die ursprünglichen.
Analysen bezüglich Auswirkungen und Abhängigkeiten von Änderungen sowie Fehler- und Ursachenanalysen setzen das Wissen über die real vorhandenen Parameter- und Konfigurations-Einstellungen voraus. Werden vom Configuration Management hierfür falsche Daten zur Verfügung gestellt, so ist auch das darauf basierende Analyseergebnis in der Regel falsch und die Kosten- und Aufwandspirale dreht sich weiter. Das Configuration Management muss daher stets vollständige, richtige und sowohl aktuelle als auch historische Daten zur Verfügung stellen - egal, wie klein oder gross die Datenbanklandschaft ist.
Die richtigen Stellschrauben
Der Traum jedes Datenbankverantwortlichen ist es, eine einfach zu implementierende, wartungsfreie und immer zu 100 Prozent fehlerfrei laufende Datenbank zu haben, die sich am End-of-Life-Cycle ohne Aufwand abschalten bzw. migrieren lässt. Dieser Traum wird sich leider nicht verwirklichen. Jedoch sind Datenbankexperten mit Fach-Know-how und Tools durchaus in der Lage, die Betriebskosten zu optimieren. Die wichtigsten Stellschrauben:
Qualität von Anfang an: Schon in der Architektur- und Projektphase wird die Grundlage für einen kostengünstigen Betrieb geschaffen - die Qualität und das Setup der Datenbank spielen die entscheidende Rolle.
Proaktives Kapazitäts- und Ressourcenmanagement sorgt für einen effizienten Betrieb, sofern es permanent oder zumindest periodisch erfolgt. Da sich die Ansprüche an einen Datenbankservice laufend ändern - meist durch neue Business-Anforderungen -, muss stets entsprechend reagiert werden können.
Permanentes Configuration Management ist die Grundlage für eine schnelle, kostengünstige Problembehebung und somit auch für den gesamten Support und die Wartung.
Jeder Franken, der in diese Bereiche investiert wird, zahlt sich später im Betrieb der
Datenbank um ein Vielfaches aus. Bei grösseren Datenbanklandschaften ist der Return of Investment (ROI) sogar schon in weniger als zwei Jahren realisierbar.
Qualität von Anfang an: Schon in der Architektur- und Projektphase wird die Grundlage für einen kostengünstigen Betrieb geschaffen - die Qualität und das Setup der Datenbank spielen die entscheidende Rolle.
Proaktives Kapazitäts- und Ressourcenmanagement sorgt für einen effizienten Betrieb, sofern es permanent oder zumindest periodisch erfolgt. Da sich die Ansprüche an einen Datenbankservice laufend ändern - meist durch neue Business-Anforderungen -, muss stets entsprechend reagiert werden können.
Permanentes Configuration Management ist die Grundlage für eine schnelle, kostengünstige Problembehebung und somit auch für den gesamten Support und die Wartung.
Jeder Franken, der in diese Bereiche investiert wird, zahlt sich später im Betrieb der
Datenbank um ein Vielfaches aus. Bei grösseren Datenbanklandschaften ist der Return of Investment (ROI) sogar schon in weniger als zwei Jahren realisierbar.
Ressourcen und Configuration Management
Folgende Fragen müssen beantwortet werden, um das System optimal einzustellen:
Ressourcen Management
- Wo stecken ungenutzte Potenziale und Einsparmöglichkeiten, z.B. im Lizenz- und Serverbereich durch Konsolidierungen?
- Welche Datenbankserver und Cluster-Knoten sind über- bzw. unterlastet, wie kann die Verteilung effizienter erfolgen?
- Wie ist die langfristige Entwicklung?
- Was wäre, wenn mehr User oder Datenbanken auf dem System wären oder ein Wechsel auf eine neue Hardware stattfinden würde?
- Welche Anwendungen verbrauchen die meisten Ressourcen? Was sind die Ursachen und wirkt sich das auf die Performance aus?
- Was bringt mehr Performance: mehr CPUs oder mehr RAC-Nodes?
- Wie viel mehr User/Services bewältigt das System durch mehr/schnellere CPUs?
Configuration Management
- Welche Datenbanken entsprechen nicht den vom Configuration Management vorgegebenen Baselines?
- Welche Konfigurations- und Parametereinstellungen haben sich verändert?
- Welche Konfigurations- und Parametereinstellungen welcher Datenbanken verändern sich häufiger?
- Welche Konfigurations- und Parametereinstellungen waren in der Vergangenheit für welche Datenbank gesetzt?
Folgende Fragen müssen beantwortet werden, um das System optimal einzustellen:
Ressourcen Management
- Wo stecken ungenutzte Potenziale und Einsparmöglichkeiten, z.B. im Lizenz- und Serverbereich durch Konsolidierungen?
- Welche Datenbankserver und Cluster-Knoten sind über- bzw. unterlastet, wie kann die Verteilung effizienter erfolgen?
- Wie ist die langfristige Entwicklung?
- Was wäre, wenn mehr User oder Datenbanken auf dem System wären oder ein Wechsel auf eine neue Hardware stattfinden würde?
- Welche Anwendungen verbrauchen die meisten Ressourcen? Was sind die Ursachen und wirkt sich das auf die Performance aus?
- Was bringt mehr Performance: mehr CPUs oder mehr RAC-Nodes?
- Wie viel mehr User/Services bewältigt das System durch mehr/schnellere CPUs?
Configuration Management
- Welche Datenbanken entsprechen nicht den vom Configuration Management vorgegebenen Baselines?
- Welche Konfigurations- und Parametereinstellungen haben sich verändert?
- Welche Konfigurations- und Parametereinstellungen welcher Datenbanken verändern sich häufiger?
- Welche Konfigurations- und Parametereinstellungen waren in der Vergangenheit für welche Datenbank gesetzt?
Christian Wischki, Daniel Liebhart