Skalierung stets verfügbarer Webdienste: Eine Alternative zur MySQL MEMORY-Speicher-Engine

Bei kleineren Bereitstellungen, für die vorwiegend Lesevorgänge ausgeführt werden, ist diese Engine eine effektive Lösung. Wenn jedoch die hohen Benutzeranforderungen an Skalierbarkeit, gleichzeitigen Zugriff und Verfügbarkeit erfüllt werden müssen, die mit der ständigen Weiterentwicklung von Webdiensten einhergehen, und Daten zudem immer häufiger aktualisiert werden müssen, ist diese Lösung möglicherweise nicht mehr ausreichend.

Die MEMORY-Engine ist eine grundlegende MySQL Speicher-Engine für speicherbasierte Vorgänge. Mit MySQL Cluster, einer Lösung, die selbst als MySQL Speicher-Engine implementiert werden kann, können dieselben speicherbasierten Vorgänge schneller, zuverlässiger und mit weniger Arbeitsspeicherbedarf für die Daten ausgeführt werden – und das sogar auf einem einzelnen Knoten.

Bei Leistungstests wurde mit MySQL Cluster bei einem Drittel der Latenz ein 30-mal höherer Durchsatz als mit der MEMORY-Speicher-Engine auf einem einzigen Knoten erzielt, während diese Lösung gleichzeitig Dauerhaftigkeit für Daten sowie Checkpointing und Protokollierung bietet.

MySQL Cluster kann auf dieselbe Weise wie die MEMORY-Speicher-Engine konfiguriert und ausgeführt werden (d. h. auf einem einzelnen Host ohne Replikation und Persistenz). Bei steigender Arbeitslast können Sie jedoch eine beliebige Kombination dieser Hochverfügbarkeits- und Skalierbarkeitsoptionen hinzufügen. Die Datenbank kann ohne Anwendungs-Sharding (Partitionierung) auf mehrere Knoten verteilt werden, sodass sowohl Kosten als auch Komplexität erheblich sinken.

In diesem Whitepaper wird die MEMORY-Speicher-Engine mit MySQL Cluster verglichen. Bei diesem Vergleich wird zunächst die Leistung der beiden Technologien untersucht, anschließend wird im Detail beschrieben, wie Kunden mit der MEMORY-Speicher-Engine ein Upgrade auf MySQL Cluster durchführen können.