Frage

Ich möchte NDB -Cluster für MySQL Cluster 6 implementieren. Ich möchte es für eine sehr große Datenstruktur mit mindestens 2 Millionen Datensätzen tun.

Ich möchte wissen, ob es Einschränkungen bei der Implementierung von NDB -Cluster gibt. Zum Beispiel die RAM -Größe, die Anzahl der Datenbanken oder die Größe der Datenbank für NDB -Cluster.

War es hilfreich?

Lösung

2 Millionen Datenbanken? Ich habe "Zeilen" gemeint.

In Bezug auf Einschränkungen: Eines der wichtigsten Dinge, die man beachten sollte, ist, dass NDB/MySQL -Cluster keine allgemeine Datenbank ist. Vor allem können Sie Operationen, aber auch Unterabfragen und Reichweite (Abfragen wie: Bestellungen zwischen jetzt und vor einer Woche), wesentlich langsamer sein als das, was Sie vielleicht erwarten. Dies ist teilweise darauf zurückzuführen, dass die Daten über mehrere Knoten verteilt sind. Obwohl einige Verbesserungen vorgenommen wurden, kann die Beitrittsleistung immer noch sehr enttäuschend sein.

Auf der anderen Seite müssen Sie sich mit vielen (vorzugsweise kleinen) gleichzeitigen Transaktionen befassen (normalerweise einzelne Zeilenaktualisierungen/Einfügungen/Löschen nach dem Primärschlüssel) und Ihre MANGAGE, um alle Ihre Daten im Speicher zu halten, kann es sehr sein, sehr Skalierbare und leistungsfähige Lösung.

Sie sollten sich fragen, warum Sie Cluster wollen. Wenn Sie einfach Ihre gewöhnliche Datenbank, die Sie jetzt haben, möchten, außer mit zusätzlichen Verfügbarkeit von 99.999%, sind Sie möglicherweise enttäuscht. Sicherlich kann MySQL -Cluster Ihnen eine gute Verfügbarkeit und Verfügbarkeit bieten, aber die Arbeitsbelastung Ihrer App ist möglicherweise nicht sehr gut für den THINGS -Cluster geeignet. Außerdem können Sie möglicherweise eine andere Lösung mit hoher Verfügbarkeit verwenden, um die Verfügbarkeit Ihrer ansonsten herkömmlichen Datenbank zu erhöhen.

Übrigens - Hier ist eine Liste von Einschränkungen gemäß dem DOC: http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-limitations.html

Aber was auch immer Sie tun, probieren Sie Cluster aus, sehen Sie, ob es gut für Sie ist. Mysql Cluster ist nicht "MySQL + 5 Nines". Sie werden herausfinden, wann Sie es versuchen.

Andere Tipps

Der NDB -Cluster verfügt über zwei Art von Speicheroptionen.

1. Speicherspeicher. 2.DISK -Speicher.

NDB wurde wie im Speicherdatenspeicher und in Version 7.4 (MySQL 5.6) eingeführt.

Die aktuelle Version 7.5 (MySQL 5.7) unterstützt den Speicher Speicher und in diesem Fall gibt es keine Größenbeschränkungen, da sich die Daten in der Festplatte befinden und die Begrenzung von den mit Ihnen verfügbaren Speicherplatz für Festplatten abhängt.
Festplattenspeicherkonfigurationen - https://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-disk-data-symlinks.html

Im Speicherspeicher im NDB -Cluster ist ebenfalls ziemlich ausgereift und Sie können die Speicherverwendung in der Verwaltungsknotenconfig.ini -Datei definieren. Beispiel - Datamemory = 3072m IndexMemory = 384 m

In einer durchschnittlichen Tabelle (abhängig von Daten, die in Spalten gespeichert sind) sollte die Gesamtgröße der DB weniger als 1 GB sein, was leicht konfiguriert werden kann.

HINWEIS - In meiner eigenen Implementierung stand ich vor einer Leistungsherausforderung, da die Leistung von NDB mit zunehmender Anzahl von Zeilen in der Tabelle sich verschlechtert. Unter hoher Last wird die Parallelesvorlagen mit der Anzahl der zunehmenden Zeile abgebaut. Stellen Sie sicher, dass Sie keinen vollständigen Tischscan entscheiden und genügend dort angeben, wo Klauselprädikat. Für die ordnungsgemäße Leistung den Sekundärindex nach Ihrem Abfragemuster ordnungsgemäß definieren. Das Definieren des Sekundärindex erhöht erneut den Speicherverbrauch. Planen Sie also Ihre Abfragemuster und Ihre Speicherressourcen entsprechend.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top