Gehe zum Hauptinhalt

Wie MariaDB Overhead reduziert

Ein futuristischer Serverraum als Symbolbild für Datenbanken.

Unsere MariaDB-Datenbankplattform entwickeln wir bei IONOS stetig weiter, um Platz für Verbesserung zu schaffen. Dafür evaluieren wir ständig neue Technologien. Eine davon haben wir bereits in einem anderen Blogbeitrag behandelt: MariaDB Catalogs.

In diesem Artikel gehen wir näher darauf ein, mit welchen Herausforderungen wir konfrontiert waren und welche Lösungsansätze wir in Betracht gezogen haben, um diese zu überwinden. Außerdem erklären wir, wie MariaDB Catalogs eingesetzt werden kann, um das Hosting von Millionen von Datenbanken zu verbessern.

Die Herausforderung: Ineffiziente Ressourcennutzung

Unsere MariaDB-Datenbankplattform besteht aus mehreren tausend Datenbankinstanzen, die jeweils so konfiguriert sind, dass über asynchrone Replikation in einem anderen Rechenzentrum geografische Redundanz hergestellt wird. Obwohl unsere Plattform weitgehend standardisiert und automatisiert ist, haben wir trotzdem eine Schwachstelle entdeckt: ineffiziente Ressourcennutzung. Während sich die Server-Hardware in rasantem Tempo weiterentwickelt hat, war dies bei unseren Workloads oft nicht der Fall. Einzelne Workloads stiegen nicht im gleichen Maße an, sodass die bestehenden Ressourcen nicht vollständig ausgelastet und damit Kapazitäten verschwendet wurden. Hochoptimierte Anwendungen profitieren nicht zwangsläufig von einer erhöhten Ressourcenverfügbarkeit.

Welche Konsolidierungsmöglichkeiten gibt es?

Zur Bewältigung dieser Herausforderung haben wir mehrere Optionen zur Ressourcen-Konsolidierung in Betracht gezogen:

Mehrere Datenbanken innerhalb einer Instanz: Dieser einfache Ansatz ermöglicht zwar eine effiziente Ressourcennutzung, birgt aber das Risiko von Konflikten bei Datenbank- oder Benutzernamen sowie zu Sicherheitsrisiken und einer eingeschränkten Skalierbarkeit.

Virtualisierung: Physische Server durch virtuelle zu ersetzen bringt zwar Vorteile wie Live-Migration mit sich, führt aber auch zu Overhead und erhöhter Komplexität beim Hypervisor-Management.

Mehrere Datenbankinstanzen auf einem Server: Das Ausführen mehrerer Datenbankinstanzen auf demselben physischen Server reduziert den Overhead, erfordert aber immer noch die Verwaltung mehrerer Prozesse. Es wird derselbe Kernel verwendet, was ein Sicherheitsrisiko darstellen kann, wenn es einem Benutzer gelingt, aus einer Datenbank auszubrechen.

Die Einführung von MariaDB Catalogs

MariaDB Catalogs bietet eine einzigartige Lösung, die die Vorteile von einzelnen und mehreren Datenbankinstanzen kombiniert. Da nur ein MariaDB-Prozess im Betriebssystem läuft, ist jeder Workload in seinem eigenen Katalog isoliert. Das verhindert Konflikte und beugt Sicherheitsrisiken vor. Auf diese Weise lassen sich außerdem systemweite Datenbanken oder Benutzer vor den Workloads verstecken.

Zukünftig wird es möglich sein, IP-Adressen direkt an einzelne Kataloge zu binden. Dies kann genutzt werden, um eine transparente Migration von bestehenden Datenbankservern auf MariaDB Catalogs zu ermöglichen. Konfigurationsänderungen durch den Kunden auf der Anwendungsseite können somit entfallen.

Zukunftssicher dank MariaDB Catalogs

Sobald es möglich ist, einzelne Kataloge getrennt zu replizieren, kann eine Struktur an MariaDB-Instanzen aufgebaut werden, die eine Migration von Katalogen zwischen Servern ohne Ausfallzeiten unterstützt.

MariaDB Catalogs – Ein starkes Tool mit großem Potenzial

MariaDB Catalogs ist nicht das Patentrezept, das für alle Herausforderungen beim Aufbau einer robusten Datenbankplattform herangezogen werden kann. Trotzdem ist es ein leistungsstarkes Werkzeug mit dem Potenzial, zu revolutionieren, wie wir Millionen von Datenbanken hosten. MariaDB Catalogs bietet effiziente Ressourcennutzung, bessere Skalierbarkeit, erhöhte Sicherheit sowie spannende Entwicklungen und neue Einsatzmöglichkeiten. All das wird uns dabei unterstützen, unsere Datenbank-Hosting-Services kontinuierlich weiterzuentwickeln und zu verbessern.

Weiterführende Links:

Schreibe einen Kommentar

Deine E-Mail-Adresse und Kundennummer werden nicht veröffentlicht. Erforderliche Felder sind mit * markiert