Repurchase oder Refactor? Die Optionen am Beispiel von PostgreSQL
Wer die Gelegenheit der Cloud-Migration zu AWS nutzen möchte, auf eine neue Datenbank in der AWS Cloud umzusteigen, also eine heterogene Datenbankmigration anstrebt, hat insbesondere die Wahl zwischen den Migrationsstrategien Repurchase und Refactor:
Repurchase meint hier in der Regel den Umstieg von Oracle auf eine andere relationale Datenbank, meist eine Open-Source-Datenbank (z. B. PostgreSQL, MySQL, MariaDB).
Refactor/Rearchitect läuft auf den Umstieg auf einen cloud-nativen AWS Datenbank-Service hinaus: als relationale Datenbank (z. B. Amazon Aurora), als NoSQL-Datenbank (Amazon DynamoDB) oder als Data Warehouse (Amazon Redshift).
Häufig entscheiden sich Organisationen, von Oracle auf PostgreSQL zu wechseln – aufgrund der relativen technischen Nähe beider Datenbanktechnologien eine sinnvolle Wahl. PostgreSQL, kurz Postgres, ist ein schlankes, modulares und leistungsfähiges Datenbankmanagementsystem, das seit den 1980er Jahren entwickelt wird, seit 1996 als Open Source. Wie Oracle unterstützt es objektrelationale Daten, Trigger sowie Prozeduren und kommt bereits in Tausenden businesskritischen Anwendungen zum Einsatz.
Auf AWS ist PostgreSQL mit beiden genannten R-Optionen möglich: Sie können PostgreSQL auf einer EC2-Instanz installieren (Repurchase) oder die komplett gemanagten Datenbankservices von AWS nutzen (Refactor/Rearchitect): entweder PostgreSQL auf Amazon RDS oder Amazon Aurora PostgreSQL für höhere Ansprüche an Performance, Skalierbarkeit und Verfügbarkeit.
Die Installation von PostgreSQL auf Amazon EC2 ist die preiswerteste Option. Sie installieren und verwalten Ihre Datenbank auf einer VM in Amazon EC2, haben Zugriff auf sämtliche Konfigurationsmöglichkeiten inkl. Server-Betriebssystem, müssen sich aber selbst um Updates und Funktionen wie Hochverfügbarkeit, Backups oder Streaming Replication für bessere Skalierbarkeit kümmern.
PostgreSQL auf Amazon RDS: Amazon RDS erleichtert das Einrichten, Betreiben und Skalieren relationaler Datenbanken in der AWS-Cloud (EC2) und nimmt Anwendern die meisten Admin-Aufgaben ab. Mit Funktionen wie automatisierten Backups, Replikation zur Skalierung sowie Multi-AZ-Bereitstellung (synchron über verschiedene Availability Zones) und automatischem Failover für Hochverfügbarkeit und Disaster Recovery ist er für wartungsarme Produktivumgebungen bestens geeignet.
Amazon Aurora PostgreSQL: Amazon Aurora PostgreSQL nutzt ein performanteres Speichersystem: Statt EBS-Volumes (Amazon Elastic Block Storage) für jede Datenbank-Instanz nutzt es dynamischen Speicher, der Replikationen, Failover, Recovery sowie Workloads mit hohem Parallel-Durchsatz erheblich beschleunigt. Es bietet einige zusätzliche Funktionen (u. a. Datenbank-Klonen, Serverless, regionenübergreifende Datenbanken), aber weniger kleine Instanzen. Für Umsteiger von kommerziellen Datenbank-Engines wie Oracle bietet Aurora PostgreSQL lt. AWS die gleiche Leistung zu einem niedrigeren Preis. Hinweise zur Auswahl der für Sie geeigneten Service-Option finden Sie in diesem AWS Beitrag: Ist Amazon RDS for PostgreSQL oder Amazon Aurora PostgreSQL die bessere Wahl für mich?
Für die Migration Ihrer Oracle-Daten zu PostgreSQL steht eine Reihe von Werkzeugen zur Verfügung, zum Beispiel der AWS Database Migration Service (AWS DMS). AWS DMS ist ein verwalteter Migrations- und Replikationsservice von AWS, mit dem Sie AWS zufolge Datenbank- und Analyse-Workloads schnell, mit minimalen Ausfallzeiten und ohne Datenverlust zu AWS verlagern können.