Hochverfügbarkeit mit MariaDB

Allzeit bereit!

Ausfallsicherheit ist für viele Unternehmen ein Kernkriterium für ihr Datenbanksystem. Kein Wunder: Ihre Existenz hängt davon ab, dass sich Daten jederzeit und unterbrechungsfrei verarbeiten lassen. Wir zeigen, wie Sie für diesen Zweck einen MariaDB-Cluster aufbauen und mithilfe von MaxScale die Verfügbarkeit sowie die Lese-/Schreibleistung der Datenbank verbessern.
Daten sind das Lebenselixier von Unternehmen. Umso wichtiger ist deren ständige Verfügbarkeit, auch wenn es in der IT einmal Probleme gibt. Im April ... (mehr)

Rund-um-die-Uhr-Ausfallsicherheit wird als Hochverfügbarkeit oder High Availability (HA) bezeichnet. Ein hochverfügbares IT-System arbeitet trotz des Ausfalls einer Komponente weiter. Erreicht wird das durch Redundanz: Jede Ressource ist mehrfach vorhanden. Ausfallzeiten durch Störungen sind damit praktisch ausgeschlossen.

Die Verfügbarkeit von IT-Anwendungen wird häufig als Prozentzahl angegeben und beschreibt die Dauer, die ein System störungsfrei arbeitet. Eine typische Angabe zur Verfügbarkeit ist beispielsweise 99,999 Prozent Ausfallsicherheit. Das sind bezogen auf ein Jahr ungefähr fünf Minuten Stillstand.

Das Problem beim Erreichen einer solchen Ausfallsicherheit ist die sogenannte singuläre Fehlerquelle. Damit ist eine Ressource gemeint, deren Ausfall das Gesamtsystem zum Stillstand bringt. Hochverfügbare Datenbanken müssen also durch redundante Instanzen vermeiden, dass eine einzelne defekte Festplatte oder der Ausfall eines Cloudservices die gesamte Anwendung blockiert. Die größte Ausfallsicherheit bietet dabei eine Shared-Nothing-Architektur, bei der keine der betei-ligten Datenbankinstanzen eine gemeinsame Komponente nutzt. In unserem Beispiel setzt das voraus, dass jedes System seine eigene Festplatte hat.

Replikation mit Datenbank-Proxy

Grundprinzip der Hochverfügbarkeit bei Datenbanken ist das mehrfache Speichern derselben Daten etwa durch Spiegelung der Daten auf zwei oder mehr Datenträger. Dabei müssen aber alle Datenträger jeweils die neuesten Daten erhalten. Das macht die Administration und auch die Anwendungsentwicklung komplex. Deshalb ist der Einsatz eines Datenbank-Proxies wie MariaDB-MaxScale sinnvoll.

Der Datenbank-Proxy erzeugt eine Abstraktionsschicht zwischen der Anwendung und den Datenbanken. Für Anwendungen ist sie vollständig transparent. Aus ihrer Sicht (und damit der Entwickler- und Nutzersicht) wirkt der Proxy wie eine

...

Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2021