MySQL Enterprise: Datenbank mit Überwachungs- und Supportleistungen für den professionellen Einsatz Maximale Sicherheit, Leistung und Verfügbarkeit mit den MySQL Enterprise Abonnementsdiensten
Januar 2009
Copyright © 2009, Sun Microsystems
Inhaltsverzeichnis Einleitung......................................................................................................................... 3 MySQL Enterprise – Datenbank. Überwachung. Support. .......................................... 3 MySQL Enterprise Server............................................................................................... 4 Monatliche Updates .......................................................................................................... 5 Vierteljährliche Service Packs........................................................................................... 5 Hotfix-Programm ............................................................................................................... 5 Haftungsfreistellung .......................................................................................................... 6 MySQL Enterprise Monitor mit Query Analyzer ........................................................... 6 Architektur – Auf Grundlage der Web-2.0-Technologie .................................................... 6 Enterprise Dashboard ....................................................................................................... 7 Automatische Ratgeber..................................................................................................... 8 Erweiterte Überwachung für die horizontale Skalierung ................................................... 9 Replikations-Monitor ....................................................................................................... 10 Query Analyzer – Anwendungs- und Anwendercode überwachen ................................. 10 Supportleistungen ........................................................................................................ 12 Online-Unterstützung zur Selbsthilfe............................................................................... 12 Unterstützung zur Problemlösung................................................................................... 12 Beratungsunterstützung .................................................................................................. 12 Fehlerbehebung per Fernwartung ................................................................................................. 13 Konfigurations- und Optimierungsleistungen................................................................................. 13 Überprüfung des Kundencodes ..................................................................................................... 13
Erweiterter Support für MySQL Hochverfügbarkeit und Skalierbarkeitslösungen........... 14 MySQL Replikation ........................................................................................................................ 14 Memcached für MySQL ................................................................................................................. 15 DRBD für MySQL........................................................................................................................... 15
MySQL Dienstleistungen.............................................................................................. 15 Anwenderberichte......................................................................................................... 15 PUMA – Betrieb und Ausbau eines Online-Shops ........................................................................ 16 Rechenzentrum der Finanzverwaltung Nordrhein-Westfalen........................................................ 17 Booking.com – Über 1 Millionen Kunden pro Tag ......................................................................... 17 iStockphoto – Eine der 100 größten US-Webseiten...................................................................... 18 The Associated Press – Transaktionsstarkes Nachrichtensystem................................................ 19
Schlussbetrachtung...................................................................................................... 19 Weitere Informationsquellen........................................................................................ 19 Über das MySQL Portfolio von Sun ............................................................................ 20
Copyright © 2009, Sun Microsystems
Seite 2
Einleitung Ob es um Erstellung und Support Ihrer kommerziellen Websites, um die Verbreitung von Unternehmensanwendungen oder um die Entwicklung moderner Kommunikationsnetzwerke geht: Die Technologien, die Sie für Ihr Unternehmen einsetzen, müssen auf einfache Weise anpassbar sein, damit Sie wettbewerbsfähig bleiben. In diesem Dokument betrachten wir, wie Sie MySQL - das „M" im LAMP-Stack – als Bestandteil einer innovativen und kosteneffizienten Plattform einsetzen können, die ideal für die Bereitstellung internetbasierter Anwendungen geeignet ist. Wir beleuchten einige der Herausforderungen, die mit der Erstellung und Unterstützung skalierbarer, datengestützter Online-Anwendungen mit quelloffenen Web-2.0Technologien verbunden sind und bieten einen detaillierten Überblick über MySQL Enterprise. Dieses Komplettpaket besteht aus Datenbank- und Überwachungssoftware sowie Supportleistungen, die zur Vereinfachung dieser Aufgaben konzipiert wurden. Die MySQL Enterprise Lösung, die von den professionellen Dienstleistungskapazitäten von Sun Microsystems unterstützt wird, wurde speziell dafür konzipiert, Einsatzrisken zu verringern und sicherzustellen, dass Sie die Dienstgütevereinbarungen (Service Level Agreements - SLAs) Ihrer Kunden und Endanwender einhalten können.
MySQL Enterprise – Datenbank. Überwachung. Support. Wenn Sie zurzeit MySQL einsetzen, dann ist es wahrscheinlich, dass Sie mit der CommunityVersion begonnen haben. In vielen Fällen wird MySQL zunächst im Rahmen eines Entwicklungsprojektes eingesetzt und findet dann, wenn die Anwendung produktiv wird, seinen Weg in das Rechenzentrum. Wenn diese Anwendungen entscheidend für den Ertrag des Unternehmens oder für wichtige Geschäftsfunktionen werden, sind besondere Anforderungen an die Einsatzbereitschaft der Datenbank zu sellten. Die größten Herausforderungen rund um MySQL und andere Open-Source-Technologien lassen sich mit folgenden Fragen zusammenfassen: • •
•
•
•
•
Wie können Sie sicherstellen, dass Sie mit der zuverlässigsten, sichersten und aktuellsten Version arbeiten? Woher wissen Sie: o Ob einer Ihrer Server oder eine Anwendungen ausgefallen ist? o Wann ein Synchronisierungs- oder Latenzproblem mit einem Repliaktionsmaster/Slave vorliegt? o Wenn etwas anderes die Leistung Ihrer Server beeinträchtigt? Wissen Sie: o Ob Ihre MySQL Server so konfiguriert sind, dass sie beim Wachsen Ihrer Daten- und Kundendatenbanken einfach erweitert werden können? o Wie die MySQL Variabeln eingestellt werden, damit Ihre Systeme Höchstleistungen erbringen? Wie können Sie: o Sicherheitsschwachstellen in Ihren MySQL Servern identifizieren? o Feststellen, ob Sicherheitsänderungen an Ihren MySQL Servern vorgenommen wurden? Wie können Sie: o Ihre Datenbankdesigns und -Abfragen optimieren, bevor Sie in produktive Umgebungen übergeben werden? o Sicherstellen, dass Ihre replizierten Server richtig konfiguriert sind, um Leistung und Skalierbarkeit bereitzustellen? o Ihren schlecht laufenden Anwender-/Anwendungs-SQL-Code überwachen und optimieren? Sind Sie bereit, Zeit zu investieren, um Geld zu sparen, oder möchten Sie lieber Geld ausgeben, um Zeit zu sparen?
Copyright © 2009, Sun Microsystems
Seite 3
MySQL Enterprise hilft Ihnen bei der zuverlässigen Beantwortung all dieser Fragen. MySQL Enterprise ist ein Abonnement aus Datenbank- und Überwachungssoftware mit zusätzlichen Supportleistungen für Unternehmen, die hochverfügbare, geschäftskritische Anwendungen und Dienstleistungen bereitstellen. MySQL Enterprise beinhaltet folgende Komponenten: MySQL Enterprise Server - die zuverlässigste, sicherste und aktuellste Version von MySQL, die eine kosteneffiziente Lösung für Folgendes bereitstellt: • Skalierbare Web-2.0- und Enterprise-2.0 Online-Anwendungen • OLTP-Anwendungen • Business-Intelligence- und Data-Warehousing-Implementierungen mit mehreren Terabyte Größe • Komplexe Kommunikationsnetzwerke • uvm. Der MySQL Enterprise Server wurde für hohe Leistung konzipiert und unterstützt sowohl „sichere" als auch ACID-konforme (Atomic, Consistent, Isolated, Durable) Transaktionen mit vollständigen Commit-, Rollback-, Crash Recovery- und Roll-Level-Locking-Fähigkeiten. MySQL Enterprise Monitor und Ratgeber mit Query Analyzer – eine verteilte Webanwendung, die innerhalb der sicheren Umgebung Ihrer Unternehmensfirewalls eingesetzt wird. Der MySQL Enterprise Monitor überwacht kontinuierlich alle Ihre MySQL Server und benachrichtigt Sie proaktiv bei potenziellen Problemen und Optimierungsmöglichkeiten, bevor sie zu kostspieligen Ausfällen führen. Er liefert Ihnen auch den Rat der MySQL Experten über die festgestellten Probleme, so dass Sie immer genau wissen, worauf Sie sich bei der Optimierung Ihrer MySQL Systeme konzentrieren sollten. MySQL Supportleistungen – MySQL Enterprise beinhaltet Supportleistungen für Ihre MySQL Server rund um die Uhr, 7 Tage die Woche, 365 Tage im Jahr. Sie helfen Ihnen sicherzustellen, dass Ihre geschäftskritischen Anwendungen kontinuierlich verfügbar sind und Spitzenleistungen erzielen. Zu den MySQL Supportleistungen gehören: • • •
•
Online-Unterstützung zur Selbsthilfe – Die Wissensdatenbank ist ein Werkzeug zur Selbsthilfe, das Ihnen Zugriff auf über 2.000 technische Artikel zu MySQL-spezifischen Themen erlaubt und dabei hilft, Fragen zu beantworten und Probleme zu lösen. Unterstützung zur Problemlösung - Erlaubt die direkte Zusammenarbeit mit dem MySQL Supportteam per Telefon, E-Mail oder online zur schnellen Lösung technischer Probleme. Beratungsunterstützung – Ermöglicht die Zusammenarbeit mit den MySQL Technikern für ordnungsgemäße Installation, Konfiguration und Implementierung von MySQL und seiner erweiterten Funktionssätze im Hinblick auf die optimalen Verfahren für Design und Optimierung von Datenbankdesign, Abfragen und anwendungsspezifischem Code. Erweiterte Unterstützung für MySQL Hochverfügbarkeits- und Skalierbarkeitslösungen – MySQL Enterprise beinhaltet vollständige Unterstützung für zusätzliche MySQL Funktionen und Lösungen Dritter zur Skalierung von Verfügbarkeit und Leistung Ihrer Online-Anwendungen.
Im Rest dieses Dokuments beschreiben wir ausführlich jede dieser Komponenten. Es beinhaltet außerdem Beispiele aus der Praxis, wie MySQL Kunden das MySQL Enterprise Abonnement nutzen können, um ihre Kosten zu senken und ihre Anwendungen bei wachsenden Geschäften zu skalieren.
MySQL Enterprise Server Wie bereits erwähnt ist der MySQL Enterprise Server die zuverlässigste, sicherste und aktuellste Version von MySQL. Funktional ist der MySQL Enterprise Server identisch mit dem MySQL Community Server. MySQL Enterprise bietet jedoch darüber hinaus einen Mehrwert in Form von Update-Diensten:
Copyright © 2009, Sun Microsystems
Seite 4
• • •
Monatliche Updates Vierteljährliche Service-Packs Hotfix-Programm
Monatliche Updates Die monatlichen Updates beinhalten die aktuellsten Fehlerbehebungen (im Quell- und Binärformat) für den MySQL Enterprise Server. Sie werden zu regelmäßigen, zuvor bestimmten Zeitpunkten veröffentlicht und umfassen auch die Fehlerbehebungen, die in allen vorherigen Updates enthalten waren. Hinweis: Auch wenn die monatlichen Updates als stabil und produktionsbereit gelten, raten wir Ihnen jedoch, nur dann eine Standardisierung mit dem aktuellsten Update durchzuführen, wenn sie eine Fehlerbehebung enthält, die für Sie relevant ist. Wir möchten Sie bitten, vor Installation eines Upgrades die Release-Hinweise für die entsprechende Update-Version zu lesen, um auf diese Weise sicherzustellen, dass damit auch tatsächlich ein bestimmtes Problem in Ihrer Umgebung behoben wird.
Vierteljährliche Service Packs Die vierteljährlichen Servic Packs beinhalten das umfangreichste Fehlerbehebungspaket für den MySQL Enterprise Server (auch hier wieder im Quell- und Binärformat). Auch diese Pakete werden regelmäßig und zu bestimmten Terminen veröffentlicht. Sie beinhalten eine Zusammenstellung der Fehlerbehebungen, die in den früheren monatlichen Updates enthalten waren, plus alle zusätzlichen Bereinigungen des aktuellen Updates. Hinweis: Wir empfehlen Ihnen die Service Packs für neue MySQL Installationen oder dann, wenn Sie reguläre Updates durchführen. Genau wie bei den monatlichen Updates möchten wir Sie bitten, die Release-Hinweise für die entsprechenden Service Packs zu lesen um sicherzustellen, dass dieses auch tatsächlich die speziellen Probleme behebt, mit denen Sie es zu tun haben. Auch hier raten wir Ihnen nur dann eine Standardisierung mit einem bestimmten Service Pack und eine Aktualisierung Ihres Produktivsystems durchzuführen, wenn es wirklich notwendig ist. In den Community Server fließen die Fehlerbehebungen zu einem späteren Zeitpunkt ein, diese werden jedoch zu weniger vorhersehbaren Terminen bereitgestellt und in Form von vierteljährlichen Quell-Versionen und halbjährlichen Binär-Versionen geliefert.
Abbildung 1: MySQL Enterprise Server vs. Community Server – Bereitstellung von Service Packs/neuen Releases
Hotfix-Programm Mit dem Hotfix-Programm von MySQL Enterprise können Abonnenten, die in ihrer Produktivumgebung ein kritisches haben oder einen Ausfall erleben, mit den MySQL Supportund Entwicklerteams an einer Lösung arbeiten, die außerhalb der regelmäßigen Updates und Service Packs zu einer Fehlerbehebung führt. Alle Hotfixes sind in den folgenden Updates und Service Packs enthalten und werden auch solchen Abonnenten zur Verfügung gestellt, die Copyright © 2009, Sun Microsystems
Seite 5
Supportfälle für bereits behobene Fehler öffnen. Wie bei den Updates und Service Packs werden die Hotfixes im Quell- und Binärformat bereitgestellt.
Haftungsfreistellung MySQL Enterprise schützt Ihre Verwendung des MySQL Enterprise Servers bei Verletzungen gewerblicher Schutzrechte Dritter. Wir verstehen, dass Unternehmen oft Bedenken hinsichtlich Verletzung der gewerblichen Schutzrechte Dritter haben, bevor sie sich für den Einsatz einer Software für ihre geschäftskritischen Unternehmensanwendungen und umsatzgenerierenden Produktlinien entscheiden. Wir sind der Meinung, dass die Integrität des Softwarecodes ein wertvolles Gut ist. Aus diesem Grund wurde das MySQL Haftungsfreistellungsprogramm entwickelt, um diese Bedenken zu senken und deren potenzielles Risiko im unwahrscheinlichen Fall einer Inanspruchnahme bei Verletzung von Rechten Dritter zu minimieren. Die Enterprise Server Datenbanksoftware, die Aktualisierungsdienste und die Haftungsfreistellung wurden alle dazu konzipiert, Ihnen und Ihren DBA-Mitarbeitern Zeit (und Geld) zu sparen: Durch Erkennung, mit welcher Versionen des MySQL Servers Sie arbeiten sollten, Vermeidung langer Antwortzeiten und kostspieliger Ausfälle mit zeitlich festgelegten Wartungs-Versionen und Schutz Ihrer Implementierung vor ungerechtfertigten Forderungen im Hinblick auf das Schutz- und Urheberrecht.
MySQL Enterprise Monitor mit Query Analyzer Eine der größten Herausforderungen bei der Entwicklung und Unterstützung von Anwendungen auf Grundlage von MySQL liegt darin begründet, dass MySQL dazu neigt, sich im Laufe der Zeit immer schneller zu verbreiten, insbesondere dann, wenn MySQL als Bestandteil einer horizontalen Skalierungsstrategie eingesetzt wird. Eine kürzlich durchgeführte Befragung unter MySQL Anwendern zeigte, dass ein durchschnittlicher DBA 5 - 10 physische MySQL Server unterstützt. In der gleichen Befragung wurde deutlich, dass bei der Nutzung der MySQL Replikation zur Skalierung stark frequentierter Webanwendungen durchschnittlich alle 2 Monate ein neuer Lese-Slave zur Topologie hinzugefügt wird. Um die Verwaltung von MySQL mit weniger Zeitaufwand und Mühe zu vereinfachen, beinhaltet MySQL Enterprise den MySQL Enterprise Monitor. Dieser läuft vollständig innerhalb Ihres Rechenzentrums und fungiert wie ein „virtueller DBA“-Assistent, der Ihre Datenbankadministratoren dabei unterstützt, Ihre MySQL Server mit höchster Sicherheit, Leistung und Verfügbarkeit zu betreiben. Der MySQL Enterprise Monitor überwacht Ihre MySQL Systeme proaktiv und liefert fachmännische Ratschläge, die es sogar MySQL Einsteigern ermöglichen, Sicherheitsschwachstellen zu beheben, Code zu optimieren sowie Probleme zu erkennen und zu beheben, bevor sie zu ernsthaften Störungen oder kostspieligen Ausfällen führen.
Architektur – Auf Grundlage der Web-2.0-Technologie Der MySQL Enterprise Monitor ist eine verteilte Webanwendung, die üblicherweise innerhalb der sicheren Umgebung Ihrer Unternehmens-Firewalls installiert wird. Er besteht aus drei Hauptkomponenten: • einem kleinen Serviceagenten, der für jeden Ihrer überwachten MySQL Server eingesetzt wird, um MySQL- und betriebssystemspezifische Metriken und Abfrageaktivitäten zu sammeln, • einem zentralen Service Manager, der die gesammelten Daten und den SQL-Code speichert und auswertet sowie • einem webfähigen Enterprise Dashboard, das als Portal für den MySQL Enterprise Monitor dient. Die Architektur des MySQL Enterprise Monitors und jeder seiner Komponenten ist in Abbildung 2 dargestellt:
Copyright © 2009, Sun Microsystems
Seite 6
Rechenzentrum Service Agent - in C geschrieben und unterstützt alle MySQL Enterprise Plattformen Service Manager - in Java Servlets als Webdienst geschrieben. Unterstützt Linux, Solaris, Mac OS X und Microsoft Windows Enterprise Dashboard - webbasiert, in JSP geschrieben Repository – hält historische Leistungsdaten für Analysezwecke bereit
• Konfiguration • Ratgeber-Zeitplanung • Warnhinweise • visuelle Überwachung • Abfrageanalyse
Individuelle Server mit Agent
Service Manager Sammelt MySQL- und betriebssystemspezifische Metriken, Abfrageinhalte/Statistiken
Enterprise Dashboard
Master-Slave Replikation
• Ratgeberüberwachung • SQL-/Abfrageüberwachung • Ereignisbasierte Warnungen • Rat/Korrekturmaßnahme Hält historische MySQL- und Betriebssystemdaten sowie Abfragestatistiken bereit
Repository
Abbildung 2: Architektur des MySQL Enterprise Monitor
Enterprise Dashboard Zu den größten Herausforderungen der MySQL Datenbankadministratoren gehört die Handhabung von Skalierbarkeit und Performanz einer ständig wachsenden Anzahl von MySQL Servern und Datenbanken. Unabhängig von der Größe Ihrer MySQL Umgebung erfordert jeder Server besondere Beachtung im Hinblick auf grundlegende Verwaltung, Sicherheit, Leistungsüberwachung und Verfügbarkeit. Dynamische, replizierte Umgebungen müssen dokumentiert werden, um die aktuellen Master/Slave-Beziehungen festzuhalten, wenn bei einer horizontalen Skalierung neue Kapazitäten hinzugefügt werden. Auf diese Weise können Sie Ihre Systeme hinsichtlich skalierungsbedingter Latenzprobleme überwachen. Um Ihnen einen proaktiven Vorteil in all diesen Bereichen zu verleihen gibt es im MySQL Enterprise Monitor das Enterprise Dashboard. Mit dem MySQL Enterprise Dashboard können Sie MySQL und betriebssystemspezifische Metriken für einzelne Server oder vollständige Anwendungsgruppen überwachen und schnell feststellen, wo Sie es mit echten und potenziellen Leistungsproblemen zu tun haben. Das MySQL Enterprise Dashboard wurde so konzipiert, dass es Ihnen einen einfachen Einblick in die vollständige Sicherheit, Verfügbarkeit und Leistung all Ihrer MySQL Server ermöglicht, alles ausgehend von einem einzigen Punkt, von einer browserbasierten Oberfläche. Das MySQL Enterprise Dashboard ist in Abbildung 3 dargestellt:
Copyright © 2009, Sun Microsystems
Seite 7
Abbildung 3: MySQL Enterprise Dashboard
Automatische Ratgeber Der MySQL Enterprise Monitor unterscheidet sich von traditionellen Überwachungswerkzeugen, indem er proaktiv und nicht reaktiv überwacht, dafür sorgt, dass die von MySQL empfohlenen optimalen Verfahren für Skalierbarkeit und Leistung eingehalten werden und Ihnen fachmännische Ratschläge bietet, wie Probleme behoben und Ihre MySQL Installation und Anwendung optimiert werden können, um so bestmögliche Leistung und Skalierbarkeit zu erzielen. Hierzu stellt der MySQL Enterprise Monitor ein Paket aus intelligenten, automatischen MySQL Ratgebern bereit, die dazu verwendet werden, MySQL und Betriebssystemmetriken zu überwachen und Ihre IT-Mitarbeiter über Abweichung von den empfohlenen Werten und Verfahren zu informieren. Der MySQL Enterprise Monitor wird mit den folgenden Ratgebern ausgeliefert: Verwaltung • Ratschläge zu optimalen Konfigurationsund Variableneinstellungen • Stellt Wiederherstellung sicher
Sicherheit • Überwachung und Ratschläge bezüglich sicherheitsrelevanter Änderungen • Deckt Sicherheitsschwachstellen auf
Speicher nutzung
Replikation • Überwachung und Ratschläge bezüglich Master/Slave-Latenzproblemen • Vorschläge zur Optimierung des Replikations-Aufbaus
• Überwacht optimale Speicher/Cache-Nutzung • Ratschläge zur Optimierung der Einstellungen, um Leistung zu verbessern
Upgrade • Überwachung und Ratschläge zu Fehlern, die die aktuelle Installation beeinträchtigen • Bietet Update-Pfade zu den monatlichen und vierteljährl. Updates
Schema • Überwachung und Ratschläge bezüglich ungeplanter Schemaänderungen • Deckt Sicherheitsschwachstellen auf
Kundenspez. • Von DBAs erstellt, um unternehmenseigene Vorgehensweisen umzusetzen • Erstellung neuer oder Anpassung bestehender Regeln
Leistung • Überwachung und Ratschläge bezüglich optimaler VariablenEinstellungen • Identifiziert mögliche Performanz-Engpässe
Abbildung 4: MySQL Enterprise Ratgeber
Copyright © 2009, Sun Microsystems
Seite 8
• • •
• • • • •
Verwaltungsratgeber – Überwacht und berät zu Problemen hinsichtlich allgemeiner Konfigurationseinstellungen zu Datenbankverwaltung, Wiederherstellung und Leistung. Sicherheitsratgeber – Überwacht und berät über das Beheben von Sicherheitsschwachstellen im MySQL Server. Aktualisierungsratgeber – Überwacht und berät zu Fehlern, die MySQL Versionen innerhalb einer Umgebung potenziell beeinträchtigen können. Berät zum besonderen Aktualisierungspfad einer Version von MySQL, die eine Behebung für identifizierte Fehler bereitstellt. Benutzerdefinierter Ratgeber – Ermöglicht die Definitierung optimaler Verfahren zur Erfüllung besonderer Anforderungen oder der Support-Richtlinien Ihres Unternehmens. Replikations-Ratgeber – Überwacht und berät zu Problemen hinsichtlich Replikationseinrichtung, Synchronisierung oder Leistung. Speichernutzungsratgeber – Überwacht und berät zur optimalen Speichernutzung oder Cacheeinstellung für bestimmte MySQL Implementierungen. Schema-Ratgeber – Überwacht und berät zu unerwarteten Änderungen von Datenbankschema und -objekten. Leistungsratgeber – Überwacht und berät bei steigender Zahl der Anwender und Arbeitslast bezüglich der Optimierung von MySQL Leistungsvariablen.
Jeder MySQL Ratgeber wurde entwickelt, um spezielle „Problembereiche" für den DBA abzudecken und besteht aus einer Reihe von MySQL Ratgeberregeln, die Sie proaktiv dabei unterstützen, Probleme und Optimierungsmöglichkeiten zu finden, die Sie aufgrund von mangelnder Zeit oder fehlendem Wissen nicht selbst hätten erkennen können. Der MySQL Enterprise Monitor setzt mehr als 120 Ratgeberregeln ein, die über 600 spezielle MySQL und Betriebssystemmetriken überwachen und Sie auf diese Weise proaktiv über Probleme oder Optimierungsmöglichkeiten informieren und beraten, bevor sie sich negativ auf Skalierbarkeit und Leistung einer geschäftskritischen Anwendung auswirken. Alle Ratgeber und Regeln können mit benutzerdefinierten Grenzwerten, Warnmeldungen und SMTP- oder SNMPaktivierten Benachrichtigungen konfiguriert werden. DBAs können somit die erhaltenen Informationen und Warnungen, die Sie auf Grundlage anwendungsspezifischer kritischer Zustände erhalten, gemäß ihrer Bedeutung einstufen. Die Ratgeberregeln von MySQL Enterprise sparen Ihnen direkt von Anfang an Zeit! Sie müssen keine benutzerdefinierten Skripte mehr schreiben, testen, warten, versionieren und planen, um diesen Bereich abzudecken. In den meisten Fällen können die MySQL Ratgeber in weniger als 30 Minuten (Durchschnitt für typische MySQL Installationen) heruntergeladen, installiert und eingerichtetwerden, um dann alle MySQL Server im Rechenzentrum zu überwachen. Falls Sie zusätzlichen Überwachungsbedarf haben, können die MySQL Ratgeber mit benutzerdefinierten Ratgeberregeln erweitert werden, die bestehende Metriken überwachen oder die vom MySQL Server gesammelt werden sollen. Die von MySQL bereitgestellten Ratgeberregeln lassen sich einfach kopieren und anpassen, so dass Sie die individuellen Anforderungen Ihres Unternehmens besser erfüllen können. Mithilfe der von MySQL gelieferten Vorlagen sowie der Variablen und Zähler für MySQL und das Betriebssystem, die vom MySQL Enterprise Monitor gesammelt werden, können Sie darüber hinaus eigene Regeln oder bewertende Ausdrücke von Grund auf neu erstellen. Es lassen sich auch benutzerdefinierte Problembeschreibungen, erforderliche Benachrichtigungen, besondere Maßnahmen und Links auf interne, unternehmenseigene Dokumente oder Standardvorgehensweisen hinzufügen.
Erweiterte Überwachung für die horizontale Skalierung Mit der MySQL Replikation können Unternehmen MySQL noch besser skalieren. Die Verwaltung von MySQL in einer solchen Umgebung stellte schon immer eine Herausforderung dar, insbesondere im Hinblick auf die Dokumentation von Slaves, die bei wachsenden Leselasten hinzugefügt werden. Das gleiche gilt für die Überwachung der daraus resultierenden hierarchischen Master-/Slave-Beziehungen. Dies ist ein häufiges Problem für DBAs und kann das Ergebnis mehrerer Faktoren sein: • •
MySQL Replikations-Topologien sind oft nicht dokumentiert, oder die bestehende Dokumentation wird nicht mit Hierarchieänderungen und Ergänzungen aktualisiert. Für die horizontale Skalierung können lesende Slaves ganz einfach zu einer bestehenden Replikations-Topologie hinzugefügt werden, um Nachfrage und SLAs zu erfüllen. In diesem
Copyright © 2009, Sun Microsystems
Seite 9
• •
Szenario ist eine Statusüberprüfung neuer Slaves immer nur so gut wie die letzte Aktualisierung des dokumentierten Topologieinventars. Slaves werden häufig zu Mastern, um Master/Slave-Synchronisierungsfehler zu beheben. DBAs, die MySQL oder eine bestehende MySQL Replikations-Topologie noch nicht so gut kennen, verstehen unter Umständen die Hierarchien nicht, mit denen sie es plötzlich zu tun haben, und müssen oft zunächst viel Zeit darauf verwenden, Informationen über die bestehenden Beziehungen zu sammeln.
Das Enterprise Dashboard macht die horizontale Skalierung mit der MySQL Replikation einfacher, denn es bietet weit und breit die beste automatische Erkennung, Gruppierung, Dokumentatierung und Überwachung für alle hierarchischen MySQL Master-/SlaveReplikations-Beziehungen. Änderungen und Ergänzungen zu bestehenden ReplikationsTopologien werden automatisch erkannt und gepflegt; die DBAs erhalten sofort einen Überblick über neu implementierte Updates. Dies hilft, die Lernkurve der DBAs zu verkürzen, die die MySQL Replikation oder bestimmte Scale-Out-Umgebungen noch nicht so gut kennen.
Replikations-Monitor Das Enterprise Dashboard beinhaltet den Replikations-Monitor, der eine zusammenfassende Echtzeitübersicht über Systemintegrität, Performanz und Verfügbarkeit all Ihrer Master-/SlaveTopologien bereitstellt. Der Replikations-Monitor arbeitet mit den Ratgeberregeln für die Replikation und hilft Ihnen dabei, Probleme in Bezug auf Replikation und Skalierbarkeit proaktiv zu identifizieren und beheben, bevor sie zu kostspieligen Ausfällen führen. Der ReplikationsMonitor identifiziert ein Problem und versendet eine Warnmeldung, so dass Sie die Warnungsmitteilung gemeinsam mit dem Replikations-Monitor nutzen können, um sich den Status des betroffenen Masters und/oder Slaves genauer anzusehen. Mit dem ReplikationsMonitor und den fachmännischen Ratschlägen des Replikations-Ratgebers können Sie den aktuellen Status von Master/Slave überprüfen und die Metriken betrachten (wie Slave E/A, Slave SQL-Thread, Seconds behind Master, Master Binlog Position, letzter Fehler etc.), die für Diagnose und Problembehebung wichtig sind. Der Replikations-Monitor wurde entwickelt und implementiert, um Ihnen Zeit beim Schreiben und Pflegen von Skripten zu sparen, die derartige MySQL Replikations-Status- und -Diagnosedaten sammeln, konsolidieren und überwachen.
Abbildung 5 – MySQL Enterprise Replikations-Monitor
Query Analyzer – Anwendungs- und Anwendercode überwachen Die meisten DBAs und Entwickler wissen, dass schlecht geschriebener SQL-Code Auswirkungen auf Anwendungsleistung und Durchsatz haben kann. Auch Code, der innerhalb von Entwicklungs- und Testszenarien gute Leistung erbracht hat, kann in produktiven Umgebungen schlechte Leistungen erzielen. Trotz Ihrer besten Bemühungen können Verbessern und Optimieren der Datenbank nicht dabei helfen, Leistungsprobleme zu beheben, die durch schlecht geschriebenen Code entstanden sind. Vor der Einführung des MySQL Copyright © 2009, Sun Microsystems
Seite 10
Enterprise Monitor Query Analyzers war es eine große Herausforderung, genau den SQL-Code ausfindig zu machen, der zu einer Verlangsamung führte, die Schwachstellen schnell zu diagnostizieren und die betroffene Anwendung wieder zu Höchstleistungen zu bringen.
Der MySQL Enterprise Monitor Query Analyzer hilft Ihnen dabei, diese Herausforderung zu bewältigen, indem er Ihnen erweiterte Funktionalitäten bereitstellt: • • •
• •
Proaktives Sammeln und Identifizierung von problematischem SQL-Code Blättern/Analyse durch vergangene Abfragen auf allen Servern Gruppierte Auflistungen aller Abfragen in allgemeiner Form (ohne variable Werte) mit Gesamtausführungen, Gesamtausführungszeit, Gesamtdatengröße und Datum/Uhrzeit des erstmaligen Auftretens Vollständig qualifizierte Darstellung derjenigen Befehle, die die schlechteste Performanz aufweisen Eine fundierte Untersuchung von Abfragedetails, der Anzahl der Ausführungen, der Ausführungsstatistiken sowie einen visuellen EXPLAIN-Plan.
Abbildung 6: Abfrage-Analyse
Durch Verwendung des Query Analyzers können Sie: • Ihren SQL-Code optimieren, bevor er produktiv genutzt wird • Schnell Abfragen identifizieren, die den Durchsatz Ihrer Scale-Out-Umgebungen negativ beeinflussen • sortiert nach Abfrageart, Inhalt, Server oder Anwender • Nachdem der problematische Code einmal aufgetreten ist, können Sie: • ein EXPLAIN-Ergebnis ansehen, um den aktuellen Zugriffspfad und die Indexverwendung zu bestimmen und den störenden Code für eine bessere Leistung zu optimieren Zusätzlich zum oben erwähnten Nutzen durch Code-Überwachung und Diagnose bietet der MySQL Enterprise Monitor Query Analyzer folgende Vorteile: • • • • •
Er teilt sich gemeinsame Kernkomponenten mit anderen Lösungen für Skalierbarkeit und Leistung von MySQL Enterprise Er fügt nur geringe Zusatzlast zu Ihren überwachten Umgebungen hinzu Er kann auf einem Web-/Anwendungsserver oder auf einem Stand-Alone-Server laufen Er wird vollständig durch den MySQL Support unterstützt Er ist Bestandteil des MySQL Enterprise Gold oder Platinium Abonnements
Copyright © 2009, Sun Microsystems
Seite 11
Supportleistungen Ein MySQL Enterprise Abonnement beinhaltet 24x7 Support, 7 Tage die Woche, das ganze Jahr hindurch, die Ihnen dabei helfen, die kontinuierliche Verfügbarkeit für Ihre Dienstgütevereinbarungen bereitzustellen, die Sie für Ihre Kunden und Endanwender benötigen. Dieser Service reicht von grundlegenden Informationsquellen zur Selbsthilfe bis hin zu extrem komplexen, detaillierten Analysen der Komponenten Ihrer individuellen MySQL Umgebung. Zu den MySQL Enterprise Supportleistungen zählen: • • • •
Online-Unterstützung zur Selbsthilfe Unterstützung zur Problemlösung Beratungsunterstützung Erweiterter Support für Hochverfügbarkeit und Skalierbarkeitslösungen
Online-Unterstützung zur Selbsthilfe Bei weniger kritischen Problemen oder wenn Sie es mit entwicklungsbezogenen Problemen zu tun haben, können Sie unabhängig arbeiten, bevor Sie MySQL für einen erweiterten Support kontaktieren. Diese Unterstützung zur Selbsthilfe wurde konzipiert, um Ihnen schnell die benötigten Antworten zu verschaffen, alles ausgehend von einer konsolidierten, einfach zu verwendenden Ressource. Deshalb stellt MySQL Enterprise eine umfangreiche Wissensbibliothek bereit, die mehr als 2.000 technische Artikel über die optimale Verwendung von MySQL enthält; alle von MySQL Technikern geschrieben und überprüft. Von der grundlegenden Verwaltung von MyISAM und InnoDB bis hin zu komplexen Themen wie erweiterte Datenbankentwicklung, Leistungsoptimierung, Replikation, MySQL Cluster, Aktualisierung auf neue MySQL Versionen MySQL und die Migration von anderen RDBMSPlattformen nach MySQL, dient diese Wissensdatenbank selbst für erfahrene MySQL DBAs als lesitungsstarkes Werkzeug zur Selbsthilfe. Der gesamte Inhalt ist in Kategorien untergliedert, indiziert und durchsuchbar, so dass sich Informationen über die für Sie interessanten Themen ganz einfach anhand von partiellen oder vollständigen Suchstrings auffinden lassen. Darüber hinaus beinhaltet jeder Artikel praktische Beispiele und Codemuster, die modifiziert und in eine laufende MySQL Datenbank implementiert werden können. Es werden regelmäßig neue Artikel zur Wissensdatenbank hinzugefügt, so dass auch Abonnenten mit den aktuellsten MySQL Versionen immer Artikel für Ihre Installationen finden können.
Unterstützung zur Problemlösung Für komplexere Probleme oder solche, welche den Produktiveinsatz beeinträchtigen, können Sie MySQL zur Soforthilfe über E-Mail oder Telefon kontaktieren. Mit dieser Supportstufe haben Sie rund um die Uhr direkten Zugriff auf das MySQL Supportteam, unabhängig von der Zeitzone, in der Sie sich befinden. Anders als viele technische Supportorganisationen besteht das MySQL Supportteam aus erfahrenen Datenbankprofis, welche die Probleme und Herausforderungen der DBAs und Entwickler kennen, denn viele von ihnen haben dieselben Probleme bereits selbst beheben müssen. Die MySQL Supporttechniker wissen, dass Sie Ihre Selbsthilfemöglichkeiten wahrscheinlich ausgeschöpft haben, wenn Sie bei einem Problem um Hilfe bitten, und bemühen sich tatkräftig, schnell Unterstützung zu bieten. Oft können sie schon innerhalb von 30 Minuten nach der ursprünglichen Fehlermeldung Korrekturen oder Übergangslösungen bereitstellen. Dieses Fachwissen und Engagement hilft Ihnen dabei sicherzustellen, dass Ihre MySQL Systeme immer maximale Betriebszeit und Verfügbarkeit aufweisen.
Beratungsunterstützung In den höheren Leistungsstufen beinhaltet MySQL Enterprise eine Beratungsunterstützung. Diese wird als optionale Erweiterung der standardmäßigen Unterstützung zur Problemlösung angeboten und ist speziell dafür bestimmt, Ihnen den notwendingen Einblick und das Fachwissen über MySQL zu vermitteln, mit dem Sie sicherstellen, dass Ihre Systeme so Copyright © 2009, Sun Microsystems
Seite 12
implementiert und gewartet werden, dass sie nicht nur funktionieren, sondern dabei auch noch gute Leistungen erbringen. Die MySQL Beratungsunterstützung beauftragt das MySQL Supportteam, Sie und Ihre Entwicklungsteams hinsichtlich der optimalen Konfigurationen von MySQL und dem idealen Code- und Objektdesign unter Berücksichtigung der von MySQL empfohlenen optimalen Verfahren zu unterstützen. Idealer Weise läuft diese Unterstützung proaktiv ab, beginnt beim Projektart und wird während der Implementierung fortgesetzt. In Notfallsituationen können die Supporttechniker von MySQL autorisiert werden, über Fernwartung eine Verbindung mit einer MySQL Instanz herzustellen und MySQL Konfiguration, Datenbankcode und -Design zu analysieren um festzustellen, wie ein Ausfall oder mangelhafte Leistung am besten behoben werden können. Die Beratungsunterstützung besteht aus folgenden Kategorien: Fehlerbehebung per Fernwartung Bei Vergabe entsprechender Rechte stellen die MySQL Supporttechniker eine Verbindung zu einer entfernten MySQL Instanz her, um auf diese Weise eine die Installation oder Konfiguration einer speziellen MySQL Instanz vorzunehmen oder um wichtige Metriken von MySQL und des Betriebssystems zu analysieren, um die Ursache eines bestimmten Problems zu finden. Dadurch ist das MySQL Supportteam in der Lage, interaktiv mit Ihnen zusammenzuarbeiten, schnell Probleme zu identifizieren und die Schwachstellen in kürzester Zeit zu beheben. Konfigurations- und Optimierungsleistungen Von allen Faktoren, die sich auf die Leistung einer Datenbank auswirken, sind die grundlegenden, Designprinzipien entsprechend der optimalen Verfahren von größter Bedeutung. Code und Objekte, die vor der Implementierung im Hinblick auf bestmögliche Leistung eingestellt und optimiert werden, helfen dabei sicherzustellen, dass die Anwendung die wichtigsten Geschäftsfunktionen auch tatsächlich unterstützt. Selbst bei einem guten Datenbankdesign kann es jedoch zu Leistungsabfällen kommen, wenn im Laufe der Zeit Änderungen an der Anwendung und am Code auf Objektebene vorgenommen werden. Einige der schwierigsten leistungsbezogenen Probleme bei der Diagnose und Korrektur betreffen häufig Systeme, die einmal Bestleistungen erbracht haben, inzwischen aber weniger gute Antwortzeiten für die Anwender aufweisen. Aus diesem Grund stellt die MySQL Beratungsunterstützung verschiedene leistungsbezogene Optimierungsund Überprüfungsmöglichkeiten bereit: Leistungsoptimierung Das MySQL Supportteam hat viel Erfahrung mit der Implementierung optimaler Verfahren, der Problemlösung und des optimalen Einsatzes von MySQL und ist gut gerüstet, um auch den erfahrendsten DBA über alle Aspekte der Leistungsoptimierung zu beraten. Die Ratschläge erfolgen zu bestimmten MySQL Konfigurationseinstellungen, zur Hardwareauswahl und zu Abfragedesigntechniken, die Sie schnell implementieren können, um Engpässe zu minimieren und die Leistung Ihrer MySQL Server erheblich zu verbessern. Abfrageüberprüfung Als Erweiterung der Leistungsoptimierung analysieren die MySQL Supporttechniker speziell die Abfrageleistungen anhand der Ergebnisse von Explain-Befehlen, Zugriffspfaden usw., um so die optimale Verwendung von Indizes, Joins, Unterabfragen oder sogar geändertem Code zu bestimmen und sicherzustellen, dass dynamische oder gespeicherte Abfragen so optimiert sind, dass sie die bestmögliche Leistung erzielen. Schema-Überprüfung Die MySQL Supporttechniker überprüfen, wie bestimmte Tabellen in einer MySQL Datenbank verwendet werden und bestimmen so das korrekte Design und die optimale Definition von Indizes, spaltenspezifischen Datentypen, Speicher-Engine und Datenzusammensetzung. Hierzu gehört auch eine Überprüfung der relationalen Aspekte von Tabellenschemata um sicherzustellen, dass die Daten für die effizientste Speicherung und das bestmögliche Abrufen der Zugriffspfade normalisiert sind. Überprüfung des Kundencodes Da MySQL aus Open-Source-Code besteht, haben Sie die Freiheit, den Code so zu erweitern, dass er benutzerdefinierte Schnittstellen oder Objekte enthält, die für Ihre Anwendungen notwendig sind. MySQL ermutigt und unterstützt diese Bemühungen und stellt Ihnen proaktive Copyright © 2009, Sun Microsystems
Seite 13
und reaktive Überprüfungsoptionen für den Code bereit, den Sie rund um oder direkt in Ihre MySQL Datenbanken eingefügt haben: MySQL Client APIs Die MySQL Supporttechniker überprüfen und beraten Sie zu Ihrem speziellen MySQL Client API-Code, der als Schnittstelle oder zur Verbindung mit Ihren MySQL Servern erstellt wurde. Benutzerdefinierte MySQL Funktionen Die MySQL Supporttechniker überprüfen und beraten Sie zur Implementierung Ihrer benutzerdefinierten Funktionen, die in C und C++ geschrieben und für die Verwendung mit MySQL verlinkt wurden. MySQL Servererweiterungen Die MySQL Supporttechniker liefern Ihnen Ratschläge zur Codierung Ihrer eigenen C- und C++Patches und der Erweiterungen, die in den MySQL Servercode eingebracht werden sollen. MySQL überprüft Ihren Code bei Fertigstellung, um zu gewährleisten, dass er produktiv genutzt werden kann.
Erweiterter Support für MySQL Hochverfügbarkeit und Skalierbarkeitslösungen MySQL Enterprise beinhaltet vollständige Supportleistungen für die erweiterten MySQL Funktionen und Lösungen von Drittanbietern, die Sie verwenden, um Verfügbarkeit und Performanz Ihrer Online-Anwendungen zu skalieren. MySQL Enterprise unterstützt Sie bei Ihrer Nutzung von: MySQL Replikation Eine der beliebtesten technischen Funktionen von MySQL ist die Replikation, die mit jeder Version des MySQL Servers kostenlos ausgeliefert wird. Sie ist sehr einfach zu verwenden und einzurichten, sehr zuverlässig, und sie bietet hohe Übertragungsraten. Die MySQL Replikation wird von einer großen Anzahl von Unternehmen eingesetzt, um eine Verfügbarkeit von bis zu 99,9 % zu erreichen. Darüber hinaus wird die Replikation auch zur horizontalen Skalierung einer Anwendung eingesetzt, bei der also viele verschiedene physische Server genutzt werden, um eine einzige logische Datenbank zu erstellen – das Ergebnis ist eine sehr viel bessere Performanz als in den Fällen, in denen die gesamte Arbeitslast einer Anwendung auf einem Rechner läuft. Für die MySQL Replikation gibt es mehrere typische Einsatzfelder: • •
•
•
Warmer Standby-Server: Die Replikation wird eingesetzt, um einen kontinuierlich verfügbaren Backup-Server bereitzuhalten, auf den bei Ausfall des Primärservers schnell umgeschaltet werden kann. Business-Intelligence-Server: Die Replikation wird eingesetzt, um das komplexe Data Warehousing und die Business-Intelligence-Abfragen auf einem anderen Rechner zu verlagern, so dass die Ressourcen des Primärservers, der für transaktionale Verarbeitungsfunktionen eingesetzt wird, nicht angezapft werden müssen. Horizontale Skalierung über Sharding: Die Replikation wird zur vertikalen Partitionierung einer Anwendung verwendet, so dass verschiedene Datensilos geschaffen werden, die auf einen ganz bestimmten Teil einer großen Anwendung ausgerichtet sind. Ein OnlineReisebüro könnte zum Beispiel einen „Shard“ erstellen, der Informationen über Fahrzeugreservierungen enthält, einen weiteren Shard mit den Flugplänen der Fluglinien, noch einen weiteren, der die Verfügbarkeit der Hotels beinhaltet etc. Diese Shards könnten über die MySQL Replikation auf einem warmen Standby-Server gesichert werden. Scale-out - Horizontale Hochverfügbarkeit: Die Replikation wird verwendet, um einige oder alle Teile einer Anwendung horizontal über viele verschiedene Server zu klonen. Dabei werden Lastverteiler oder andere Techniken verwendet, um eine MySQL GRID/Hochverfügbarkeits-Plattform zu schaffen.
Ab MySQL 5.1 enthält der Server erweiterte Replikationsfunktionen, welche die Geschwindigkeit noch weiter erhöhen und die Replikation komplexer Datenmanipulationen garantieren. MySQL analysiert die Arbeitslast auf den Quellrechnern und wählt dann die effizienteste/beste Replikationsform für die Datenübertragung zu den Replikationszielen. Copyright © 2009, Sun Microsystems
Seite 14
Memcached für MySQL Memcached für MySQL ist ein verteiltes, speicherinternes Daten-Cachingsystem, mit dem Sie die Skalierbarkeit neuer und bestehende MySQL Online-Anwendungen erhöhen können. Memcached für MySQL ermöglicht Ihnen: • • • •
Die Implementierung einer skalierbaren, extrem leistungsstarken Daten-Caching-Lösung für Online-Anwendungen. Das Senken der Datenbank-Gesamtbetriebskosten (TCO) durch Vermeiden der Lizenzkosten für proprietäre Daten-Caching-Software. Senkung der Gesamtbetriebskosten durch eine bessere Auslastung der Ressourcen wie ungenutztem oder überschüssigem Arbeitsspeicher auf bestehenden Systemen. Schrittweises Hinzufügen/Entfernen von Daten-Caching-Kapazitäten bei Bedarf, so dass schnell auf wechselnde Anforderungen reagiert werden kann.
Memcached in Kombination mit der MySQL Replikation ist eine ausgezeichnete Lösung, um die Anwendungsleistung zu verbessern und gleichzeitig Scale-Out-Architekturen zu nutzen. DRBD für MySQL DRBD für MySQL ist eine Lösung, die MySQL, Linux Heartbeat und Distributed Replicated Block Device (DRBD) kombiniert, so dass Sie Ihren Kunden und Endanwendern eine synchron replizierte, hochverfügbare Lösung bereitstellen können. Linux Heartbeat handhabt das Failover, während DRBD die Daten synchron über die Datenknoten in einer Aktiv/PassivReplikationskonfiguration verteilt. Wenn der aktive Server ausfällt, schaltet Linux Heartbeat den passiven Knoten in den Status „aktiv“, während DRBD die Neusynchronisierung der Daten nach dem Ausfall sicherstellt. DRDB für MySQL ist ideal für zusätzliche Verfügbarkeit für neue und bestehende MySQL Anwendungen geeignet.
MySQL Dienstleistungen Im Rahmen von MySQL Enterprise haben Sie Zugriff auf das MySQL Professional Services Team, das Ihrem Unternehmen dabei helfen kann, eine skalierbare Strategie mit hoher Leistung, Hochverfügbarkeit und Skalierbarkeit auf Grundlage der MySQL Enterprise Software sowie den dazugehörigen Diensten und Supportlösungen zu implementieren. Das MySQL Professional Services Team besteht aus MySQL Experten, die neue Kunden routiniert bei Ihren ersten Schritten mit MySQL helfen oder bestehende Kunden mit wachsenden Geschäften bei der Optimierung Ihrer Online-Anwendungen unterstützen und so für eine bessere Skalierbarkeit sorgen. Die Arbeit mit dem MySQL Professional Services Team ist eine gute Möglichkeit für Unternehmen, die Web-2.0-Technologien für neue Projekte oder Produkteinführungen einsetzen, sich jedoch nicht sicher sind, wie sie beginnen sollen oder welche optimalen Verfahren einzuhalten sind. Zu den verfügbaren Leistungen zählen die Beratung bei neuen Projekten, MySQL Migrationen, Starthilfeprogramme rund um Web-2.0-Technologien, die horizontale Skalierung und vieles mehr.
Anwenderberichte In vielen Fällen begannen MySQL Kunden mit der Nutzung des Community Servers zur Entwicklung und Erstellung von Online- und Enterprise-Anwendungen, die sie dabei unterstützt haben, das Wachstum Ihres Kundengeschäftes anzutreiben. Als diese Anwendungen geschäftskritisch wurden oder skaliert werden mussten, um den Bedarf eines wachsenden Kundenstamms zu erfüllen, wurden diese kostenlosen Anwender zu Abonnenten von MySQL Enterprise. Einige der zahlreichen MySQL Anwender und Kunden sowie die zugehörigen Märkte sind in Abbildungen 7 zu sehen.
Copyright © 2009, Sun Microsystems
Seite 15
Abbildung 7: MySQL Kunden nach Märkten und Branchen
Unter diesen Kunden gibt es beeindruckende Beispiele für den Einsatz von MySQL und dafür, weshalb Unternehmen von der kostenlosen Version zum kostenpflichtigen MySQL Enterprise wechseln.
PUMA – Betrieb und Ausbau eines Online-Shops PUMA verfolgt die langfristige Mission, das begehrteste Sportlifestyle-Unternehmen zu sein. Ziel von Phase IV der langfristigen Unternehmensentwicklung, die 2006 eingeführt wurde, ist die Stärkung und Weiterentwicklung von PUMA als eine der führenden MulticategorySportlifestylemarken. Zur Erreichung dieses Ziels nutzt PUMA seine langjährige Erfahrung, um den Kunden Produkte anzubieten, die die verschiedenen Einflüsse aus der Welt des Sports, des Lifestyles und der Mode widerspiegeln. Ausgangssituation Ausgangssituation war das Vorhaben PUMAs sich im Internet in Europa mit einem Online-Shop zu etablieren. Ziel war die Zusammenstellung von Komponenten, die einerseits eine kostengünstige Lösung für einen europäischen Start ermöglichen, aber andererseits auch eine globale Lösung zulassen. Zudem sollte es möglich sein, mit einer kleinen Lösung zu beginnen und bei Bedarf sowohl horizontal als auch vertikal zu skalieren. Wie immer trägt bei solchen Vorhaben der Kostenfaktor erheblich zur Entscheidungsfindung bei. Die MySQL Enterprise Lösung Als Datenbank zur Speicherung von Produktdaten, Warenkörben, Bestellungen und Kundeninformationen wird der MySQL Enterprise Server eingesetzt. Neben den Kostenvorteilen waren die unkomplizierte Installation und Nutzung von MySQL wichtige Entscheidungskriterien für die Wahl von MySQL. So ließen sich zum Beispiel unumgängliche Funktionen wie Datensicherung & -wiederherstellung sowie die Replikation mit einfachen Mitteln und geringem Aufwand realisieren. Der Zugriff auf den MySQL Enterprise Server erfolgt mittels Connection Pooling. Parallel erzeugen mehrere Batchjobs Exporte für optimierte Suchindizes, Tagesabschlüsse, Produktdatenimporte, Übertragungen zu Logistikdienstleistern usw. Bei der Implementierung
Copyright © 2009, Sun Microsystems
Seite 16
des Systems haben die Berater von MySQL professionelle Unterstützung geleistet. Dies war für die Optimierung der MySQL Installation eine wertvolle Hilfestellung.
Rechenzentrum der Finanzverwaltung Nordrhein-Westfalen Das Rechenzentrum der Finanzverwaltung (RZF) des Landes Nordrhein-Westfalen ist ein ITDienstleistungsbetrieb. Mit seinen 650 Mitarbeitern unterstützt das RZF den Finanzminister des Landes bei der Wahrnehmung der Aufgaben in den Bereichen der Steuererhebung, der Steuerfestsetzung und des Steuervollzugs sowie des Haushaltsvollzugs. Das RZF betreut als Dienstleister die IT-technische Unterstützung der ca. 30.000 Beschäftigten der Steuerverwaltung, die in den 143 Dienststellen im Land Nordrhein-Westfalen tätig sind. Ausgangssituation Zur Umsetzung der IT-Anforderungen für die Aufgaben der Finanzverwaltung werden vom RZF sowohl zentral (im RZF) als auch dezentral (in den anderen Dienststellen) kommerzielle Datenbanken mit in der Regel selbstentwickelten Anwendungen eingesetzt. Unter dem Aspekt der schwierigen Haushaltslage des Landes und der Anforderung, notwendige Neuentwicklungen von Anwendungen möglichst kostenneutral zu realisieren, erschien es sinnvoll, die Verwendung von MySQL als kostengünstige Alternative zu den kommerziellen Datenbanken zu testen. Die MySQL Enterprise Lösung Um die Tragfähigkeit eines Projektkonzeptes mit einer MySQL-Datenbank zu überprüfen, wurde die Datenbank zur Datenhaltung im Rahmen der Realisierung eines neuen Projektes gewählt. Es handelt sich um ein dezentrales Projekt, so dass mit Realisierung des Projektes alle Dienststellen mit einer MySQL-Datenbank ausgestattet wurden. Sowohl der Ersteinsatz als auch der weitere Betrieb der MySQL-Datenbanken erwiesen sich als völlig problemlos. Je nach Größe der Dienststelle greifen 150 bis 500 Beschäftigte der Finanzverwaltung auf die im jeweiligen Amt installierte Datenbank zu. Die Verwaltung und Überwachung erfolgt mit Hilfe der MySQL-Enterprise-Werkzeuge. Inzwischen sind weitere Projekte mit MySQL realisiert oder auf MySQL umgestellt worden. Derzeit sind zentral und dezentral über 260 MySQL-Datenbankserver in der Steuerverwaltung erfolgreich im Einsatz. In MySQL werden dabei zum Beispiel die Daten für die Formulare der Finanzverwaltung, steuerfallunabhängige Verzeichnisse (Bankleitzahl-, Postleitzahl- und Straßenverzeichnis), Daten der Softwarelizenzverwaltung usw. abgelegt. Auch zukünftig wird das RZF den Einsatz von weiteren MySQL-Datenbanken aktiv betreiben.
Booking.com – Über 1 Millionen Kunden pro Tag Booking.com ist Europas größte Hotelreservierungsagentur – mit mehr als 20 Millionen individuellen Besuchern pro Monat. Als Bestandteil von Priceline.com verarbeitet die erfolgreiche europäische Seite mehrere Zehntausend Online-Buchungen pro Tag für über 30.000 Hotels in weltweit mehr als 8.000 Zielen und 15 unterschiedlichen Sprachen. Ausgangssituation Als eine der im Web erfolgreichsten Online-Reiseseiten erlebte Booking.com ein explosives Wachstum: die Reisebuchungen stiegen von 2005 bis 2006 um 100 % an. 2007 startete das Entwicklungsteam des Unternehmens ein Projekt zur Neuarchitektur seines alten MySQLbasierten Systems und zur Verbesserung von Performanz, Betriebszeit, Skalierbarkeit und Business-Reporting-Fähgikeiten. Das Unternehmen beauftragte die MySQL Professional Service Gruppe mit Beratungsleistungen zur Implementierung einer neuen, modernen ScaleOut-Architektur auf Grundlage von Replikation und dem MySQL Enterprise Server.
Copyright © 2009, Sun Microsystems
Seite 17
Die MySQL Enterprise Lösung Die neue Architektur umfasste die Aufteilung einer wichtigen MySQL Datenbank in drei separate Masterserver und die darauf folgende Replikation ihrer unterschiedlichen Daten auf mehrere, kostengünstige Rechner. Es wurden auch DRDB und Linux Heartbeat für MySQL implementiert, um auf diese Weise Integrität und Failover der replizierten Daten zu gewährleisten. Booking.com war so in der Lage, die Geschwindigkeit seiner Seite erheblich zu steigern, die Anzahl der Buchungsdatenfehler zu senken, die Infrastrukturkosten zu senken und die Betriebszeit der Kundendienstanwendungen zu verbessern. MySQL Enterprise stellt Booking.com die notwendige Unterstützung und die Dienste bereit, um seinen Kunden eine angenehme, konsistente Reisebuchung zu ermöglichen. Das MySQL Professional Services Team wird weiter zu Beratung im Hinblick auf Scale-Out-Bedürfnisse eingesetzt, denn die Anwendungen müssen im Rahmen des wachsenden Geschäftes kontinuierlich weiter skaliert werden. Booking.com verwendet auch den Enterprise Monitor und die Ratgeber, um Probleme und Optimierungsmöglichkeiten zu identifizieren, bevor diese zu Fehlern und potenziellen Kundenverlusten führen.
iStockphoto – Eine der 100 größten US-Webseiten iStockphoto (www.istockphoto.com) ist weltweit der meistfrequentierte Bildermarkt und bietet alle 2,5 Sekunden neue Bilder und Videodownloads an. iStockphoto war in seiner Branche einer der ersten, die das Micropayment-System einsetzten und stellt seinen Kunden damit eine bequeme, kostengünstige Online-Zahlungsweise zur Lizenzierung von Bildern und Videodownloads bereit. In Partnerschaft mit seinen Mitgliedern hat iStockphoto kommerziellen Nutzen aus der „Bild- und Design-Gemeinschaft“ ziehen können und den digitalen Bildmarkt verändert. Unternehmen, die andernfalls nicht oder nur mit weniger innovativen Medien gearbeitet hätten, erhielten die Möglichkeit, Bilder zu erschwinglichen Preisen zu erwerben. Ausgangssituation Beim Start von iStockphoto waren die Bilder in den Datenbanken kostenlos, das gesamte Unternehmen lief auf einem Server und der Datenverkehr war minimal. In den sieben Jahren, die seither vergangen sind, hat iStockphoto eine weltweite Gemeinschaft aus über 1,5 Millionen Mitgliedern aufbauen können. Seine Fotobibliothek enthält jetzt mehr als 1,8 Millionen Fotos, Flash-Dateien, Illustrationen und Videoclips. iStock hat über 35.000 Mitwirkende weltweit und fügt wöchentlich mehr als 30.000 Fotos zu seiner Sammlung hinzu. Für iStockphoto sind Skalierbarkeit und die Fähigkeit, immer größere Datenvolumen und Transaktionen zu handhaben, von wesentlicher Bedeutung für das Geschäft und dies muss sorgsam mit ITBudgets und Ausgaben für Ressourcen abgestimmt werden. Die MySQL Enterprise Lösung Die Entscheidung, die Anwendungen auf MySQL laufen zu lassen, wurde zunächst aufgrund der beachtlichen Kosteneinsparungen getroffen; als dann aber der Datenverkehr auf iStockphoto.com wuchs, wurde die horizontale Skalierung mit MySQL auf handelsüblicher Hardware ein wichtiger Faktor für die Handhabung dieses raschen Wachstums bei gleichzeitiger Aufrechterhaltung einer hohen Performanz. Der modernen Scale-Out-Architektur liegt ein LAMP-Stack zugrunde – mit 17 replizierten MySQL Datenbankservern und über 528 Tabellen und 512 Millionen Zeilen. MySQL überwacht jedes übertragene Foto und handhabt auch die Rechte und das Zahlungssystem. iStockphoto hat MySQL Enterprise Unlimited abonniert, um der Kundennachfrage nach seinen Online-Diensten immer einen Schritt voraus zu sein. Diese erschwingliche, unternehmensweite Lizenzvereinbarung ist für iStockphoto eine einfache Möglichkeit, das Online-Geschäft durch Hinzufügen von weiteren MySQL Servern zu skalieren, ohne sich dabei Sorgen über Zusatzkosten machen zu müssen. Im Rahmen des MySQL Enterprise Unlimited Abonnements erhält iStockphoto regelmäßige monatliche Softwareupdates und vollständige Supportleistungen; die Überwachungs- und Beratungswerkzeuge des MySQL Enterprise Monitors für alle aktuellen und zukünftigen MySQL Server verursachen nur geringe Fixkosten.
Copyright © 2009, Sun Microsystems
Seite 18
The Associated Press – Transaktionsstarkes Nachrichtensystem The Associated Press (AP) ist die älteste und größte Nachrichtenagentur der Welt und erreicht täglich weltweit 1 Milliarde Menschen. Sie liefert Texte, Audio- und Videoinhalte, Nachrichtenfotos, Grafiken und Technologien für mehr als 15.000 Medienoutlets. AP liefert einen innovativen Service mit der Bezeichnung „AP Hosted News“, der es Nachrichtenanbietern vereinfacht, Inhalte, die von AP gehostet werden, in ihre Webseiten zu integrieren. Der AP Hosted News-Dienst wurde geschaffen, um den allgemeinen Informationsbedarf vieler unterschiedlicher Medienoutlets zu erfüllen und erreicht mehr als 600 angegliederte Zeitungen und Sender weltweit. Ausgangssituation AP verlässt sich auf die Leistung und Fähigkeit von MySQL, um die großen Inhaltsmengen bereitzustellen, die für die Endanwender der stark frequentierten AP Hosted News benötigt werden. Für angeschlossene Nachrichtenagenturen ist es so zum Beispiel ganz normal, während eines durchschnittlichen Nachrichtenzyklus mehr als 150.000 Seiten pro Tag von ihren eigenen Webseiten auf die AP Hosted News umzuleiten. An einem betriebsamen Nachrichtentag kann diese Zahl leicht um mehr als das Dreifache auf 500.000 Seiten pro Tag ansteigen. Der AP-Dienst, der dem AP Hosted News zugrunde liegt, verwendet den MySQL Enterprise Server als Bestandteil einer Farm aus Sun 420-Servern, die auf dem Betriebssystem Solaris laufen. Die MySQL Enterprise Lösung AP hat MySQL Enterprise abonniert um sicherzustellen, dass die AP Hosting News-Anwendung und die Server immer verfügbar sind und höchste Leistungen erbringen, so dass die Endanwender mit einem kontinuierlichen, aktuellen Nachrichtenfluss versorgt werden können. Dies wird über die MySQL Supportleistungen erreicht, die rund um die Uhr, an sieben Tagen pro Woche das ganze Jahr hindurch bereitgestellt werden, sowie über die regelmäßigen Aktualisierungsdienste, die alle rund um den MySQL Enterprise Server konzipiert wurden.
Schlussbetrachtung In diesem Dokument betrachteten wir die Komponenten eines MySQL Enterprise Abonnements. Diese Komponenten sind nach Datenbank, Überwachung und Unterstützung aufgegliedert und wurden konzipiert, um Sie bei der Senkung von Risiken und Einhaltung Ihrer Dienstgütevereinbarungen zu unterstützen. Sie profitieren außerdem von den niedrigen Kosten und vermeiden die Lizenzbeschränkungen proprietärer Anbieter. Der MySQL Enterprise Server und seine regelmäßigen Updates gewährleisten, dass Ihre Systeme immer mit der aktuellsten Version von MySQL laufen. Der MySQL Enterprise Monitor, die Ratgeber und der Query Analyzer benachrichtigt Sie proaktiv über Schwachstellen und Optimierungsmöglichkeiten, bevor es zu negativen Auswirkungen kommt. Mit den MySQL Supportleistungen erhalten Sie im Falle eines Problems schnell Antworten und Lösungen, so dass Ihre Systeme für Ihre Kunden ununterbrochen verfügbar sind.
Weitere Informationsquellen
Weitere Anwenderberichte: http://www.mysql.de/why-mysql/case-studies/
MySQL Enterprise, Enterprise Monitor, Supportleistungen http://www.mysql.de/products/enterprise/
MySQL Replikation und horizontale Skalierung http://www.mysql.de/products/enterprise/high_availability.html
Copyright © 2009, Sun Microsystems
Seite 19
MySQL Hochverfügbarkeit http://www.mysql.de/products/enterprise/high_availability.html
MySQL Beratungsleistungen http://www.mysql.de/consulting/
Testen Sie kostenlos MySQL Enterprise und den MySQL Enterprise Monitor http://www.mysql.de/trials/
Über das MySQL Portfolio von Sun MySQL ist die beliebteste Open-Source-Datenbanksoftware der Welt. Viele der weltweit größten und schnell wachsenden Unternehmen setzen MySQL ein, um Zeit und Geld beim Betrieb ihrer großen Websites, ihre geschäftskritischen Systeme und Softwarepakete zu sparen - einschließlich Branchenführern wie Yahoo!, Alcatel-Lucent, Google, Nokia, neckermann.de und Siemens. Weitere Informationen über den Umfang der kommerziellen Abonnements und Dienstleistungen von Sun Microsystems und wie Sun die große MySQL-Open-Source-Entwicklergemeinschaft aktiv unterstützt finden Sie unter http://www.mysql.de/.
Copyright © 2009, Sun Microsystems
Seite 20