Was sind die Vorteile von MySQL Cluster?

15

Ich habe noch nie meine Hände in MySQL Cluster getaucht und möchte wissen, wie ich davon profitieren kann. Wann ist es am besten, es zu verwenden, und hat es Leistungsvorteile?

RPK
quelle

Antworten:

5

MySQL Cluster basiert auf drei Grundprinzipien:

  • Hochverfügbarkeit (Shared Nothing, lokale und geografische Replikation, integriertes Heart-Beating, automatisiertes Failover und automatische Wiederherstellung usw.)

  • Schreibskalierbarkeit und Echtzeitleistung (Auto-Sharding, speicherinterne Optimierungen usw.)

  • Mehrere Datenbankschnittstellen (SQL und NoSQL)

Auf diese wird in folgendem Artikel näher eingegangen (Hinweis, Registrierung erforderlich): http://mysql.com/why-mysql/white-papers/mysql_wp_scaling_web_databases.php

Adaptive Query Localization ist eine Funktion der aktuellen Entwicklungsversion von MySQL Cluster 7.2 und verbessert die Leistung von JOIN-Vorgängen schnell, indem sie auf die Datenknoten übertragen werden, wodurch der Netzwerkverkehr erheblich reduziert wird. Sie können hier mehr darüber lesen: http://dev.mysql.com/tech-resources/articles/mysql-cluster-labs-dev-milestone-release.html

MySQL Cluster ist unter der GPL lizenziert und kann von dev.mysql.com mit Online-Hilfe über die Foren heruntergeladen werden: forums.mysql.com/list.php?25

Mat Keep
quelle
1
Hey @Mat, vielen Dank, dass Sie sich auf die positive Seite von MySQL Cluster konzentriert haben. Sowohl Vor- als auch Nachteile müssen hervorgehoben werden. Ich habe schon die Nachteile. Du hast die Profis gemacht. Auf diese Weise liegt es ganz im Ermessen derjenigen, die sich für die Implementierung entscheiden, die Belohnungen, Freuden, Sorgen und Ängste von MySQL Cluster zu erfahren. Auch wenn es sich um eine GPL handelt, gilt das Prinzip: LASSEN SIE DEN KÄUFER AUFPASSEN. +1 für deine Antwort.
RolandoMySQLDBA
1
Hallo Rolando - Danke für deine Bewertung. Wie Sie hervorheben, hat jede Technologie ihre Anwendungsfälle - einige eignen sich gut für MySQL Cluster, andere nicht. Dieser Teil der MySQL-Dokumentation vergleicht InnoDB (die Standard-MySQL-Speicher-Engine) mit MySQL Cluster und kann dabei helfen, zu ermitteln, was wann und wo verwendet werden soll: dev.mysql.com/doc/refman/5.1/de/mysql-cluster-compared.html
Mat Keep
5

Wenn ich Informationen zu MySQL Cluster erhalten wollte , verschickte MySQL (vor dem Kauf durch Sun) einen kurzen Fragebogen, den ich mir noch gewünscht hätte. Eine der Fragen, die gestellt wurden, wenn Ihre Tabellen nur Ganzzahlschlüssel hatten.

Obwohl es sich bei MySQL Cluster um eine ACID-Beschwerde handelt, bietet es keine geeignete Speicher-Engine für Daten mit zusammengesetzten Schlüsseln. In mancher Hinsicht müssen Sie die Verwendung wie bei einer MongoDB oder Cassandra in Bezug auf Datenlayout und Sharding planen.

Sie müssen auch den nervigsten Teil von MySQL Cluster berücksichtigen: die Netzwerkkommunikation. NDB Cluster neigt dazu, unter den Servern gesprächig zu sein. Sogar Gig-E kann bei Bereichsabfragen oder vollständigen Tabellenscans in die Knie gezwungen werden. Sie müssen diszipliniert genug sein, um Primärschlüssel und eindeutige Schlüssel zu verwenden, insbesondere wenn Ihre Anwendung von solchen Schlüsseln lebt.

Wenn Sie sich nicht an diese einfachen Beobachtungen halten, wird MySQL Cluster mehr schaden als nützen.

RolandoMySQLDBA
quelle
> "Es bietet keine geeignete Speicher-Engine für Daten mit zusammengesetzten Schlüsseln." @RolandoMySQLDBA, warum ist das so? Ich habe dieses Problem und möchte einige Problemumgehungen kennen.
xer0x