Zum Inhalt springen

Glossar · M

Migration

Versionierte Datenbank-Änderung in Code-Form. Beschreibt schrittweise, wie sich das Schema vom alten Stand in den neuen entwickelt.

Definition

Migration bezeichnet im Kontext von Datenbanken den Prozess der schrittweisen Anpassung und Änderung des Datenbankschemas. Dies erfolgt in der Regel durch versionierte Datenbank-Änderungen, die in Form von Code dokumentiert sind. Migrationen ermöglichen es Entwicklern, Änderungen an der Datenbankstruktur systematisch und nachvollziehbar umzusetzen.

Der Begriff wird häufig in der Softwareentwicklung verwendet, insbesondere im Zusammenhang mit Webanwendungen und Frameworks, die eine dynamische Datenbankanpassung erfordern. Migrationen helfen dabei, die Konsistenz der Datenbank über verschiedene Versionen einer Anwendung hinweg zu gewährleisten.

Was bedeutet das für Ihr Unternehmen?

Migrationen sorgen dafür, dass eine neue Programmversion und die passende Datenbankstruktur gemeinsam ausgeliefert werden, ohne dass jemand von Hand Tabellen ändert. Bei Updates einer laufenden Anwendung sind sie der Teil mit dem größten Risiko, weil eine fehlerhafte Änderung bestehende Daten betreffen kann. Ein Backup unmittelbar vor dem Einspielen und ein Probelauf auf einer Testumgebung mit realistischen Datenmengen gehören deshalb zu jedem größeren Release.

Hintergrund

Die Notwendigkeit von Migrationen ergibt sich aus der evolutionären Natur von Softwareprojekten, bei denen sich Anforderungen und Datenstrukturen im Laufe der Zeit ändern. Um sicherzustellen, dass die Datenbank mit der aktuellen Anwendung übereinstimmt, müssen Entwickler Änderungen an Tabellen, Spalten und Beziehungen vornehmen.

Migrationen wurden populär mit der Einführung von Frameworks wie Ruby on Rails, das ein integriertes Migrationssystem bereitstellt. Diese Systeme ermöglichen es Entwicklern, Änderungen an der Datenbankstruktur einfach zu erstellen, zu verwalten und rückgängig zu machen.

Funktionsweise

Migrationen werden in der Regel durch Skripte oder spezielle Tools verwaltet, die die notwendigen SQL-Befehle generieren, um die gewünschten Änderungen an der Datenbank vorzunehmen. Diese Skripte sind oft in einer Versionskontrolle gespeichert, sodass jede Änderung dokumentiert und nachvollziehbar ist.

Ein typisches Migrationssystem ermöglicht es, Migrationen in einer bestimmten Reihenfolge auszuführen, um sicherzustellen, dass die Datenbank in einem konsistenten Zustand bleibt. Entwickler können Migrationen auch zurücksetzen, um frühere Datenbankzustände wiederherzustellen, was besonders in der Entwicklungsphase hilfreich ist.

Einsatzgebiete

Migrationen finden Anwendung in einer Vielzahl von Softwareprojekten, insbesondere in solchen, die auf relationalen Datenbanken basieren. Sie sind ein wesentlicher Bestandteil des Entwicklungsprozesses, da sie die Anpassung der Datenbank an neue Anforderungen erleichtern.

Darüber hinaus werden Migrationen auch in DevOps-Umgebungen eingesetzt, um sicherzustellen, dass die Datenbankänderungen synchron mit den Anwendungsupdates erfolgen. Dies trägt zur Minimierung von Fehlern und Inkonsistenzen bei, die durch manuelle Änderungen entstehen könnten.

Abgrenzung

Migrationen sind nicht zu verwechseln mit Datenmigration, die den Transfer von Daten zwischen verschiedenen Systemen oder Datenbanken beschreibt. Während Migrationen sich auf die Struktur der Datenbank konzentrieren, befasst sich die Datenmigration mit dem Inhalt und der Übertragung von Daten selbst.

Ein weiterer verwandter Begriff ist das Schema-Management, das sich auf die Verwaltung und Versionierung von Datenbankschemas konzentriert. Während Migrationen spezifische Änderungen an einem Schema dokumentieren, bezieht sich das Schema-Management auf die umfassende Strategie zur Verwaltung der gesamten Datenbankstruktur über den Lebenszyklus einer Anwendung hinweg.

Verwandte Begriffe

Passende Leistung

Sie möchten wissen, was das für Ihr Projekt bedeutet? Sprechen Sie uns an.

Zur Leistung: Datenbank-Systeme