MariaDB Maxscale 2.0

Schutz und Streaming mit der Open-Source-Datenbank

| Autor / Redakteur: Jan Schulze* / Rainer Graefen

Vergangene Woche gab das finnische Unternehmen MariaDB die Version 2.0 von Maxscale mit Plugin-Architektur frei, bei der neue Funktionen relativ einfach hinzugefügt werden können.
Vergangene Woche gab das finnische Unternehmen MariaDB die Version 2.0 von Maxscale mit Plugin-Architektur frei, bei der neue Funktionen relativ einfach hinzugefügt werden können. (Bild: MariaDB)

Jüngst erschien die Version 2.0 der Open-Source-Datenbank „MariaDB Maxscale“. Den Datenbank-Proxies hat Anbieter MariaDB einige Merkmale spendiert, die einen sicheren Betrieb der Datenbanken im Unternehmen deutlich vereinfachen sollen. Zudem beherrscht Maxscale nun auch das immer wichtiger werdende Data-Streaming.

Maxscale des Datenbank-Herstellers MariaDB ist zugleich Datenbank-Proxy, Load-Balancer und Firewall. Das sorgt für Hochverfügbarkeit und Skalierbarkeit von Datenbank-Clustern und ist zugleich für die Anwendungen transparent: Anwendungen sehen nur eine herkömmliche MariaDB-Datenbank. Änderungen am Datenbank-Cluster haben damit keine Auswirkungen auf die Anwendungsschicht.

Zudem ist Maxscale - wie man es bei einem Datenbank-Anbieter erwarten kann - auf die Verarbeitung von SQL-Statements spezialisiert und damit in diesem Umfeld sehr leistungsstark. Eine Plugin-Architektur, bei der sich neue Funktionen relativ einfach hinzufügen lassen, ergänzt das Konzept.

Entsprechend weit ist Maxscale im Unternehmenseinsatz verbreitet. Vergangene Woche gab das finnische Unternehmen Version 2.0 von Maxscale frei. Bei den Neuerungen fallen besonders zwei Bereiche ins Auge: Sicherheit und Big-Data-Eignung.

Data Streaming mit CDC

Im Falle von Big Data adressiert MariaDB ein Problem, das sich zunehmend als ein Flaschenhals bei der Datenanalyse erweist: Herkömmlicher Weise werden Daten im Batch-Verfahren verarbeitet. Zwischen dem Ausführen einer Änderung an den Tabellen und der Nutzbarkeit der neuen Daten für Analysen vergeht ein kleines bisschen Zeit. Mit den rasant steigenden Datenvolumina, die bewältigt werden müssen, ist im Batch-Prozess keine Auswertung mehr möglich, die den Echtzeit-Ansprüchen der Anwender genügt. Abhilfe schafft CDC (Change Data Capture), das nun in Maxscale 2.0 implementiert wurde.

Bei CDC werden die Änderungen an einer Tabelle als Binlog-Events aufgezeichnet und als Transaktions-Logs in Form von Avro- oder JSON-Records gespeichert. Über das CDC-Protokoll werden registrierte Clients auf Änderungen hingewiesen, die die Clients dann aus der Arvo-Datei lesen.

Durch Data Streaming mit Kafka ist MariaDB Maxscale nun in der Lage, Binlog-Events in Echtzeit bereitzustellen.
Durch Data Streaming mit Kafka ist MariaDB Maxscale nun in der Lage, Binlog-Events in Echtzeit bereitzustellen. (Bild: MariaDB)

Der Ansatz ist nicht neu. Neu ist, dass dieses Daten-Delta im Streaming-Verfahren kontinuierlich verarbeitet wird. Dazu kommt bei Maxscale nun "Kafka" zum Einsatz.

Kafka wurde ursprünglich vom sozialen Netzwerk Linkedin entwickelt und unter Apache-Lizenz gestellt. Dahinter verbirgt sich ein verteiltes Messaging-Framework für Big Data, das sowohl Batch- als auch Echtzeit-Prozesse unterstützt. Kafka ist bei zahlreichen Unternehmen im Einsatz, darunter Spotify, Netflix oder eben Linkedin. Maxscale repliziert Binlog-Events über Avro an den Kafka Producer. Dieser stellt die Daten dann für Echtzeitanalysen oder maschinelles Lernen bereit.

Mehr Sicherheit für die Daten

Deutliche Verbesserungen kann die neue Maxscale-Version beim Schutz der Daten aufweisen. Hier wurde unter anderem der Zugriff auf den Server selbst mit neuen Sicherheitsfunktionen bedacht. Neben dem bereits integrierten Black- und White-Listing zum Schutz vor SQL-Intrusions verfügt Maxscale nun auch noch über die Möglichkeit, die Anzahl der aktiven Verbindungen zum Datenbank-Cluster zu begrenzen. Dadurch können DDoS (Distributed Denial of Service)-Angriffe wirkungsvoll abgewehrt werden.

Auch lässt sich die Administrationskonsole Maxadmin nun so konfigurieren, dass Zugriffe auf die Verwaltungsfunktionen nur lokal möglich sind. Entfernten Angreifern wird dadurch der Zugang zu Konfigurationsdaten von Maxscale oder zu Zugangsdaten der Datenbank-Server unmöglich gemacht.

Mehr Sicherheit gibt es nun auch für Data in Motion, also die Daten auf dem Weg zwischen Datenbank und Anwendung. Diese schützt Maxscale nun durch eine mit SSL verschlüsselte Ende-zu-Ende-Verbindung. Der Angriffsvektor, durch Mitlesen der Abfrage- und Datenpakete in Datenstrom unbefugten Zugriff zu erhalten, wird dadurch unterbunden.

Keine Einschränkungen bei Failover

Eine weitere Neuerung, die im kritischen Unternehmensbetrieb wichtig ist, betrifft den automatischen Failover. Fällt der Master eines Datenbank-Clusters aus, bestimmt Maxscale automatisch einen der Slaves zum neuen Master.

Während dieses Vorgangs konnte es in der Vergangenheit passieren, dass Lesezugriffe auf die Datenbank für kurze Zeit nicht oder nur eingeschränkt möglich waren. Denn alle Slaves im Cluster müssen zunächst auf den neuen Master verweisen. In der aktuellen Version können alle Lesezugriffe ohne Unterbrechung wie gewohnt weiterlaufen. Damit ist die wichtigste Funktionalität der meisten Anwendungen gewährleistet, die Benutzer werden in ihrer Arbeitsweise nicht beeinträchtigt.

Vor allem im Bereich der Sicherheit will MariaDB laut der Maxscale-Roadmap mit den kommenden Versionen nochmals deutlich zulegen. Mit der Version 2.1 soll unter anderem die bereits seit Maxscale 1.4 implementierte Firewall zu einer adaptiven Firewall ausgebaut werden. LDAP- und Kerberos-Authentifizierung stehen ebenso auf der Liste wie ein strenger abgesicherter Binlog-Server.

Die Anstrengungen seitens MariaDB sind zu begrüßen, denn nach wie vor sind Datenbank-Management-Systeme ein beliebtes und trotzdem oftmals wenig gesichertes Einfallstor für Angreifer. Mehr Sicherheit an der zentralen Schnittstelle zwischen Anwendungen und Daten ist heute nicht mehr Kür, sondern Pflicht - vor allem im Unternehmenseinsatz, wo oft besonders schützenswerte Daten verarbeitet werden.

* Jan Schulze ist freier Journalist in Erding.

Kommentare werden geladen....

Was meinen Sie zu diesem Thema?

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 44313341 / ECM/Datenbanken)