Die wichtigsten Methoden für die Verwaltung komplexer Datenbankumgebungen Von Dave Pearson, Senior Project Manager Zusammenfassung Einführung In diesem Whitepaper werden unverzichtbare Methoden für die erfolgreiche Verwaltung der komplexen Datenbankinfrastrukturen von heute vorgestellt. Sie erfahren zum Beispiel, wie Sie wichtige geschäftliche Kennzahlen untereinander abwägen, die Herausforderungen der Datenbankadministratoren (DBAs) verstehen und die richtigen Tools zur Überwachung und Verwaltung der Datenbankumgebung auswählen. Eine langsame relationale Datenbank kann sich erheblich auf die Leistung der Anwendungen auswirken, die sie unterstützt. Von den Benutzern werden mitunter Tausende Transaktionen pro Minute generiert, die von Dutzenden redundanter Web- und Anwendungsserver – und nur einer einzigen Datenbank – unterstützt werden. Aufgabe der relationalen Datenbank ist, für Konsistenz und Verfügbarkeit zu sorgen. Deshalb ist sie eine stark zentralisierte Ressource. Sie bündelt die Transaktionen im Datenbank-Stack, was diesen recht stark belastet. Dadurch sollen optimale Leistung und hohe Verfügbarkeit gewährleistet werden. Deshalb spielt die Datenbank eine so entscheidende Rolle. Und deshalb sind auch die Datenbankadministratoren (DBAs) alles andere als Durchschnittsadministratoren. Um solche komplexen Datenbankumgebungen erfolgreich zu verwalten, müssen zentrale Geschäftsmetriken ausbalanciert werden. Außerdem gilt es, zu verstehen, welche einzigartigen Herausforderungen die Datenbankadministratoren zu bewältigen haben, und es müssen die richtigen Tools für die Datenbankverwaltung ausgewählt werden. Ausgewogenheit zwischen wichtigen geschäftlichen Kennzahlen Die Verwaltung der Datenbank und die Führung des DBA-Teams ist eine komplexe Aufgabe, bei der drei primäre Geschäftsmetriken berücksichtigt werden müssen: Kosten, Service und Risiko. Kosten Die Gehälter der DBAs machen den Großteil der direkten Kosten des Datenbankteams aus. Der für den Produktivbetrieb verantwortliche DBA erfüllt eine spezielle Funktion in der IT-Organisation. Dementsprechend gut wird er im Allgemeinen vergütet. Die Verwaltung der Datenbank und die Führung des DBATeams ist eine komplexe Aufgabe, bei der drei primäre Geschäftsmetriken berücksichtigt werden müssen: Kosten, Service und Risiko. Um die Wirtschaftlichkeit zu maximieren, ist es wichtig, die Produktivität des DBATeams zu erhöhen. Ein erster Schritt ist hier oft der Einsatz von Tools, die Aufgaben über eine intuitive Benutzeroberfläche automatisieren. Bei den DBAs, die erfolgskritische Datenbanken verwalten, wird die Produktivität zumeist anhand der Anzahl der Datenbanken gemessen, die sie bei gleichzeitiger Aufrechterhaltung der Service-Level verwalten können. Service Von den Datenbanken wird grundsätzlich ein hoher Service erwartet. Dies wird von den Administrationsteams entweder stillschweigend vorausgesetzt oder in Service-Leveln formalisiert. Service-Level werden in der Regel vom Anwendungsteam definiert und an die Administratoren der einzelnen Ressourcen des Anwendungs-Stacks weitergegeben. Aufgrund der wichtigen Rolle, die die Datenbank für die Anwendung spielt, richtet sich der Service-Level, der dem DBA vorgegeben wird, nach der Bedeutung der Anwendung. Er wird für gewöhnlich in Form von Verfügbarkeit und Reaktionszeit gemessen. Risiko Aufgrund ihres – im Verhältnis zu den anderen Komponenten im Anwendungs-Stack – zentralen Charakters ist die Datenbank gegenüber Veränderungen sehr empfindlich. Und mit Veränderungen sind immer auch Risiken verbunden. Änderungen mit moderatem Risiko sind geringfügige, schrittweise Änderungen (z. B. Upgrades von Betriebssystemen, Datenbank-Patches und reguläre Wartungsaufgaben wie Backup, Datenarchivierung und Neustrukturierung von Objekten). Sind jedoch umfangreichere Änderungen erforderlich, ist das Risiko für die Daten- 2 bankstabilität ungemein höher. Mit größeren Upgrades der Serverhardware sind häufig Ausfallzeiten verbunden. Während Aktualisierungen des Anwendungscodes oder bei Upgrades auf eine neue Datenbankversion kommt das weitere Risiko hinzu, dass die Anwendungsleistung nach der Änderung langsamer sein kann als vorher. Ein Gleichgewicht zwischen diesen Faktoren zu schaffen, erfordert Intuition, gutes Urteilsvermögen und präzise, fehlerfreie Daten. Verständnis der neuen Herausforderungen der Datenbankadministratoren Anwendungssupport – der interne Kunde Bisher war es so, dass die Anwendungen die geschäftlichen Abläufe unterstützten und der IT-Betrieb wiederum die Anwendungen stützte. Technologische Fortschritte, wozu vor allem die allgemeine Ausdehnung des Internets beitrug, haben Anwendungen hervorgebracht, die sich direkt auf die Geschäftsentwicklung auswirken, Umsatz generieren und mit Kunden interagieren. Da diese Anwendungen für die Unternehmen so wichtig sind, entstand der Bedarf von dedizierten Support-Teams innerhalb der Anwendungsorganisation. Zu diesen Anwendungssupport-Teams gehören zuweilen auch dedizierte DBAs, meistens ähnelt diese Beziehung jedoch der eines internen Kunden, das heißt, hier bieten die DBAs innerhalb der für den operativen Betrieb zuständigen Organisation dem Anwendungsteam Level 3-Support an. In diesem Fall ist der DBA einzigartigen und oft widersprüchlichen Forderungen sowohl von der Betriebs- als auch der Anwendungsorganisation ausgesetzt. Die IT-Administratoren konzentrieren sich in der Regel auf die Ressourcen, die sie verwalten, während sich der Anwendungssupport um die Servicequalität kümmert. Aufgrund der zentralen Rolle der Datenbank innerhalb des Anwendungs-Stacks muss der DBA zum einen die Ressourcen effektiv verwalten und zum anderen darauf achten, dass die Servicequalität für die Anwendungsnutzer aufrechterhalten wird. Diese doppelte Verantwortung kann für den DBA der Produktionsumgebung eine große Herausforderung sein. Auch in der Information Technology Infrastructure Library (ITIL) wird dem Dilemma dieser Doppelrolle des DBAs Ausdruck verliehen. Sie ist auch hilfreich, will man Vorfall- und Problemmanagement vergleichen. Ziel des Vorfallmanagementlebenszyklus ist, den Service so schnell wie möglich wiederherzustellen, um die SLAs zu erfüllen. Schwerpunkt beim Problemmanagement ist es, die Ursache von Fehlern zu beheben und dauerhafte Lösungen zu finden – ein Prozess, bei dem eine korrekte Problemlösung Vorrang hat vor der Geschwindigkeit. Dieser Fokus auf der Problemlösung ist wichtig, um einen Zustand kontinuierlicher Verbesserungen zu erreichen, denn wenn das wiederholte Auftreten von Problemen verhindert werden kann, wirkt sich dies positiv auf die Service-Level aus. Verwalten komplexer Datenbankumgebungen Was spricht für mehrere Plattformen? Eine der größten Herausforderungen der IT-Organisationen von heute ist, dass sie die Komplexitäten von Umgebungen bewältigen müssen, die aus mehreren Betriebssystemen, Datenbanken und Anwendungen bestehen. Größere Unternehmen müssen diese Komplexität zudem über mehrere geo- grafische Regionen hinweg in den Griff bekommen. IT-Standards helfen dabei, die Fähigkeiten des Administrationsteams abzustimmen und die Betriebskosten zu senken. Wenn durch eine (neue oder vorhandene) Anwendung die Anforderung für Plattformen entsteht, die sich außerhalb des von der IT definierten Standards bewegen, wird der Standard für gewöhnlich angepasst. Eine empfohlene Vorgehensweise ist, Plattformen von mindestens zwei konkurrierenden Anbietern zu betreiben, um zu vermeiden, dass man bei Vertragsverhandlungen mit nur einem Anbieter in eine schlechte Position gerät. Durch die Konsolidierung von Anbietern lassen sich die Betriebskosten für die Verwaltung mehrerer Plattformen reduzieren. Wird diese Konsolidierung jedoch übertrieben, steigt dadurch die Preisgestaltungsmacht der übrigen Hersteller, was die Ersparnisse möglicherweise ganz zunichtemacht.1 Zur Kostenoptimierung ist es wichtig, die richtige Anzahl Anbieter zu finden. Die meisten Unternehmen, immerhin ganze 90 Prozent, verfügen über IT-Abteilungen, die mindestens zwei DBMS-Plattformen verwalten. Im Durchschnitt ist jeder DBA für ca. 35 Datenbanken verantwortlich.2 Anwendungsgruppen: Transaktionen und Service-Level Anwendungssupport Produktion DBA IT-Administratoren Betriebsgruppen: Ressourcenverwaltung und -selektion Abbildung 1: Der DBA der Produktionsumgebung muss Ressourcen verwalten und Service-Level überwachen. 1 5 Juli 2008 (ID-Nummer: G00159724), "How Many Database Management Systems 2 Should You Have?" von Donald Feinberg, Jeff Comport 2 3. Februar 2010, "Take Advantage of New Ways to Save Money on Database Costs" von 2 Noel Yuhanna 3 Durch die Konsolidierung von Anbietern lassen sich die Betriebskosten für die Verwaltung mehrerer Plattformen reduzieren. Wird diese Konsolidierung jedoch übertrieben, steigt dadurch die Preisgestaltungsmacht der übrigen Hersteller, was die Ersparnisse möglicherweise ganz zunichtemacht. Auswahl von Tools von Drittanbietern Viele Standorte führen Tools von vertrauenswürdigen Drittanbietern ein, weil diese eine objektive Messung und Verwaltung der Leistung über mehrere Datenbankplattformen ermöglichen. Lösungen von Drittanbietern sollen die Produktivität der DBAs steigern und die Kosten senken, zugleich aber auch für eine hohe Servicequalität sorgen. Spezielle Administrations- und Verwaltungstechnologie, die unabhängig von der Datenbankplattform ist, ermöglicht laut Forrester Research eine Produktivitätssteigerung von mindestens 20 Prozent.3 Dazu kommt noch die neu gewonnene Produktivität der DBAs, die Problemszenarien flexibel und präzise lösen können. Durch eine schnellere Behebung der Problemursachen können ihre Fähigkeiten dazu genutzt werden, Probleme zu verhindern, Ressourcen zu optimieren und die Reaktionszeiten für die Benutzer zu verbessern. Ganzheitliche Datenbanküberwachung – Wichtig ist eine einzige, konsolidierte Sicht auf die Integrität der Datenbank, um die Herausforderungen im Zusammenhang mit der Verwaltung mehrerer Datenbanksysteme zu bewältigen. Diese muss für mehrere Ebenen des Anwendungs- und Datenbank-Stacks möglich sein, um sicherzustellen, dass die den DBAs präsentierte Ansicht korrekt ist und die Workflows der Benutzer für die Problemlösung und -vermeidung sowie Leistungsoptimierung vereinfacht. Für eine ganzheitliche Überwachung bestehen folgende wichtige Anforderungen: 1.Einblicke in die Leistung jeder Komponente, die den Datenbankbetrieb unterbrechen könnte, einschließlich Betriebssystem und virtueller Maschinen. 2.Eine intuitive Benutzeroberfläche, die die Verwaltung plattformübergreifender Leistung unterstützt und die verschiedenen Kompetenzniveaus der Administratoren berücksichtigt. 3.Transparente Einblicke in die Transaktionsrechenlasten, die von den Anwendungsnutzern und -prozessen in die Datenbank gelangen. 4.Ausreichender Detailgrad, um ausführliche Analysen und Optimierungsaktivitäten zu ermöglichen. 5.Niedrige Gesamtbetriebskosten, insbesondere im Hinblick auf Bereitstellung und Upgrades. Umfassendes Leistungsspektrum – Die Datenbank hängt ressourcentechnisch vom Betriebssystem und den virtuellen Maschinen und ihren Speicher-Subsystemen ab. Diese Komponenten sollten mit abgedeckt sein, um die Ursache von Problemen exakt ermitteln zu können. Intuitive, plattformübergreifende Benutzeroberfläche – Der sichtbarste Aspekt des Vorteils, der durch Drittanbieter besteht, ist die Benutzeroberfläche. Zentraler Nutzen der Plattformneutralität ist eine Technologie, die die plattformspezifische Komplexität abstrahiert, sodass die Leistung aus Serviceperspektive angegangen werden kann. Durch eine plattformübergreifende Verwaltung wird die Produktivität der DBAs signifikant erhöht. Auch Schulungskosten können deutlich minimiert werden. Abbildung 2: Die Produktivität der DBAs wird direkt durch die Qualität der Benutzeroberfläche beeinflusst. 3 4 23. Februar 2010, "Take Advantage of New Ways to Save Money on Database Costs" von Noel Yuhanna Rechenlasten der Anwendungstransaktionen – Die Datenbank ist mit der Anwendung durch die Transaktionen verbunden, die an die Datenbank gesendet werden. Das Messen der Rechenlast der Datenbanktransaktionen ist die einzige Möglichkeit, die Servicequalität der Datenbank hinsichtlich Anwendungsnutzer, BatchJobs und automatisierter Aufgaben exakt auszuwerten. Detaillierte Messungen – Die Komplexität moderner Datenbanken und der kritischen Anwendungen, die sie unterstützen, erfordert eine raffiniertere Leistungsanalyse als dies durch die groben Kennzahlen der Datenbank-Engine selbst möglich ist. Die DBAs, die kontinuierliche Verbesserungen anstreben, müssen die Leistung lückenlos nachvollziehen können, um gute Entscheidungen zu treffen und zu vermeiden, dass neue Probleme entstehen, was bei fehlerbehafteten Daten immer möglich ist. Wirkliche Erkenntnisse herauszuziehen, erfordert eine intelligente Analyse der Leistungshistorie – von Echtzeitdaten bis hin zu Daten, die Wochen oder Monate älter geworden sind. Nur mithilfe ausreichender historischer Daten kann der DBA wichtige Trends ausmachen, chronische Bedingungen identifizieren und aufkommende Probleme verhindern. Reichhaltiges Datenmaterial ist eine Sache von Granularität. Bei der Überwachung wird das Stichprobenprinzip angewendet, um Metriken zu erfassen. Die Geschwindigkeit bei diesem Vorgang bestimmt also die Granularität. Ein zuverlässiges Überwachungstool sammelt Daten in einer Geschwindigkeit, die die Vitalität der gemessenen Komponente widerspiegelt, kann aber die Geschwindigkeit auch anpassen, um die Granularität bei Bedarf zu erhöhen oder zu verringern (z. B. bei Änderung des Ladevolumens oder während der Diagnose eines Problems). Der Sammlungsaufwand sollte minimal sein, um sicherzustellen, dass die Kosten für die Erfassung nicht den Nutzen der gesammelten Daten übersteigen. Dies ist auch ein wichtiger Aspekt bei der Evaluierung einer Überwachungstechnologie. Gesamtbetriebskosten – Technologie, die vor allem darauf ausgelegt ist, die Betriebskosten zu senken, muss niedrige Gesamtbetriebskosten (TCO) aufweisen. Folgende Komponenten einer Überwachungstechnologie sind wichtig, um verbesserte TCO zu erreichen: •Zentralisierte Architektur •Minimiert Bereitstellungs- und Upgrade-Kosten. •Befreit die Produktionsumgebung von Vorgängen im Zusammenhang mit Verwaltung, Speicherung und Darstellung. •Ermöglicht eine instanzen-, plattform- und domänenübergreifende Datenkorrelation und analysiert Leistungsdaten. Abbildung 3: Eine ausführliche Analyse des E/A von Datenbanken hilft, Problembereiche zu isolieren. 5 Ein zuverlässiges Überwachungsprogramm sammelt Daten in einer Geschwindigkeit, die die Vitalität der gemessenen Komponente widerspiegelt, kann aber die Geschwindigkeit auch anpassen, um die Granularität bei Bedarf zu erhöhen oder zu verringern. •Sammlung außerhalb der Produktion •Beschränkt die Kosten für das Sammeln von Daten auf den Aufwand nur für die Sammelabfrage. •Erleichtert die Bereitstellung und beschleunigt Upgrades, da nicht mehr auf den Produktionsserver zugegriffen werden muss. • Automatische Datenbankerkennung •Ermöglicht eine schnelle effektive Überwachung in großen Datenbankumgebungen, entlastet das DBA-Team, das nun nicht mehr jede Instanz einzeln angeben muss. • Adaptive Baseline-Warnungen •Nutzt den Leistungsverlauf, um einen Baseline-Bereich für eine "normale" Leistung für jede gesammelte Metrik zu erstellen. •Löst das Problem, dass feste Schwellenwerte nicht in der Lage sind, präzise Warnungen bereitzustellen, sodass sie sich auf den Schutz kritischer Ressourcenlimits konzentrieren können. •Meldet aufkommende Probleme als Abweichungen vom Normalverhalten sehr präzise und zeitnah. •Service-Level-Modellierung •Die Ausrichtung von Ressourcengruppen an einem definierten Service-Level ist eine wichtige Funktion eines Überwachungsprogramms, das dazu ausgelegt ist, die qualitativen Aspekte der Leistung zu messen und auszuwerten. •Einheitliche, plattformübergreifende Benutzeroberfläche • Senkt die Schulungskosten. •Beschleunigt die Problembehebung für DBAs mit unterschiedlichen Kenntnissen. Fazit Die für die Produktionsumgebung zuständigen DBA-Teams von heute müssen während ihrer Interaktionen mit der Datenbank Ressourcen effektiv verwalten und Transaktionen eingehend überwachen. Ein Überwachungstool, das diese Funktionen integriert und eine konsolidierte Sicht auf die Datenbankintegrität bietet, kann die Problembehebung erheblich beschleunigen und die Produktivität der DBAs erhöhen – und zugleich die Risiken im Griff behalten. Abbildung 4: Adaptives Baselining optimiert die Intelligenz, Genauigkeit und Aktualität von Warnmeldungen. 6 Weitere Informationen © 2013 Dell, Inc. Alle Rechte vorbehalten. Dieses Dokument enthält proprietäre, urheberrechtlich geschützte Informationen. Dieses Dokument darf ohne schriftliche Genehmigung von Dell, Inc. ("Dell") weder ganz noch in Teilen und zu keinem Zweck vervielfältigt und in keiner Art und Weise, sei es elektronisch oder mechanisch, einschließlich Fotokopie und Aufzeichnung, an Dritte weitergegeben werden. Dell, Dell Software, das Dell Software Logo und die in diesem Dokument erwähnten Dell Software Produkte sind eingetragene Marken von Dell, Inc. in den USA und/oder anderen Ländern. Alle anderen Marken und eingetragenen Marken sind Eigentum der jeweiligen Hersteller. Die Informationen in diesem Dokument beziehen sich auf Dell Produkte. Durch dieses Dokument bzw. im Zusammenhang mit dem Verkauf von Dell Produkten werden weder durch Rechtsverwirkung noch auf andere Weise ausdrückliche oder implizite Lizenzen auf geistige Eigentumsrechte gewährt. Sofern nicht anders in den Dell Geschäftsbedingungen der Lizenzvereinbarung für dieses Produkt festgelegt, Über Dell Dell Inc. (NASDAQ: DELL) entwickelt innovative Technologien, Business-Lösungen und Services, maßgeschneidert für die spezifischen Anforderungen unserer Kunden. Unsere Produkte garantieren starke Leistung und höchste Zuverlässigkeit. Weitere Informationen finden Sie unter www.dell.com. Sollten Sie Fragen hinsichtlich der potenziellen Nutzung des Materials haben, wenden Sie sich bitte an: Dell Software 5 Polaris Way Aliso Viejo, CA 92656 www.dell.com Informationen zu unseren regionalen oder internationalen Büros finden Sie auf unserer Webseite. WhitePaper_KeyMethods4Managing_PL_2013-04-03 übernimmt Dell keinerlei Haftung und lehnt jede ausdrückliche, implizite oder gesetzlich vorgeschriebene Gewährleistung hinsichtlich seiner Produkte ab, einschließlich, jedoch nicht beschränkt auf implizite Gewährleistung der handelsüblichen Qualität, Eignung für einen bestimmten Zweck und Nichtverletzung der Rechte Dritter. In keinem Fall übernimmt Dell außerdem die Haftung für Folgeschäden, Nebenschäden, Schadensersatzansprüche sowie direkte, indirekte oder besondere Schäden (einschließlich, jedoch nicht beschränkt auf Schäden aufgrund entgangener Gewinne, Betriebsunterbrechungen und des Verlusts von Informationen), die durch die Nutzung oder die Unfähigkeit zur Nutzung dieses Dokuments entstehen können. Dies gilt auch dann, wenn Dell über die Möglichkeit solcher Schäden unterrichtet wurde. Dell gewährt keine Zusicherung oder Gewährleistung hinsichtlich der Richtigkeit oder Vollständigkeit der Inhalte dieses Dokuments und behält sich das Recht vor, jederzeit ohne Vorankündigung Änderungen an den technischen Daten und Produktbeschreibungen vorzunehmen. Ferner schließt Dell jegliche Zusicherung bezüglich der Aktualisierung der Informationen in diesem Dokument aus.