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

Top-Open-Source-Tools für MySQL- und MariaDB-Migrationen

Große Organisationen, die MySQL- oder MariaDB-Datenbankplattformen verwenden, stehen oft vor der Notwendigkeit, eine Datenbankmigration von einem Ort zum anderen durchzuführen. Unabhängig von der Plattform, der Art der Datenbanksoftware (z. B. von RDBMS zu NoSQL oder von NoSQL zurück zu RDBMS) oder wenn es sich nur um eine Datenmigration handelt, ist die Durchführung einer Migration ein enormer Arbeits- und Kostenaufwand.

Eine Datenbankmigration beinhaltet immer den Prozess der Migration von Daten von einer oder mehreren Quelldatenbanken zu einer oder mehreren Zieldatenbanken. Dies kann einen Datenbankmigrationsdienst oder einen Mashup-Satz von Tools beinhalten, die die Ingenieure entwickelt haben, um einen Dienst zu erstellen und auf diese Art von Problem zuzuschneiden.

Es wird erwartet, dass eine Datenbankmigration nicht bedeutet, dass die Quelldatenbankplattform letztendlich die Zielplattform ist, die genau die Ursprungsquelle ist. Sobald eine Migration abgeschlossen ist, könnte der Datensatz aus den Zieldatenbanken möglicherweise neu strukturiert werden. Was am wichtigsten ist, sobald die Migration vollständig abgeschlossen ist, ist, dass die Clients, die auf die Datenbank zugreifen, zu den neuen Quelldatenbanken umgeleitet werden. Die neue Quelldatenbank muss die exakte Kopie der Daten aus der Quelle bereitstellen, und zwar ohne Auswirkungen auf die Leistung, die sich auf die allgemeine Benutzererfahrung auswirken könnten.

Das Verschieben Ihrer Daten von einer Plattform auf die Zielplattform ist eine gewaltige Aufgabe. Dies deckt eine Datenbankmigration ab, wenn eine Organisation oder ein Unternehmen aus zahlreichen Gründen beschließt, das Licht auf die aktuelle Plattform zu schalten. Die häufigsten Gründe für die Migration von Daten liegen in der Kosteneffizienz auf der Zielplattform oder in ihrer Flexibilität bei der Bereitstellung und Skalierbarkeit. Während die aktuelle Plattform, auf der die aktuellen Produktionsdaten gehostet werden, mehr Kosten für Upgrades und Skalierbarkeit verursacht, ist es nur mühsam, wenn kleine Änderungen bereitgestellt werden, die tatsächlich in einer Microservice-Plattform bereitgestellt werden können.

In diesem Blog konzentrieren wir uns auf die besten Open-Source-Tools, die Sie für MySQL- und MariaDB-Migrationen für eine homogenere Datenbankmigration verwenden können.

Backup-Tools für die Datenmigration

Der einfachste Weg bei der Migration ist die Verwendung von Datenbank-Backup-Tools. Wir sehen uns an, was diese Tools sind und wie Sie sie während der Migration verwenden können.

mysqldump/mysqlpump

Dieses Tool ist eines der bekanntesten Dienstprogramme für MySQL oder MariaDB, das ein Datenbankadministrator oder Systemadministrator mit diesem Tool verbindet, um entweder eine vollständige Datenbank oder eine Teilkopie der Datenbank zu migrieren. Für Datenbankadministratoren, die nicht mit MySQL/MariaDB vertraut sind, können Sie mit diesem Tool eine Sicherungskopie erstellen, die eine logische Kopie der Daten generiert, die Sie in der Zieldatenbank speichern können.

Ein übliches Setup bei der Verwendung dieses Tools ist, dass immer dann, wenn sich eine Zieldatenbank an einem anderen Ort befindet und auf einer anderen Plattform als die Quelle gehostet wird, das Ziel als Slave oder Replikat fungiert. Die Verwendung von mysqldump, das üblicherweise mit --single-transaction auf einem ausgelasteten System und mit --master-data aufgerufen wird, liefert Ihnen die Koordinaten zum Einrichten eines Slaves in der Zieldatenbank, der als Host für die Datenmigration verwendet wird. Eine Alternative zu mysqldump ist auch mysqlpump, aber mit einem geringeren Funktionsumfang, der jedoch eine parallele Verarbeitung von Datenbanken und Objekten innerhalb von Datenbanken durchführen kann, um den Dump-Prozess zu beschleunigen. Der Nachteil ist, dass es bei mysqlpump keine Option gibt, die Sie verwenden können, wie z. B. --master-data, was sehr nützlich ist, wenn Sie ein Replikat erstellen möchten, das als Ziel für die Datenbankmigration verwendet wird.

mysqlpump ist vorteilhaft, wenn Ihre Daten eher im Leerlauf sind oder in den Wartungsmodus versetzt werden, sodass keine Schreibvorgänge oder Änderungen an der Quelldatenbank ausgeführt werden. Es ist im Vergleich zu mysqldump immer schneller.

mydumper/myloader 

mydumper/myloader ist ein sehr raffiniertes und effizientes Tool, das Sie für logische Sicherungen verwenden können, insbesondere zum Importieren von Massendaten mit schnellerer Verarbeitungsgeschwindigkeit, da es Parallelität bietet, Daten in Blöcken senden kann und Schwellenwerte und Kontrolle unterstützt Rate durch Anzahl von Threads, Zeilen, Anweisungsgröße und komprimiere das Ergebnis. Es generiert oder enthält binäre Protokolldateien und Protokollpositionen, was sehr hilfreich ist, wenn Sie die Zielzielplattform so einrichten, dass sie als Replikat der aktuellen Quell- und Produktionsumgebung fungiert.

Im Grunde genommen ist mydumper die Binärdatei und der Befehl, den Sie über die Befehlszeile aufrufen müssen, um das logische Backup zu erstellen. Während myloader die Binärdatei und der Befehl ist, den Sie verwenden müssen, wenn Sie Daten an das gewünschte Zielziel laden. Seine Flexibilität ermöglicht es Ihnen, Ihre gewünschte Rate bei der Verarbeitung der Aktionen zu verwalten, unabhängig davon, ob es sich um das Erstellen eines Backups oder das Laden der Daten handelt. Mit mydumper können Sie auch eine vollständige Sicherung oder nur eine teilweise Sicherungskopie Ihrer Quelldatenbank erstellen. Dies ist sehr nützlich, wenn Sie große Daten oder Schemas benötigen, die Sie vom aktuellen Datenbankhost entfernen und leicht an ein anderes Ziel verschieben möchten, während Sie mit der Einrichtung neuer Datenbank-Shards beginnen. Dies kann auch eine Möglichkeit sein, große Datenmengen zu migrieren, indem ein großes Segment des Datensatzes abgerufen und dann als neuer Shard-Knoten verschoben wird.

mydumper/myloader hat auch seine Grenzen. Es wurde von Updates der ursprünglichen Autoren gestoppt, aber von Max Bube gespeichert, aber das Tool wird immer noch weit verbreitet, sogar für Produktionsumgebungen.

Percona XtraBackup/MariaDB-Sicherung

XtraBackup von Percona ist ein Geschenk für Datenbankadministratoren, die kein Geld für das Unternehmen Oracle MySQL Enterprise Backup verwenden und ausgeben möchten. Während MariaDB Backup gegabelt und von Percona XtraBackup abgeleitet ist, haben sie auch MariaDB Enterprise Backup.

Beide Tools haben dieselben Konzepte beim Durchführen oder Erstellen eines Backups. Es ist ein binäres Backup, das ein Hot-Online-Backup, PITR, inkrementelles und vollständiges Backup, teilweises Backup bietet und auch für die Datenwiederherstellung nützlich ist, da es eine Wiederherstellung versteht, die eine binäre Protokolldatei und Position erzeugt, GTIDs unterstützt und vieles mehr. Obwohl MariaDB Backup und Percona XtraBackup heutzutage zwei verschiedene Arten von Software sind, da sie darauf ausgelegt sind, die Datenbank zu unterstützen, die sich auf die Bereitstellung eines Backups konzentriert. MariaDB Backup ist definitiv anwendbar, wenn Sie beabsichtigen, Backups von einer MariaDB-Datenbankquelle zu verwenden oder zu erstellen. Dagegen ist Percona XtraBackup auf Oracle MySQL und auch auf Percona Server oder einigen abgeleiteten MySQL-Servern wie Percona XtraDB Server oder Coderships Version von Galera Cluster for MySQL anwendbar.

Beide Sicherungen sind sehr vorteilhaft für Datenbankmigrationen. Die Durchführung einer Hot-Online-Sicherung geht immer schneller und erzeugt eine Sicherung, die Sie direkt verwenden können, um sie in Ihre Zieldatenbank zu laden. Häufiger ist auch das Streaming-Backup praktisch, da Sie ein Online-Backup durchführen und die Binärdaten mit socat oder netcat in die Zieldatenbank streamen können. Dadurch können Sie die Migrationszeit verkürzen, da das Verschieben von Daten zum Zielort direkt gestreamt wird.

Der häufigste Ansatz der Datenmigration bei der Verwendung dieses Tools besteht darin, die Daten von der Quelle zu kopieren und dann die Daten zum Zielort zu streamen. Sobald Sie das Ziel der Zieldatenbank erreicht haben, können Sie das binäre Backup einfach mit der Option --prepare vorbereiten, wo es die Protokolle anwendet, die zum Zeitpunkt der Backup-Erstellung aufgezeichnet wurden, sodass die vollständigen Daten unverändert und genau ab dem Zeitpunkt kopiert werden wo das Backup gemacht wurde. Legen Sie dann das Ziel der Zieldatenbank als Replikat fest, um als Replikat oder Slave des vorhandenen Quellclusters zu fungieren und alle Änderungen und Transaktionen zu replizieren, die vom Hauptcluster aufgetreten sind.

Natürlich gibt es auch eine Einschränkung bei der Verwendung dieses Tools, aber Datenbankadministratoren müssen wissen, wie man dieses Tool verwendet und wie man die Verwendung gemäß der gewünschten Verwendung drosselt und anpasst. Möglicherweise möchten Sie Ihre Quelldatenbank nicht überlasten, wenn Ihre Quelle zu diesem Zeitpunkt zu viel Datenverkehr oder eine große Verarbeitung benötigt. Seine Einschränkung stellt auch sicher, dass es sich um ein homogenes Setup handelt, bei dem die Zielquelle ein Linux-kompatibles System und nicht eine Windows-Umgebung ist, da Percona XtraBackup und MariaDB Backup nur in der Linux-Umgebung funktionieren.

Datenbankschema-Migrationstools

Datenbankmigration spricht sich nicht nur auf ein bestimmtes Tool und eine bestimmte Aufgabe aus, dann kann Migration passieren. Es gibt viele Überlegungen und zugrunde liegende nachfolgende Aufgaben, die durchgeführt werden müssen, um eine vollständige Datenbankmigration durchzuführen. Eine davon ist die Schemamigration oder Datenbankmigration. Ein Schema in MySQL/MariaDB ist eine Sammlung von Daten, die aus einer Gruppe von Tabellen mit ihren Spalten und Zeilen, Ereignissen, Triggern, gespeicherten Prozeduren oder Routinen und Funktionen besteht. Es gibt Fälle, in denen Sie möglicherweise nur ein Schema oder nur eine Tabelle migrieren möchten. Angenommen, eine bestimmte Tabelle in einem Schema erfordert eine Änderung ihrer Tabellenstruktur, und das erfordert eine DDL-Anweisung. Das Problem besteht darin, dass das Ausführen einer direkten DDL-Anweisung wie ALTER TABLE ...ENGINE=InnoDB alle eingehenden Transaktionen oder Verbindungen blockiert, die sich ebenfalls auf die Zieltabelle beziehen oder diese verwenden. Für einige große Tabellen, die eine lange Datendefinition und Tabellenstruktur umfassen, fügt dies eine echtere Herausforderung hinzu und verkompliziert es auch mehr, insbesondere wenn die Tabelle eine heiße Tabelle ist. Während es bei einer Datenbankmigration schwierig sein kann, die exakte vollständige Kopie der vollständigen Tabelle ohne Ausfallzeit von der Quelle zu kopieren. Sehen wir uns also an, welche das sind.

pt-online-schema-change

Es ist Teil des berühmten Percona Toolkit, das ursprünglich von Maatkit und Aspersa abgeleitet wurde. Dieses Tool ist sehr nützlich, wenn Sie eine Tabellendefinitionsänderung durchführen, insbesondere für eine heiße Tabelle, die aus einer großen Datenmenge besteht. Für einen gängigen, aber naiven Ansatz zum Durchführen einer Änderung der Tabellendefinition kann das Ausführen von ALTER TABLE die Aufgabe erledigen. Obwohl dies der Fall ist, verursacht ALTER TABLE ohne die Verwendung von ALGORITHM=INPLACE eine vollständige Tabellenkopie, die eine vollständige Metadatensperre erwirbt, und das bedeutet, dass Ihre Datenbank möglicherweise für einen langen Zeitraum angehäuft und gesperrt wird, insbesondere wenn die Tabelle ist enorm. In diesem Fall wurde dieses Tool entwickelt, um dieses Problem zu lösen. Dieses Tool ist sehr vorteilhaft für die Datenbankmigration, da eine inkonsistente Kopie einer heißen Tabelle mit sehr großen Daten von Ihrem bereits eingerichteten Zieldatenbankziel erkannt wird. Anstatt eine Sicherung entweder mit einer logischen oder einer binären/physischen Kopie durchzuführen, kann pt-online-schema-change verwendet werden, das die Zeilen Stück für Stück aus der Quelltabelle in die Zieltabelle kopiert. Sie können den Befehl sogar mit entsprechenden Aufrufen seiner Parameter je nach Ihren Anforderungen anpassen.

Neben der Verwendung verwendet pt-online-schema-change auch Trigger. Durch die Verwendung von Triggern wird jeder nachfolgende oder laufende Datenverkehr, der versucht, Änderungen in dieser Referenztabelle anzuwenden, ebenfalls in die Zieldatenbank kopiert, die als Replik des aktuellen Quelldatenbankclusters fungiert. Dadurch werden alle Daten genau so kopiert, wie die Quelldatenbank in Ihre Zieldatenbank hat, die beispielsweise auf einer anderen Plattform liegt. Die Verwendung von Triggern ist für MySQL und MariaDB anwendbar, solange die Engine InnoDB ist und ein Primärschlüssel in dieser Tabelle vorhanden ist, was eine Voraussetzung ist. Sie wissen vielleicht, dass InnoDB einen Zeilensperrmechanismus verwendet, der es ermöglicht, dass pt-online-schema-change für eine bestimmte Anzahl von Chunks (eine Gruppe ausgewählter Datensätze) versucht, diese zu kopieren und dann die INSERT-Anweisung auf die Zieltabelle anwendet . Die Zieltabelle ist eine Dummy-Tabelle, die als Zielkopie des baldigen Ersatzes der vorhandenen Quelltabelle dient. pt-online-schema-change ermöglicht es dem Benutzer jedoch, entweder die Dummy-Tabelle zu entfernen oder die Dummy-Tabelle einfach an Ort und Stelle zu lassen, bis der Administrator bereit ist, diese Tabelle zu entfernen. Beachten Sie, dass durch das Löschen oder Entfernen einer Tabelle eine Meta-Datensperre erworben wird. Da Trigger erfasst werden, müssen alle nachfolgenden Änderungen genau in die Zieltabelle kopiert werden, sodass keine Diskrepanz in der Ziel- oder Dummy-Tabelle verbleibt.

gh-ost

Verwendet dasselbe Konzept wie pt-online-schema-change. Dieses Tool geht anders vor als pt-online-schema-change. Ich werde sagen, diese Schema-Tool-Migration nähert sich den produktionsbasierten Hindernissen, die dazu führen können, dass Ihre Datenbank langsamer wird und möglicherweise hängen bleibt, was dazu führt, dass Ihr Datenbank-Cluster im Wartungsmodus oder für einen unbekannten Zeitraum ausfällt, bis das Problem behoben ist gelöst. Dieses Problem wird normalerweise durch Trigger verursacht. Wenn Sie eine ausgelastete oder heiße Tabelle haben, die einer Schemaänderung oder einer Änderung der Tabellendefinition unterzogen wird, können Trigger dazu führen, dass Ihre Datenbank aufgrund von Sperrkonflikten aufgehäuft wird. Mit MySQL/MariaDB-Triggern kann Ihre Datenbank Trigger für INSERT, UPDATE und DELETE definieren. Wenn sich der Zieltisch an einem Hotspot befindet, kann es unangenehm werden. Ihre Datenbank wird langsamer, bis sie hängen bleibt, es sei denn, Sie können diese eingehenden Abfragen beenden oder am besten die Auslöser entfernen, aber darum geht es beim idealen Ansatz nicht.

Aufgrund dieser Probleme geht gh-ost dieses Problem an. Es verhält sich so, als gäbe es einen Binärprotokollserver, auf dem die eingehenden Ereignisse oder Transaktionen in einem Binärprotokollformat protokolliert werden, insbesondere unter Verwendung von RBR (Row Based Replication). Tatsächlich ist es sehr sicher und weniger Sorgen in Bezug auf die Auswirkungen, denen Sie sich stellen müssen. Tatsächlich haben Sie auch die Möglichkeit, einen Test oder Trockenlauf durchzuführen (wie bei pt-online-schema-change), aber testen Sie es direkt in der Replik oder einem Slave-Knoten. Dies ist perfekt, wenn Sie herumspielen und während der Migration die genaue Kopie in Ihre Zieldatenbank überprüfen möchten.

Dieses Tool ist sehr flexibel in Übereinstimmung mit Ihren Anforderungen und impliziert die Gewissheit, dass Ihr Cluster nicht hängen bleibt oder wahrscheinlich ein Failover oder eine Datenwiederherstellung durchführt, wenn es schlimmer wird. Für weitere Informationen und wenn Sie dieses Tool kennenlernen möchten, schlage ich vor, diesen Beitrag von Shlomi Noach auf Github zu lesen.

Andere OSC-Tools

Ich kann sagen, dass diese beiden Tools eher ein empfehlenswerter Ansatz sind, aber Sie können auch andere Alternativen ausprobieren. Meistens wenden diese Tools MySQL/MariaDB-Trigger an, sodass sie irgendwie das gleiche Konzept wie pt-online-schema-change teilen. Hier ist die folgende Liste:

  • LHM – Datenbankmigrationen im Rails-Stil sind eine nützliche Möglichkeit, Ihr Datenschema auf agile Weise weiterzuentwickeln. Die meisten Rails-Projekte beginnen so, und am Anfang ist es schnell und einfach, Änderungen vorzunehmen.
  • OnlineSchemaChange - Erstellt und initiiert von Facebook. Dieses Tool wird verwendet, um Schemaänderungen für MySQL-Tabellen auf nicht blockierende Weise vorzunehmen
  • TableMigrator - Initiiert von Serious Business und ehemaligen Twitter-Mitarbeitern. Dieses Tool teilt das gleiche Prinzip mit Migrationen großer Tabellen in MySQL ohne Ausfallzeiten. Es wird mit Rails implementiert, daher kann es nützlich sein, wenn Sie eine Ruby-on-Rails-Anwendungsumgebung haben.
  • oak-online-alter-table - Dies ist ein altes Tool, das von Shlomi Noach erstellt wurde, obwohl es sich irgendwie dem gleichen Ansatz nähert wie pt-online-schema-change und eine nicht blockierende ALTER TABLE-Operation durchführt

Tools des Datenbankmigrationsassistenten

Es gibt nur wenige Migrationstools, die eine kostenlose Nutzung anbieten, was in gewissem Maße sehr vorteilhaft ist. Was bei der Verwendung von Migrationsassistenten noch vorteilhafter ist, ist, dass sie über eine GUI verfügen, für die Sie bequem die aktuelle Struktur sehen oder einfach den Schritten folgen können, die die Benutzeroberfläche während der Migration bereitstellt. Es kann zahlreiche Dienste oder Assistenten-Tools geben, aber es ist nicht Open Source und nicht kostenlos verfügbar. Natürlich ist eine Datenbankmigration ein sehr komplexer, aber dennoch systematischer Prozess, der jedoch in einigen Fällen viel Arbeit und Mühe erfordert. Werfen wir einen Blick auf diese kostenlosen Tools.

MySQL-Workbench

Wie der Name schon sagt, ist es für MySQL und abgeleitete Datenbanken wie zum Beispiel Percona Server nützlich, wenn es um die Datenbankmigration geht. Da MariaDB insbesondere seit der Version 10.2 vollständig auf eine andere Route umgestellt wurde, können einige Inkompatibilitätsprobleme auftreten, wenn Sie versuchen, diese von einer MariaDB-Quelle oder einem MariaDB-Ziel zu verwenden. Workbench kann für heterogene Arten von Datenbanken verwendet werden, z. B. solche, die aus verschiedenen Quelldatenbanken stammen und die Daten in MySQL ausgeben möchten.

Die MySQL Workbench besteht aus Community- und Enterprise-Versionen. Die Community-Version ist jedoch als GPL frei verfügbar, die Sie hier finden können https://github.com/mysql/mysql-workbench. Wie in der Dokumentation angegeben, ermöglicht MySQL Workbench die Migration von Microsoft SQL Server, Microsoft Access, Sybase ASE, SQLite, SQL Anywhere, PostreSQL und anderen RDBMS-Tabellen, -Objekten und -Daten zu MySQL. Die Migration unterstützt auch die Migration von früheren MySQL-Versionen auf die neuesten Versionen.

phpMyAdmin

Für diejenigen, die als Webentwickler mit dem LAMP-Stack arbeiten, überrascht es nicht, dass dieses Tool eines ihrer Schweizer Taschenmesser ist, wenn es um Datenbankaufgaben geht. phpMyAdmin ist ein kostenloses, in PHP geschriebenes Software-Tool, das für die Verwaltung von MySQL über das Web vorgesehen ist. phpMyAdmin unterstützt eine breite Palette von Operationen auf MySQL und MariaDB. Häufig verwendete Operationen (Verwaltung von Datenbanken, Tabellen, Spalten, Relationen, Indizes, Benutzern, Berechtigungen usw.) können über die Benutzeroberfläche ausgeführt werden, während Sie weiterhin die Möglichkeit haben, jede SQL-Anweisung direkt auszuführen.

Obwohl es beim Importieren und Exportieren ziemlich einfach ist, ist es wichtig, dass es die Arbeit erledigt. Bei größeren und komplexeren Migrationen reicht dies jedoch möglicherweise nicht aus, um Ihre gewünschten Anforderungen zu erfüllen.

HeidiSQL

HeidiSQL ist freie Software und soll leicht erlernbar sein. Mit "Heidi" können Sie Daten und Strukturen von Computern sehen und bearbeiten, auf denen eines der Datenbanksysteme MariaDB, MySQL, Microsoft SQL, PostgreSQL und SQLite läuft. HeidiSQL wurde 2002 von Ansgar erfunden und gehört weltweit zu den beliebtesten Tools für MariaDB und MySQL.

Für Migrationszwecke ermöglicht es Ihnen, von einem Server/einer Datenbank direkt auf einen anderen Server/eine andere Datenbank zu exportieren. Es verfügt auch über Importfunktionen, um Textfelder wie CSV zuzulassen und Tabellenzeilen auch in eine Vielzahl von unterstützten Dateitypen wie CSV, HTML, XML, SQL, LaTeX, Wiki Markup und PHP Array zu exportieren. Obwohl es zur Verwaltung von Datenbanken für die Verwaltung von DB-Servern entwickelt wurde, können Sie es dennoch für einfache Migrationsaufgaben verwenden.

Percona Toolkit als Ihr Schweizer Taschenmesser

Percona Toolkit ist eine bemerkenswerte Software, die als Open-Source-Software unter der Garantie der GPL vertrieben wird. Percona Toolkit ist eine Sammlung fortschrittlicher Befehlszeilen-Tools, die häufig intern von Percona verwendet werden, aber auch für alle Datenbankarbeiten anwendbar sind, insbesondere für MySQL/MariaDB-Server.

Wie und warum ist es also auch hilfreich für die Datenmigration, insbesondere bei MySQL/MariaDB-Migrationen? Sie haben hier eine Reihe von Tools, die bei der Migration und nach der Migration von Vorteil sind.

Wie bereits erwähnt, besteht ein gängiger Ansatz der Datenmigration darin, den Zielzielserver als Replik des Hauptquelldatenbank-Clusters zu verwenden, jedoch in einem homogenen Setup. Dies bedeutet, dass Sie, wenn sich die Situation von einem On-Prem- zu einem öffentlichen Cloud-Anbieter verlagert, einen ausgewählten Knoten von dieser Plattform einrichten können und dieser Knoten alle Transaktionen aus dem Hauptcluster repliziert. Durch die Verwendung von Backup-Tools können Sie diese Art der Migrationskonfiguration möglicherweise erreichen. Aber es endet nicht dort. Percona Toolkit verfügt beispielsweise über pt-table-checksum/pt-table-sync-Tools, um Ihnen dabei zu helfen, Dateninkonsistenzen zwischen dem lokalen Server und dem Zieldatenbankserver zu identifizieren. Mit pt-table-checksum können Sie Prüfsummenberechnungen basierend auf einer Reihe von Chunks für alle Datenbanken oder nur selektiv Prüfsummen für bestimmte Datenbanken oder bestimmte Tabellen oder sogar eine Reihe von Datensätzen der Tabelle durchführen. pt-table-sync wird verwendet, um die Datensynchronisierung durchzuführen, sodass Ihre Zieldatenbanken erneut mit einer neuen Kopie der genauen Daten aus dem Hauptquellcluster aktualisiert werden.

Auf der anderen Seite ist pt-upgrade sehr nützlich, nachdem die Migration von Backup-Tools durchgeführt wurde. Mit pt-upgrade können Sie dieses Tool verwenden, um Analysen durchzuführen, indem Sie beispielsweise eine Reihe von Abfragen aus einer Protokolldatei für langsame Abfragen ausführen. Diese Ergebnisse können verwendet werden, um die Quelldatenbank und den Zieldatenbankserver zu vergleichen.

Zusammenfassung

Datenbankmigration, insbesondere von einem heterogenen Setup, kann sehr kompliziert sein. Bei einem homogenen Setup kann es jedoch recht einfach sein; Unabhängig davon, ob die Daten groß oder klein sind, solange Sie mit den richtigen Tools und natürlich dem richtigen systematischen Ansatz ausgestattet sind, um festzustellen, ob die Migration abgeschlossen ist und die Daten konsistent sind. Es kann Zeiten geben, in denen eine Migration die Beratung durch Experten erfordert, aber es ist immer ein guter Anfang, mit diesen Open-Source-Tools zu versuchen, Ihre gewünschte Datenbankmigrationsaufgabe zu erfüllen.