MariaDB hat kürzlich sein neues DBaaS-Angebot, SkySQL, eingeführt. Es mag für einige überraschend sein, aber dies war ein erwarteter Schritt von MariaDB, da sie in den letzten Jahren aktiv hochmoderne Produkte für Unternehmensdienste vorangetrieben und aktiv mit den großen Marktanbietern konkurriert haben.
Vor der Einführung von SkySQL hat MariaDB bereits 2018 an Containern und Helm-Charts gearbeitet. SkySQL bietet Datenbankverfügbarkeit für mehrere Regionen beim Einrichten und Starten Ihrer Datenbankinstanz.
Was ist MariaDB SkySQL?
MariaDB SkySQL ist ein DBaaS-Angebot, was bedeutet, dass es sich um einen vollständig verwalteten Datenbankdienst handelt, der über einen Cloud-Dienst mithilfe der Google Cloud Platform (GCP) verwaltet wird. Beachten Sie, dass die von MariaDB angebotene Datenbank nicht die Community Edition ist. Tatsächlich ist es neben MariaDB ColumnStore (oder beiden) der MariaDB Enterprise Server.
Die Vorteile der Nutzung dieses Angebots im Vergleich zu den MariaDB-Serviceangeboten von Amazon RDS oder Microsoft Azure Database sind die Versionierung (SkySQL stellt sicher, dass Benutzer auf der neuesten Produktversion sind) sowie Analyse- und Transaktionsunterstützung.
Integriert in DBaaS ist ein Konfigurationsmanager, der mit Echtzeitmetriken und -diagrammen überwacht, sowie eine Workload-Analyse, die seinen maschinellen Lerndienst präsentiert, der Änderungen in Workload-Mustern für eine proaktive Ressourcenskalierung und Servicekonsistenz identifiziert. Es ist ein verlockendes Produkt für die begeisterteren Benutzer von MariaDB-Unternehmensprodukten, MariaDB SkySQL zu verwenden.
Merkmale von MariaDB SkySQL
MariaDB SkySQL verfügt über die volle Leistungsfähigkeit der MariaDB-Plattform, die verschiedene Arten ihrer Datenbanktypen aus Transaktionen (allgemeines Setup für OLTP), Analysen oder Data Warehousing (OLAP) kombiniert oder, falls erforderlich, ein Hybrid-Setup (Kombination aus transaktionale und analytische Datenbank). Im Folgenden finden Sie eine einfache Definition dieser vorgestellten Datenbankdienstplattformen:
Transaktionen
Optimiert für schnelle Transaktionsverarbeitung auf persistentem Blockspeicher – mit Read/Write-Splitting und automatischem Failover konfiguriert und sofort einsatzbereit für transparenten Lastenausgleich und Hochverfügbarkeit.
Analytics
Optimiert für die Ausführung von Ad-hoc-Abfragen auf Milliarden von Zeilen ohne Indizes, kombiniert spaltenweise Daten auf kostengünstigem Objektspeicher mit Multithread-Abfrageverarbeitung – perfekt für Cloud Data Warehousing/Analysen.
Hybrid oder beides
Optimiert für intelligente Transaktionsverarbeitung in der Cloud, Speicherung von Daten sowohl als Zeilen auf persistentem Blockspeicher als auch als Spalten auf Objektspeicher – erstellen Sie moderne Anwendungen, indem Sie Transaktionen mit Echtzeitanalysen anreichern.
Die MariaDB SkySQL ist außerdem mit ihrem erstklassigen Support ausgestattet, der im Preis inbegriffen ist (Standardsupport), sobald Sie sich registrieren und eine Datenbankinstanz starten. Es gibt auch andere Optionen, die Sie in Betracht ziehen können, wenn Sie sich auf Unternehmensebene befinden. Sie können sich für Enterprise- und Platinum-Support entscheiden. Weitere Einzelheiten finden Sie auf der Preisseite.
Neben diesen Funktionen bieten sie auch Überwachungsfunktionen zum Überprüfen des Status und allgemeinen Zustands Ihrer Datenbankdienste. Obwohl er sich zum jetzigen Zeitpunkt in der technischen Vorschau befindet, können Sie den Dienst bereits nutzen und Metriken für detailliertere und Echtzeit-Prüfungen Ihrer Datenbankinstanz sammeln.
Der Verfügbarkeitsstapel
Diese SkySQL-Plattform ist mit Servicezuverlässigkeit ausgelegt, um eine erstklassige Servicebereitstellung für Kunden und Verbraucher zu erreichen. Unabhängig davon, wie stabil die Plattform ist, muss sie immer ausfallen, um die Widerstandsfähigkeit des Produkts zu bestimmen und wie schnell es im Falle eines Ausfalls verfügbar sein kann, und auch das RPO (Recovery Point Objective) zu reduzieren.
Für die Infrastruktur verwenden sie die Google Cloud Platform (GCP) und die Dienste verlassen sich stark auf Google Kubernetes Engine (GKE), eine Komponente der GCP. Dies bedeutet viel für die Plattform selbst, da die Dienste von MariaDB SkySQL in Containern ausgeführt werden, die von Kubernetes betrieben werden. Es ist in der Lage, Ausfallsicherheit für regionale GKE-Cluster zu bieten, die mehrere Verfügbarkeitszonen innerhalb einer Region umfassen. Es erwirbt die automatische Reparaturfunktion von Kubernetes und auch die hohe SLA-Eskalation von GCP bei einer Betriebszeit von 99,5 %.
Während es auf GKE angewiesen ist, bedeutet dies, dass es die Natur von Kubernetes erbt, indem es in der Lage ist, die ausgefallenen Container neu zu starten und einen fehlerhaften Container abzugrenzen, der automatisch beendet wird, wenn er als ausgefallen erkannt wird. Auch tote Behälter werden automatisch ersetzt und passieren im Hintergrund, was aus Kundensicht mit bloßem Auge nicht wahrnehmbar ist.
Mehrzonen werden für eine primäre/replizierte Einrichtung implementiert, bei der es sich um eine Transaktionsdienst-Datenbankeinrichtung handelt. Es stellt Replikations-Primärdatenbanken in einer separaten Zone innerhalb einer Region von Replikationsreplikaten bereit.
MaxScale spielt bei Umgebungen vom Transaktionstyp (primär/Replikat) wie OLTP oder dem Transaktionsdienst die Oberhand, während es das automatische Failover handhabt – deckt Transaktionen und Hybriddienste ab. MaxScale überwacht und prüft den Status von Primarys und Replicas. Wenn dies fehlschlägt, übernimmt MaxScale die Aufgabe, das aktuellste Replikat heraufzustufen und es zum neuen primären Replikat zu machen. Der Rest der Replikate wird dann aktualisiert und zeigt auf die neue Primärdatenbank. Sowohl der Transaktions- als auch der Hybriddienst decken die Selbstreparatur für MaxScale-Instanzen ab. Das heißt, wenn eine MaxScale-Instanz ausfällt, wird sie je nach Status des Problems neu gestartet oder ersetzt.
Alle Arten von MariaDB SkySQL-Diensten reparieren sich selbst, sodass sie immer hochverfügbar sind. Das bedeutet, dass beim Ausfall einer bestimmten Instanz, egal ob es sich um einen MariaDB Enterprise Server oder eine MaxScale-Instanz oder eine Kubernetes-Instanz handelt, immer die Resilienz von Kubernetes angepasst wird.
MariaDB SkySQL verwenden
Alles, was Sie tun müssen, ist sich über die SkySQL-Hauptseite zu registrieren. Wenn Sie ein Konto haben, können Sie sich anmelden. Es erfordert, dass Sie Ihre Zahlungsmethoden wie Kredit-/Debitkarte angeben müssen, aber Sie können sich an sie wenden, um weitere Informationen dazu zu erhalten.
Beim Starten eines Dienstes gibt es drei Optionen, aus denen Sie wählen können. Siehe unten:
Ich habe die Plattform getestet und einen Transaktionsdienst eingerichtet. Das bedeutet, dass ich vor dieser Aktion bereits eine Abrechnungs- oder Zahlungsmethode eingerichtet habe.
Während der Einrichtung können Sie auswählen, in welcher Region Sie Ihren Dienst bereitstellen möchten. Außerdem gibt es einen Überblick über die Kosten für die Art der Instanz, die Sie auswählen werden. Siehe unten:
und geben Sie die Anzahl der Replikate und deren Transaktionsspeichergröße an, dann zuletzt die Dienstname wie unten:
Da es innerhalb der Cloud mit GCP ausgeführt wird, nutzt es im Wesentlichen die Ressourcen wie Blockspeicher und seine Leistung, die von Google Cloud verfügbar sind.
Das Starten Ihrer Datenbankdienste kann einige Zeit dauern, bevor sie zur Verwendung verfügbar sind. Am Ende habe ich ~ 10 Minuten gebraucht, also müssen Sie vielleicht zuerst Ihre Kaffeepause machen und zurückkommen, sobald es für den Produktionseinsatz bereit ist. Sobald es geöffnet ist, sieht es in Ihrem Dashboard so aus:
Wenn Sie auf Ihren neu gestarteten Dienst klicken, werden Ihnen weitere Optionen zum Verwalten Ihrer Datenbank angezeigt. Es ist ungefähr einfach und sehr unkompliziert, keine ausgefallenen Benutzeroberflächen.
Sie müssen lediglich die erforderlichen IP-Adresstypen angeben um auf den Datenbankserver zuzugreifen oder ihn zu verbinden. Wenn Sie auf die Schaltfläche Anmeldedaten anzeigen klicken, erhalten Sie Informationen zu Ihrem Benutzernamen und Kennwort, zum Herunterladen Ihrer Zertifizierungsstellenkette und zum Verbinden und Ändern des Kennworts.
Übrigens sind die obigen Informationen bereits Schrott und wurden gelöscht, sodass sie offengelegt werden keine Sicherheitsbedenken.
Grundsätzlich kann ich das testen und habe bereits die IP-Adresse angegeben, die auf die Whitelist gesetzt werden muss. Die Verbindung über den Client zeigt also, dass Sie eine sicherere Verbindung sind, die über die TLS/SSL-Schicht kanalisiert:
[[email protected] ~]$ mysql --host sky0001841.mdb0001721.db.skysql.net --port 5001 --user DB00002448 -p --ssl-ca ~/skysql_chain.pem
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 32
Server version: 5.5.5-10.4.12-6-MariaDB-enterprise-log MariaDB Enterprise Server
Copyright (c) 2009-2020 Percona LLC and/or its affiliates
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> select @@hostname;
+-------------------+
| @@hostname |
+-------------------+
| paultest-mdb-ms-0 |
+-------------------+
1 row in set (0.25 sec)
mysql> show schemas;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
+--------------------+
3 rows in set (0.25 sec)
mysql> \s
--------------
mysql Ver 14.14 Distrib 5.6.48-88.0, for Linux (x86_64) using 6.2
Connection id: 32
Current database:
Current user: [email protected]
SSL: Cipher in use is ECDHE-RSA-AES128-GCM-SHA256
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 5.5.5-10.4.12-6-MariaDB-enterprise-log MariaDB Enterprise Server
Protocol version: 10
Connection: sky0001841.mdb0001721.db.skysql.net via TCP/IP
Server characterset: utf8mb4
Db characterset: utf8mb4
Client characterset: utf8
Conn. characterset: utf8
TCP port: 5001
Uptime: 10 min 17 sec
Threads: 12 Questions: 2108 Slow queries: 715 Opens: 26 Flush tables: 1 Open tables: 20 Queries per second avg: 3.416
--------------
Der Konfigurationsmanager
MariaDB SkySQL ist auch mit einem Konfigurationsmanager ausgestattet, mit dem Sie Änderungen anwenden, Ihre eigenen Konfigurationsaktualisierungen versionieren oder eine vorhandene Konfiguration klonen und sie dann auf eine Reihe von Diensten anwenden können, die Sie in Ihrem MariaDB SkySQL-Konto haben . Es teilt in gewisser Weise einen Ansatz zur Handhabung der Konfiguration mit unserer Konfigurationsdateiverwaltung, zum Beispiel
und bietet Ihnen die folgenden Aktionen, die Sie damit machen können,
Frühere Versionen Ihrer Konfiguration sind weiterhin sichtbar, was die Verwaltung Ihrer Konfiguration vereinfacht Verwaltung von Datenbank- und Konfigurationsänderungen.
Workload-Analyse und -Überwachung
Zum jetzigen Zeitpunkt befinden sich diese beiden Funktionen, die Workload-Analyse und -Überwachung, derzeit in der technischen Vorschau. Die Workload-Analyse ist jedoch noch nicht einsatzbereit, aber das Monitoring zeigt bereits die gesammelten Daten Ihrer Datenbankinstanzen. Ein Beispiel dafür ist unten gezeigt,
Es verwendet tatsächlich Grafana zum Anzeigen der Metriken und Diagramme. Es bietet andere Ansichten, mit denen Sie den Zustand Ihrer Datenbank, Abfragen, Verzögerungen und Ihres Systems untersuchen können. Siehe unten,
Sie können hier nach einer Workload-Analyse suchen, um zu sehen, wie sie funktioniert.
Fazit
Während MariaDB SkySQL ein völlig neuer Dienst ist, können Sie davon ausgehen, dass Verbesserungen bei diesem Dienst schnell kommen werden. Dies ist ein großartiger Schritt von MariaDB, da Benutzer nicht nur auf die von der Community verfügbaren Plattformen beschränkt sind, sondern jetzt die Unternehmensebene zu einem vernünftigen Preis nutzen können