Ein vollständiger Leitfaden zu Technologiemigrationsstrategien: (Teil 3 – Datenbankmigration)

Veröffentlicht: 2020-12-25

Stellen Sie sich ein Szenario vor, in dem Sie eine neue Wohnung kaufen, alles für den Einzug gepackt haben und den Prozess sorgfältig durchgeplant haben. Sie sind bereit, in Ihr neues Zuhause zu ziehen, dann stellen Sie plötzlich fest, dass es ein Problem gibt. Die Möbel und Artefakte passen nicht gut zu Ihrer neuen Wohnung.

Wie würden Sie sich fühlen, wenn Sie alle Ihre Möbel entsorgen und von Grund auf neu anfangen müssten? Wenn Sie diese Analogie weiterführen, betrachten Sie die neue Wohnung als Ihre neue Datenbank und die Möbel als die Daten. Wir sind sicher, dass Daten für Ihr Unternehmen viel wichtiger sind als Möbel, und daher möchten Sie jedes einzelne Bit davon behalten, während Sie eine Migration planen.

Als Fortsetzung unserer Serie zur Technologiemigration werden wir in diesem Blog versuchen, die Grundlagen der Datenbankmigration (DBM) aufzudecken, was man verstehen, berücksichtigen und beachten sollte, während man die Datenbankmigration durchführt.

Warum und wann ist eine Datenbankmigration erforderlich?

wann-ist-eine-datenbankmigration-erforderlich

Als Fortsetzung unseres vorherigen Blogs zur Anwendungsmigration konzentriert sich der heutige Artikel auf die Datenbankmigration (auch bekannt als Schemamigration), da es sich um eine der wichtigsten Migrationen handelt, die sich hauptsächlich mit dem Auswählen, Extrahieren, Übertragen/Aktualisieren der Daten von einem Datenbank-Framework befasst Ein weiterer.

Im Wesentlichen kann die Notwendigkeit einer Datenbankmigration spezifisch für eine Geschäftsanforderung sein oder sogar, um die neuesten, von verschiedenen Regulierungsbehörden eingeführten Regulierungsrichtlinien zu erfüllen. Obwohl es keine definierten Situationen gibt, in denen DBM erforderlich ist, haben wir einige Situationen aufgelistet, in denen dies unvermeidlich ist:

  • Ein häufiger Grund ist die Umstellung Ihres veralteten Systems auf ein System, das Ihre Geschäftsanforderungen und modernen Datenanforderungen erfüllt. Neue und moderne Speichertechniken sind in Zeiten von Big Data zu einer Notwendigkeit geworden.
  • Bestimmte Aufsichtsbehörden haben vorgeschrieben, dass die Daten nur in einer bestimmten Region verbleiben. Daher müssen verteilte Daten an einen einzigen Ort migriert werden.
  • Einige Unternehmen ziehen es vor, eine On-Premise-Datenbank in eine Cloud-Datenbank zu verschieben. Dies spart in der Regel Infrastruktur und Fachkenntnisse ein, die zur Unterstützung der Daten erforderlich sind, und macht die Systeme außerdem schneller.
  • Die Migration auf eine neue Plattform stellt eine umfassende Datenintegrität sicher. Es reduziert die Speicher- und Medienkosten, was zu einer erheblichen Verbesserung des ROI führt.
  • Viele moderne Unternehmen möchten alle ihre Daten an einem Ort aufbewahren. Auf diese Weise sind die Daten allen Abteilungen des Unternehmens zugänglich.

Die Migration des Datenbanksystems auf eine neue Plattform reduziert die Unterbrechung des täglichen Geschäftsbetriebs. Dies kann mit minimalem manuellen Aufwand erfolgen, wenn die Auswahl einer neuen Datenbankplattform mit Bedacht erfolgt.

Arten von Datenbanken

Bevor wir mit der Datenbankmigration fortfahren, werfen wir zunächst einen Blick auf die verschiedenen Arten von Datenbanken:

Arten von Datenbanken
  • Relationale Datenbank – Relationale Datenbanken sind als die Arbeitspferde der Datenbankbranche bekannt. Diese Datenbanken werden durch eine Reihe von Tabellen klassifiziert. Tabellen bestehen aus Zeilen und Spalten, wobei die Zeile eine Dateninstanz und die Spalte einen Dateneintrag für eine bestimmte Kategorie enthält. SQL – Structured Query Language ist eine Standard-Programmierschnittstelle für relationale Datenbanken.
  • Verteilte Datenbank – Wie der Name schon sagt, werden die Daten an verschiedenen Standorten jeder Organisation verteilt. Kommunikationslinks werden verwendet, um Sites miteinander zu verbinden. Dies hilft beim einfachen Zugriff auf die verteilte Datenbank.
  • Objektorientierte Datenbank – Dieser Datenbanktyp vereint Attribute der relationalen Datenbank und der objektorientierten Programmierung. Verschiedene in C++ und Java erstellte Elemente können in relationalen Datenbanken gespeichert werden, jedoch ist eine objektorientierte Datenbank für sie besser geeignet.
  • NoSQL-Datenbank – Die NoSQL-Datenbank kann große unstrukturierte Daten, die auf mehreren virtuellen Servern gespeichert sind, effizient analysieren. Im Gegensatz dazu kann eine relationale Datenbank einige Big-Data-Leistungen nicht effizient verarbeiten. NoSQL-Datenbanken können solche Fälle problemlos verwalten und werden für eine große Menge verteilter Daten verwendet.
  • Cloud-Datenbank – Cloud-Datenbank ist eine virtuelle Umgebung, die die Flexibilität bietet, pro Nutzung zu bezahlen. Der Benutzer muss nur für Bandbreite und Speicherkapazität bezahlen, die seinen Anforderungen entspricht.
  • Graph-Datenbank – Einfach ausgedrückt ist ein Graph eine Sammlung von Knoten und Kanten. Die Graph-Datenbank enthält Knoten, die Entitäten darstellen, und Kante beschreibt Beziehungen zwischen diesen Entitäten. Es ist eine Art NoSQL-Datenbank und verwendet die Graphentheorie, um Beziehungen abzubilden, zu speichern und abzufragen.
  • Zentralisierte Datenbank – Bei dieser Art von Datenbank werden die Daten an einem einzigen zentralen Ort gespeichert. Die Datenbank enthält im Wesentlichen Anwendungsprozeduren, die es Benutzern ermöglichen, auch von entfernten Standorten aus auf die DB zuzugreifen.

Ansätze der Datenbankmigration

Die Migration der Daten von einer Datenbankplattform auf eine andere kann eine entscheidende Aufgabe sein. Wenn die Migration in einer LIVE-Umgebung geplant ist, muss die Migration mit äußerster Vorsicht durchgeführt werden. Man muss eine geeignete Migrationszeit wählen, bevor man mit der Datenmigration fortfährt. Die Live-Systeme haben oft Ausfallzeiten, wenn die Daten in eine neue Datenbank übertragen werden.
Es gibt hauptsächlich zwei Ansätze für die Datenbankmigration:

Big-Bang-Datenmigration:

Bei diesem Ansatz entscheidet man sich dafür, die gesamte Datenbank in einem begrenzten Zeitrahmen auf einmal zu migrieren. Obwohl die Big-Bang-Datenmigration weniger komplex erscheint, erfordert sie eine ausreichende Ausfallzeit für die Live-Website. Darüber hinaus ist bei diesem Ansatz ein vollständiges Rollback des Migrationsprozesses möglicherweise nicht einfach zu erreichen, falls die Migration zu irgendeinem Zeitpunkt fehlschlägt.

Trickle-Datenmigration

Bei diesem Ansatz muss man den Migrationsprozess in kleinere Abschnitte oder Phasen aufteilen. Fast wie bei einem agilen Migrationsansatz muss, wenn eine einzelne Phase fehlschlägt, nur diese Phase zurückgesetzt und der Prozess wiederholt werden. Die Trickle-Datenmigration ist jedoch sehr zeitaufwändig und kann daher die Projektkosten erhöhen.

Verschiedene Arten von Migration

verschiedene-arten-der-migration

Relationale DB zu relationaler DB

Dieser Ansatz ist die einfachste Migration. Es gibt unzählige Tools, die diese Art der Migration ziemlich effizient durchführen, fast 100 % effektiv.

Relationale DB zu nicht-relationaler DB und umgekehrt

Diese Migration ist im Vergleich zu der vorgenannten schwieriger. Da sich relationale DB und nicht-relationale DB grundlegend unterscheiden, ist ihre Migration möglicherweise nicht zu 100 % effizient. Im Wesentlichen bedeutet die Migration zu nicht-relationaler DB, die ACID-Eigenschaften (atomar, konsistent, isoliert und dauerhaft) zu opfern, die die Skalierbarkeit einer Datenbank gewährleisten.
Es sind jedoch mehrere kostenlose Tools verfügbar, die die Datenbankmigration von relationaler zu nicht-relationaler DB unterstützen. Ihre Verwendung wird jedoch nicht allgemein empfohlen, da diese Tools die Schemastruktur des Systems nicht unterstützen und die meisten zu starr erscheinen, um die Systemanforderungen anzupassen.

Obwohl es einige grundlegende Konvertierungstipps gibt, die wir für diese Art der Migration darstellen können, die wir in Betracht ziehen können (der Einfachheit halber betrachten wir MySQL als unsere relationale Datenbank und MongoDB als unsere nicht relationale Datenbank).

konvertiere-mysql-string-datentyp-in-string-in-mongodb
  • Konvertieren Sie den MySQL-String-Datentyp in MongoDB in String. Dies kann char, varchar, blob, text usw. umfassen.
  • Konvertieren Sie den numerischen Datentyp von MySQL in MongoDB in Number. Dies kann int, float, decimal, double usw. umfassen.
  • Konvertieren Sie den MySQL-Datentyp Date in MongoDB in Date. Dies kann das Datum, das Jahr, den Zeitstempel usw. umfassen.
  • Konvertieren Sie den MySQL-Datentyp Bool & Boolean in MongoDB in Boolean.
  • Sie können andere Fälle auf die gleiche Weise auswerten.

Migration mit einem Hybridmodell

Das hybride Modelldesign integriert die beiden gängigen Datenbankmodelle in einem einzigen Framework und mindert gleichzeitig die Nachteile jedes Systems. Beispielsweise können wir immer einen hybriden Ansatz verfolgen, bei dem wir eine relationale DB für weniger anspruchsvolle Vorgänge in Kombination mit einer nicht-relationalen DB für datenintensive Initiativen nutzen können.

Datensicherung

Die Planung der Migrationsstrategie vor der Ausführung kann einen reibungslosen Migrationsprozess sicherstellen. Davon abgesehen müssen wir immer einen Plan B haben. Angenommen, ein Worst-Case-Szenario, bei dem es zu Datenverlust kommt oder die Daten während der Migration beschädigt werden; Sie müssen darauf vorbereitet sein, die Daten in ihrem ursprünglichen Zustand wiederherzustellen, bevor Sie es erneut versuchen. Aus diesem Grund ist die Datensicherung ein äußerst wichtiger Schritt während der DBM (Datenbankmigration). Lassen Sie uns also untersuchen, welche Möglichkeiten es gibt, um eine sichere Datensicherung zu gewährleisten.

Datensicherung in der Cloud

Datensicherung in der Cloud

Eine der effizientesten und sichersten Methoden zum Schutz Ihrer Migrationsinitiative ist die Ausführung eines Backups im Cloud-Speicher. Wenn Sie Ihre Daten im Cloud-Speicher sichern, werden Ihre Dateien im Wesentlichen extern gespeichert. Dadurch werden lokale Hardware-Schwachstellen beseitigt, die Probleme verursachen können. Warum also ein Cloud-Backup?

  • Cloud-Backups sind erschwinglich, da Sie nur pro Nutzung bezahlen müssen.
  • Ein Cloud-Backup ist sicher, da es eine Ende-zu-Ende-Verschlüsselung bietet.
  • Ermöglicht eine einfache Notfallwiederherstellung und Datenwiederherstellung
  • Zu den robusten Cloud-Backup-Optionen gehört die vollständige Sicherung des Systemabbilds. Daher müssen Sie das Betriebssystem nicht neu installieren. Computer & Server werden auf die letzte funktionierende Version zurückgesetzt.

Filesharing-Software

warum-zu-backup-to-cloud

Software-Suiten wie Dropbox wachsen, um die Bedürfnisse ihrer Benutzer zu erfüllen. Dropbox verwaltet Versionen von Dateien, die bei Bedarf wiederhergestellt werden können. Ähnlich wie beim Cloud-Backup ist diese Option erschwinglich und die Dateien werden extern gespeichert. Was sind seine Vorteile?

  • Dateien können auf jedem System an jedem Ort wiederhergestellt werden.
  • Es ist kostenlos und unterstützt die Zusammenarbeit.
  • Hochsicher (der Cloud-Speicher verschlüsselt Ihre Dateien während der Übertragung)
  • Offline-Arbeitsfähigkeiten

Ein Nachteil ist jedoch, dass die Wiederherstellung nicht automatisiert ist. Sie müssen die Daten kopieren und in die File-Sharing-Verzeichnisstruktur einfügen, um die Daten zu speichern. Die Dateien müssen sich in einer definierten Struktur befinden, sonst werden sie nicht gesichert. Wenn sich die Dateien in einem freigegebenen Ordner oder Verzeichnis befinden, benötigen Sie wahrscheinlich mehr Bandbreite, um diese Dateien zu sichern.

Im Allgemeinen gibt es andere verfügbare Medien für die Sicherung, z. B. eine Sicherung auf einem Flash-Laufwerk oder einer externen Festplatte. Diese Optionen werden jedoch nicht empfohlen, da sie im Vergleich zu Cloud-Backup- oder File-Sharing-Software nicht vollständig sicher sind. Beispielsweise kann jede physische Beschädigung einer Festplatte zu Datenverlust führen. Darüber hinaus sind sie anfälliger und anfälliger für Ransomware-Angriffe und Kryptoviren.

Wie kann sichergestellt werden, dass die Daten sicher sind?

Bei der Datenmigration müssen Sie sicherstellen, dass sensible Daten nicht verletzt oder manipuliert werden. Wenn die Migration schief geht, kann dies zu größeren Konsequenzen führen und zu Datenlecks oder Datenverlusten führen, wie die hier genannten Beispiele im Jahr 2020.

Leider können Datenlecks den Ruf des Kunden schädigen, zum Verlust von Geschäften und Kunden führen; oder in einigen Fällen rechtliche Schritte nach sich ziehen können. Um all diese Konsequenzen zu vermeiden, müssen Sie im Voraus einen Sicherheitsplan erstellen und dabei die Migrationsstrategie berücksichtigen.

  • Zu Beginn sollte ein zuverlässiger und sicherer Serverzugriff und Datenzugriff auf Ihrer Prioritätenliste stehen.
  • Erhöhen Sie die Anzahl der Berechtigungen, die für die Datenübertragung erforderlich sind. In größeren Organisationen beschränken Sicherheitsabteilungen den Zugriff auf die Server und definieren die Datenmigration zwischen den beteiligten Servern.
  • Daten sind einem hohen Risiko ausgesetzt, wenn mehrere Parteien beteiligt sind. Vermeiden Sie daher die Übertragung zwischen Parteien über tragbare Speichergeräte oder E-Mails. In solchen Fällen können die Daten leicht kompromittiert werden.
  • Um einen sicheren Zugriff, Speicherung und Abruf von Daten zu gewährleisten, muss man ständig Verschlüsselung und Entschlüsselung üben. Sie können hybride Verschlüsselungsalgorithmen verwenden, um maximale Datensicherheit zu gewährleisten. Aber das ist nicht jedem zu empfehlen. Wenn die Migration fehlschlägt, werden die Daten unübersichtlich und können zu Datenbeschädigung oder Datenverlust führen.

Um eine sichere Migration zu gewährleisten, vermeiden Sie die Verwendung primitiver Tools. Die Verwendung primitiver Tools kann Ihr System schwächen und Lücken hinterlassen, auf die Hacker zugreifen können. Sie müssen robuste Tools für die Datenmigration einsetzen, die funktionsspezifisch sind.

Datenmigrationsprozess

Die Datenmigration ist im Prinzip ein mehrphasiger Prozess, und die folgenden Schritte sollten befolgt werden, um Datenverluste zu vermeiden und eine sichere Datenbankmigration zu gewährleisten.

  1. Bewertung :
  • Sammeln Sie die Analyse der Geschäftsanforderungen und definieren Sie das Hauptziel, das Sie mit DBM erreichen müssen.
  • Definieren Sie den Umfang
  • Umfangreiche Datenprofilerstellung durchführen:
    • Überprüfen Sie die Quelldaten, das Datenformat, überprüfen Sie die Schemastruktur, den Inhalt und die Beziehungen zwischen den Dateninstanzen
  • Verstehen Sie das Zielsystem
  • Identifizieren Sie die Beteiligten
  • Budgetieren Sie die gesamte Aktivität
  1. Datensicherung
  • Stellen Sie sicher, dass die Daten, die Sie migrieren, sicher gesichert sind. Es wird empfohlen, ein Cloud-Backup zu verwenden.
  • Stellen Sie sicher, dass das Ziel sauber und vor Daten-Hacks geschützt ist.
  1. Ressourcenverfügbarkeit :
  • Die Zeitverfügbarkeit für die Migration und die Ausfallzeit für das Zielsystem.
  • Stellen Sie sicher, dass das eingestellte Personal über die richtigen Fähigkeiten verfügt.
  • Identifizieren Sie das richtige Tool und die richtigen Skripte.
  1. Ausführung der Datenmigration :
  • Der Migrationsprozess kann Scripting, ETL-Tools oder andere vergleichbare Tools zum Verschieben der Daten umfassen.
  • Zum Zeitpunkt der Migration werden Sie Daten transformieren, die Datentypen normalisieren und schließlich auf mögliche Fehler prüfen.
  1. Testen & Tunen :
  • Das Team und das Kundenteam müssen absolut sicher sein, dass alle Daten korrekt migriert werden
  • Überprüfen Sie also, ob die Daten korrekt verschoben wurden, ob die Daten vollständig sind und stellen Sie sicher, dass keine fehlenden Werte vorhanden sind.
  • Stellen Sie außerdem sicher, dass die Daten gültig sind und keine Nullwerte enthalten.
  • Falls Datenkonflikte auftreten, sollte ein Daten-Rollback durchgeführt und der gesamte Prozess neu gestartet werden.
  1. Prüfung

Sobald die neue Datenbank live ist, kann ein System eingerichtet werden, um die Daten zu prüfen. Dadurch wird die Genauigkeit der Datenbankmigration sichergestellt und auf unvollständige und ungenaue Daten aufmerksam gemacht.

Mögliche Risiken bei der Datenbankmigration

potenzielle-risiken-mit-datenbankmigration

Die Datenbankmigration ist ein äußerst kompliziertes Verfahren und mit Risiken und Ungewissheiten verbunden. Sie können diese immer durch richtige Planung und Ausführung überwinden. Folgende Risiken können auftreten:

  • Veraltete Quellsysteme: Hier kann die Datenquelle veraltet, redundant, obsolet oder trivial sein
  • Unterschiedliche Datenbankarchitektur: In diesem Szenario könnten sich die Quelldatenbanken an mehreren Standorten befinden und völlig unterschiedliche Architekturen aufweisen, die Zieldatenbank muss jedoch synchron sein.
  • Längere Ausfallzeit: Es gibt Fälle, in denen die geplante Migration länger dauert als erwartet, und dadurch eine längere Ausfallzeit für das System entsteht. Dies kann zu Geschäftsverlusten für den Endkunden führen und ist möglicherweise nicht akzeptabel.
  • Möglicher Datenverlust: Nicht alle Datenverluste können während der Testphase identifiziert werden. Einige Fälle von Datenverlust werden möglicherweise identifiziert, wenn das System genügend Datenverkehr erhält.

Migration von einer Echtzeitdatenbank: Für jede Website mit hohen Transaktionszahlen ist die Migration der Datenbank immer schwierig, da ständig Datenaktualisierungen stattfinden; und die Migration von Live- und Echtzeitdaten ist nicht möglich. Es muss eine Ausfallzeit geben, damit eine Migration stattfinden kann.

Schlussbemerkungen

Sie können sich jederzeit von externen Experten zur Datenbankmigration beraten lassen. Wir sind Creole Studios, die sich auf Datenbankmigrationen spezialisiert haben, und wir helfen oder beraten Sie gerne bei solchen Unternehmungen. Bleiben Sie angeschnallt für den vierten und letzten Blog der Serie zur Technologiemigration.