MariaDB
 sql >> Datenbank >  >> RDS >> MariaDB

Vermeidung von Abhängigkeiten von Datenbankanbietern für MySQL oder MariaDB

Vendor Lock-in ist definiert als "Proprietary Lock-in oder Customer Lock-in, wodurch ein Kunde von einem Anbieter für seine Produkte und Dienstleistungen abhängig wird; nicht in der Lage ist, einen anderen Anbieter ohne erhebliche Kosten zu nutzen" ( Wikipedia). Für viele Softwareunternehmen wäre das zweifellos das gewünschte Geschäftsmodell. Aber ist es gut für ihre Kunden?

Proprietäre Datenbanken bieten eine hervorragende Unterstützung für Migrationen von anderen gängigen Datenbanksoftwarelösungen. Dies würde jedoch nur zu einem weiteren Vendor Lock-in führen. Ist Open Source dann eine Lösung?

Aufgrund von Einschränkungen, die Open Source vor Jahren hatte, wurden viele teure Datenbanklösungen gewählt. Leider war Open Source für viele keine Option.

Tatsächlich hat sich die Open-Source-Datenbank im Laufe der Jahre Enterprise-Support und Reife erworben, um kritische und komplexe Datentransaktionssysteme auszuführen.

Mit der neuen Version haben Datenbanken wie Percona und MariaDB einige großartige neue Funktionen hinzugefügt, entweder Kompatibilität oder Unternehmensanforderungen wie 24/7-Support, Sicherheit, Auditing, Clustering, Online-Backup oder schnelle Wiederherstellung. All dies machte den Migrationsprozess zugänglicher als je zuvor.

Migration mag ein kluger Schachzug sein, ist aber mit Risiken verbunden. Unabhängig davon, ob Sie planen, manuell von einer proprietären zu einer Open-Support-Migration zu migrieren oder mithilfe eines kommerziellen Tools den gesamten Migrationsprozess zu automatisieren, müssen Sie alle möglichen Engpässe und Methoden kennen, die mit dem Prozess und der Validierung der Ergebnisse verbunden sind.

Der Wechsel des Datenbanksystems ist auch ein ausgezeichneter Zeitpunkt, um weitere Vendor-Lock-in-Risiken in Betracht zu ziehen. Während des Migrationsprozesses können Sie darüber nachdenken, wie Sie vermeiden können, mit einer bestimmten Technologie gesperrt zu werden. In diesem Artikel konzentrieren wir uns auf einige Hauptaspekte der Anbieterabhängigkeit von MySQL und MariaDB.

Lock-in für Datenbanküberwachung vermeiden

Benutzer von Open-Source-Datenbanken müssen oft eine Mischung aus Tools und selbstentwickelten Skripten verwenden, um ihre Produktionsdatenbankumgebungen zu überwachen. Doch selbst wenn die Lösung über eigene, selbst erstellte Skripte verfügt, ist es schwierig, sie zu warten und mit neuen Datenbankfunktionen Schritt zu halten.

Hoffentlich gibt es viele interessante kostenlose Monitoring-Tools für MySQL/MariaDB. Die von DBAs am häufigsten empfohlenen kostenlosen Tools sind PMM, Zabbix, ClusterControl Community Edition und das Nagios MySQL-Plugin. Obwohl PMM und ClusterControl dedizierte Datenbanklösungen sind.

Percona Monitoring and Management (PMM) ist eine vollständig Open-Source-Lösung zur Verwaltung der Leistung der MySQL-Plattform und zur Optimierung der Abfrageleistung. PMM ist eine lokale Lösung, die alle Ihre Leistungs- und Abfragedaten innerhalb der Grenzen Ihrer Umgebung speichert. Sie finden die PMM-Demo unter dem folgenden Link.

Herkömmliche Tools zur Serverüberwachung sind nicht für moderne verteilte Datenbankarchitekturen ausgelegt. Die meisten Produktionsdatenbanken werden heute in einer Konfiguration mit hoher Verfügbarkeit ausgeführt – von der einfacheren Master-Slave-Replikation bis hin zu Multi-Master-Clustern mit vorgeschalteten redundanten Load Balancern. Betriebsteams befassen sich mit Dutzenden, oft Hunderten von Diensten, die die Datenbankumgebung bilden.

Das Vorhandensein mehrerer Datenbanksysteme bedeutet, dass Ihre Organisation auf der Entwicklungsseite agiler wird und lässt den Entwicklern die Wahl, erfordert aber auch zusätzliches Wissen auf der Betriebsseite. Die Erweiterung Ihrer Infrastruktur von nur MySQL auf die Bereitstellung anderer Speicher-Backends wie MongoDB und PostgreSQL bedeutet, dass Sie diese auch überwachen, verwalten und skalieren müssen. Da sich jedes Speicher-Backend in verschiedenen Anwendungsfällen auszeichnet, bedeutet dies auch, dass Sie das Rad für jeden von ihnen neu erfinden müssen.

ClusterControl wurde entwickelt, um moderne, stark verteilte Datenbank-Setups auf Basis von Replikation oder Clusterbildung. Es zeigt den Status der gesamten Clusterlösung an, kann jedoch sehr gut für eine einzelne Instanz verwendet werden. ClusterControl zeigt Ihnen viele erweiterte Metriken, aber Sie können dort auch eingebaute Berater finden, die Ihnen helfen, sie zu verstehen. Die ClusterControl-Demo finden Sie unter folgendem Link.

Lock-in für Datenbanksicherungslösungen vermeiden

Es gibt mehrere Möglichkeiten, Backups zu erstellen, aber welche Methode passt zu Ihren speziellen Anforderungen? Wie implementiere ich Point-in-Time-Recovery?

Wenn Sie von Oracle oder SQL Server migrieren, möchten wir Ihnen das xtrabackup-Tool von Percona oder ein ähnliches mariabackup von Mark empfehlen.

Percona XtraBackup ist die beliebteste Open-Source-Hot-Backup-Software für MySQL/MariaDB, die nicht blockierende Backups für InnoDB- und XtraDB-Datenbanken durchführt. Es fällt in die Kategorie der physischen Backups, die aus exakten Kopien des MySQL-Datenverzeichnisses und darunter befindlicher Dateien besteht.

XtraBackup sperrt Ihre Datenbank während des Sicherungsvorgangs nicht. Bei großen Datenbanken (100+ GB) bietet es im Vergleich zu mysqldump eine viel bessere Wiederherstellungszeit. Der Wiederherstellungsprozess umfasst das Vorbereiten von MySQL-Daten aus den Sicherungsdateien, bevor sie durch das aktuelle Datenverzeichnis auf dem Zielknoten ersetzt oder ausgetauscht werden.

Lock-in für hohe Verfügbarkeit und Skalierbarkeit der Datenbank vermeiden

Man sagt, wenn man nicht auf Fehler designt, dann steuert man auf einen Crash zu. Wie erstellt man ein Datenbanksystem von Grund auf so, dass es Ausfällen standhält? Dies kann eine Herausforderung sein, da Ausfälle auf viele verschiedene Arten auftreten, manchmal auf schwer vorstellbare Weise. Dies ist eine Folge der Komplexität heutiger Datenbankumgebungen.

Clustering ist eine teure Funktion von Datenbanken wie Oracle und SQL Server. Es erfordert zusätzliche Lizenzen.

Galera Cluster ist eine Mainstream-Option für hochverfügbares MySQL und MariaDB. Und obwohl es sich als glaubwürdiger Ersatz für traditionelle MySQL-Master-Slave-Architekturen etabliert hat, ist es kein Drop-in-Ersatz.

Galera Cluster ist eine synchrone Aktiv-Aktiv-Datenbank-Clustering-Technologie für MySQL und MariaDB. Galera Cluster unterscheidet sich vom sogenannten MySQL Cluster – NDB von Oracle. Der MariaDB-Cluster basiert auf dem von Codership bereitgestellten Multi-Master-Replikations-Plugin.

Während der Galera-Cluster einige Eigenschaften aufweist, die ihn für bestimmte Anwendungsfälle ungeeignet machen, können die meisten Anwendungen dennoch angepasst werden, um darauf ausgeführt zu werden.

Die Vorteile liegen auf der Hand:Multi-Master-InnoDB-Setup mit eingebautem Failover und Lese-Skalierbarkeit.

Lock-in für Datenbanklastenausgleich vermeiden

Proxys sind Bausteine ​​von Hochverfügbarkeits-Setups für MySQL. Sie können ausgefallene Knoten erkennen und Anfragen an noch verfügbare Hosts weiterleiten. Wenn Ihr Master ausgefallen ist und Sie einen Ihrer Slaves heraufstufen mussten, erkennen Proxys solche Topologieänderungen und leiten Ihren Datenverkehr entsprechend weiter.

Fortgeschrittenere Proxys können viel mehr, wie z. B. den Datenverkehr basierend auf präzisen Abfrageregeln weiterleiten, Abfragen zwischenspeichern oder sie spiegeln. Sie können sogar verwendet werden, um verschiedene Arten von Sharding zu implementieren.

Die nützlichsten sind ProxySQL, HAproxy, MaxScale (eingeschränkte kostenlose Nutzung).

Lock-in bei der Migration in die Cloud vermeiden

In den letzten zehn Jahren sind viele Unternehmen auf Cloud-basierte Technologie umgestiegen, um die Budgetbeschränkungen für Rechenzentren und agile Softwareentwicklung zu umgehen. Durch die Nutzung der Cloud können Ihr Unternehmen und Ihre Anwendungen von den Kosteneinsparungen und der Vielseitigkeit profitieren, die mit Cloud Computing einhergehen.

Während Cloud-Lösungen Unternehmen viele Vorteile bieten, bergen sie dennoch einige Risiken. Beispielsweise ist die Anbieterabhängigkeit in der Cloud genauso hoch wie im Rechenzentrum.

Da immer mehr Unternehmen ihre Workloads in der Cloud ausführen, werden Cloud-Datenbankdienste zunehmend zur Datenverwaltung verwendet. Einer der Vorteile der Verwendung eines Cloud-Datenbankdienstes anstelle der Wartung Ihrer Datenbank besteht darin, dass der Verwaltungsaufwand reduziert wird. Datenbankdienste der führenden Cloud-Anbieter haben viele Gemeinsamkeiten, aber sie haben individuelle Eigenschaften, die sie für Ihre Workload gut oder schlecht geeignet machen können.

Das Datenbank-Hosting-Hybridmodell

Da immer mehr Unternehmen in die Cloud wechseln, wird das Hybridmodell immer beliebter. Das Hybridmodell gilt für viele Unternehmen als sicheres Modell.

Tatsächlich ist es eine Herausforderung, eine Herztransplantation durchzuführen und alles sofort zu portieren. Viele Unternehmen führen eine langsame Migration durch, die normalerweise ein Jahr oder sogar ewig dauert, bis alles migriert ist. Der Umzug sollte in einem akzeptablen Frieden erfolgen.

Das Hybridmodell ermöglicht Ihnen nicht nur den Aufbau eines hochverfügbaren skalierbaren Systems, sondern ist aufgrund seiner Beschaffenheit ein hervorragender erster Schritt, um Lock-in zu vermeiden. Aufgrund des Architekturdesigns arbeiten Ihre Systeme in einer Art gemischtem Modus.

Ein Beispiel für solche Architekturen könnte ein Cluster sein, der im hauseigenen Rechenzentrum betrieben wird und dessen Kopie sich in der Cloud befindet.

Fazit

Die Migration von einer proprietären Datenbank zu Open Source kann mehrere Vorteile mit sich bringen:niedrigere Betriebskosten, Zugriff auf und Verwendung einer Open-Source-Datenbank-Engine, enge Integration mit dem Internet. Open Source hat viel zu bieten und ist aufgrund seiner Natur eine großartige Option, um eine Anbieterbindung zu vermeiden.