www.wikidata.de-de.nina.az
MySQL Cluster ist eine Speicher Engine des freien Datenbanksystems MySQL in der aktuell verfugbaren Version 7 2 Sie ermoglicht die Installation der Datenbank auf einem Computercluster der in einer Shared Nothing Architecture aufgebaut ist Das bedeutet dass jeder Rechner Knoten seine eigenen Festplatten und Arbeitsspeicher hat Wenn die einzelnen Rechner Knoten mit einem genugend grossen Arbeitsspeicher ausgestattet sind dann konnen alle Daten im Arbeitsspeicher gehalten werden bis Version 5 0 war das zwingend ab Version 5 1 gibt es auch plattenresidente Tabellen Nach eigenen Angaben bietet die Cluster Technologie von MySQL eine Verfugbarkeit von 99 9999 1 2 Das bedeutet eine jahrliche Ausfallzeit von weniger als sechs Minuten Die NDB Speicher Engine Network Database Speicher Engine ist eine unabhangige Komponente die persistente Speicherung von Daten ermoglicht und fur die Koordinierung aller Zugriffe auf Datenknoten in einem MySQL Cluster zustandig ist Anwendungen konnen direkt auf die NDB Speicher Engine uber verschiedene NoSQL Schnittstellen oder uber einen MySQL Knoten per SQL zugreifen NDB Cluster wurde 2003 von MySQL AB mit Erwerb des Unternehmens Alzato einem Ericsson Ableger ubernommen 2008 wurde MySQL AB von Sun Microsystems ubernommen 2010 wiederum wurde Sun von Oracle ubernommen Inhaltsverzeichnis 1 Einsatzgebiete 2 Architektur 3 Plattformen 4 EinzelnachweiseEinsatzgebiete BearbeitenMySQL Cluster wird oft als DBMS Database Management System im Web Umfeld eingesetzt wo es darauf ankommt viele Lesezugriffe in Kombination mit einer hohen Ausfallsicherheit zu erreichen Fur solche Anforderungen hat MySQL Cluster bei Tests schon bessere Zugriffszeiten bewiesen als Oracle DB2 und MS SQL 3 Architektur BearbeitenIm MySQL Cluster werden drei Arten von Knoten unterschieden 4 Datenknoten Ndbd Datenknoten speichern alle zu MySQL Cluster gehorenden Daten Die Daten werden im Normalfall zwischen den Datenknoten des Clusters repliziert um sicherzustellen dass diese bei Ausfall eines oder mehrerer Knoten ununterbrochen verfugbar sind Datenknoten verwalten ausserdem Datenbanktransaktionen Bei mehr als zwei Datenknoten werden die Knoten in sogenannte Nodegroups Knotengruppen unterteilt Eine Nodegroup muss aus mindestens zwei Datenknoten bestehen Innerhalb einer Nodegroup werden die Daten repliziert Beim Einfugen eines neuen Satzes bildet das System einen Hash aus dem Primarschlussel die NDB Engine erzeugt automatisch einen Primarschlussel falls keiner definiert ist Der Wert des Hashs bestimmt in welcher Nodegroup der Satz abgelegt wird Dadurch wird eine statistische Gleichverteilung erreicht Diese Methode der Datenverteilung wird auch als Partitionierung bezeichnet Datenspeicherung Bis Version 5 wurden alle Daten im Hauptspeicher gehalten und periodisch auf die Platte geschrieben Grob gesprochen hiess dies dass die Datenknoten insgesamt soviel Hauptspeicher haben mussten wie die Grosse der Datenbank betrug das mitgelieferte Skript ndb size pl erlaubte es den voraussichtlichen Speicherbedarf fur eine existierende Datenbank abzuschatzen Ab Version 6 gibt es den Tabellentyp storage disk bei dem Indexfelder im Hauptspeicher und die restlichen Felder auf der Platte gespeichert werden Rollen Genau ein Ndb Knoten im Cluster ist der Master Diese Rolle wird beim Start vom Arbitrator zugeteilt Der Master hat die primare Information uber den Zustand des Clusters Ohne Master ist der Cluster arbeitsunfahig Bei Ausfall kann ein anderer Knoten diese Rolle ubernehmen allerdings nur mit Zustimmung des Arbitrators oder der absoluten Mehrheit der Ndb Knoten Falls Teile des Clusters ihre Verbindung verlieren aber noch arbeitsfahig sind split brain scenario entscheidet der Arbitrator Schiedsrichter wer Master sein soll Per Default ist der Manager der Arbitrator es ist aber moglich eine Hierarchie zu konfigurieren dabei wird oft eine ungerade Zahl gewahlt um die Mehrheitsfahigkeit zu erhalten Als Arbitrator konnen Management oder SQL Knoten dienen Managementknoten Ein Managementknoten ist fur die Systemkonfiguration die Knotenverwaltung und die Aufzeichnung der Aktivitaten im Cluster zustandig Es konnen ein oder mehrere Managementknoten aus Verfugbarkeitsgrunden gleichzeitig eingesetzt werden Im laufenden Betrieb wird dieser Knoten nur benotigt wenn sich ein ausgefallener anderer Knoten wieder am Cluster anmelden will Wenn der Managementknoten zusatzlich Arbitrator Default ist muss er auch verfugbar sein wenn der Master ausfallt Da Ausfalle nicht vorhersehbar sind sollte dieser Knoten daher immer laufen SQL Knoten Ein SQL Knoten entspricht einem MySQL Datenbanksystem das mit Datenknoten kommunizieren kann Die SQL Knoten konnen einzeln oder uber Lastverteilung unter einer Sammel IP angesprochen werden Das MySQL Datenbanksystem erlaubt die Verwendung von Datenbank Managementsystemen mit verschiedenen Konzepten mit und ohne Durchfuhrung von Transaktionen mit und ohne persistenter Speicherung mit und ohne den Einsatz von gespeicherten Prozeduren mit synchroner oder asynchroner Replikation usw Der grobe Ablauf einer Benutzeranfrage ist wie folgt Eine Anfrage wird an einen SQL Knoten gestellt Der SQL Knoten leitet die Anfragen an die Datenknoten weiter Ein Datenknoten verarbeitet die Anfrage und sendet das Ergebnis an den SQL Knoten zuruck Der SQL Knoten ubergibt das Ergebnis an das anfragende Objekt Auf jedem der Knoten des MySQL Clusters ist mindestens ein Prozess gestartet Bei SQL Knoten heisst der zustandige Prozess mysqld bei Datenknoten ndbd und bei Verwaltungsknoten ndb mgmd Auf Rechnerknoten mit mehreren Prozessoren konnen mehrere MySQL Cluster Prozesse gleichzeitig laufen Beispielsweise auf einem Datenknoten mit zwei CPUs konnen zwei ndbd Prozesse parallel ausgefuhrt werden Es ist ebenfalls moglich Prozesse verschiedener MySQL Cluster Knotentypen auf einem Rechnerknoten mit mehreren CPUs einzusetzen Zum Beispiel kann auf einem Rechner ein Prozess des SQL Knotens mysqld und ein Prozess des Datenknotens ndbd gestartet sein Ports Voreinstellungen Sql Knoten 3306 Manager 1186 Ndbd Knoten verwenden keine festen Ports Die Ports werden vom Manager beim Start des Clusters dynamisch vergeben und an die Server im Cluster propagiert Sicherheit Der Datenverkehr innerhalb des Clusters ist nicht kryptographisch abgesichert Es ist Verantwortung des Betreibers den Cluster abzuschirmen z B durch Firewallregeln oder ein eigenes Tunnelnetz Plattformen BearbeitenMySQL unterstutzt Windows Unix Linux Eine Mac Version steht fur die Entwicklung zur Verfugung Einzelnachweise Bearbeiten MySQL Website Computerwoche Nr 45 2006 S 24 MySQL Zeichen stehen auf Enterprise Memento des Originals vom 14 Juli 2012 im Internet Archive nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot www computerwoche de Computerwoche 45 2006 Larissa Janssen Hochleistungs Datenbanksysteme Theorie und Praxis Books on Demand GmbH 2008 ISBN 3 8334 9326 7 S 188 189 Abgerufen von https de wikipedia org w index php title MySQL Cluster amp oldid 188150433