AWS DMS

DWH-Modernisierung mit dem AWS Database Migration Service

AWSLogoIm Rahmen einer Modernisierungsstrategie für die eigene BI-Umgebung steht inzwischen eine große Bandbreite verschiedenster neuer Technologien zur Verfügung. Diese sollten im Rahmen der Erarbeitung eines eines Konzeptes berücksichtigt werden. Die Potentiale, die die Nutzung von Clouddiensten bietet, sind definitiv eine der zu prüfenden Möglichkeiten bei der Modernisierung eines Data-Warehouses (DWH). Denn im Vergleich zu anderen neuen Technologien haben Clouddienste den Hypestatus bereits verlassen und sind auch in großen Unternehmen (z.B. Deutsche Bahn AG) inzwischen ein Teil der Gesamtstrategie der IT.

Da mit dem Wechsel der BI-Umgebung in die Cloud sowieso eine Ablösung der On-Premises Infrastruktur ein Teil der Aufgabe ist können in diesem Zuge auch gleich noch weitere Potenziale erschlossen werden. Diese können sich in Einsparpotenziale, einer Simplifizierung oder auch einer Nutzung schnellerer Technologien für die BI-Umgebung äußern. So kann man z.B. noch die folgenden Punkt andenken:

  • Umstellung auf andere z.B. lizenzfreier Data-Warehouse-Technologien wie PostgreSQL
  • Konsolidieren bestehender BI-Datenbanken durch Schemaanpassung oder Zusammenführung/Auseinanderdividieren von Data-Warehouses
  • Kontinuierliche Replikation von Daten aus dem Quell- in das Zielsystem anstatt einer ad hock Ablösung einer Datenbank durch Einmal-Migration mit der Möglichkeit einer längerfristigen Umstellung aller Applikationen auf eine neue Datenbanktechnologie

Umsetzung in Amazon Web Services (AWS) mit dem Database Migration Service

Amazon bietet mit den Amazon Database Migration Services (AWS DMS) ein umfangreiches Toolset an, um die Migration einer lokalen BI-Umgebung (DWH oder Datenbanken) bzw. deren Replikation in die Amazon-Cloud zu vereinfachen. Die Tools sind darauf angelegt, eine Migration bzw. Replikation strukturiert und transparent zu organisieren und unterstützt bei den Herausforderungen, die bei dieser Art der Aufgabenstellung klassischerweise auftreten. Diese können beispielsweise uneinheitliche Schemaobjekte der verschiedenen BI-Datenbanktechnologien, Notwendigkeit der parallelen Führung einer doppelten Datenhaltung in der Übergangsphase in die Cloud. In AWS sind die Tools darauf ausgelegt, genau dieses zu Gewährleisten.

Migration vs. Replikation in AWS

In AWS wird nicht eindeutig zwischen einer Replikation bzw. Migration unterschieden. Grundsätzlich kann eine Migration ein einmaliger Transfer einer Datenbank mit der Ablösung einer legacy Datenbank verstanden werden, während bei der Replikation eher ein Parallelbetrieb verschiedener Datenbanken verstanden wird. So können zur Erhöhung der Ausfallsicherheit durchaus DWHS oder Datenbanken repliziert werden ohne das eigentliche Ausgangssystem irgendwann abzuschalten.

Bei den meisten Ablösungen von DWHs ist es aber zumeist so, dass diese doppelt vorgehalten werden. Die auf das DWH zugreifenden Applikationen (z.B. Analytic Tools) können häufig nicht einfach parallel mit migriert werden. Daher findet auch bei einer klassischen Migration in einem gewissen zeitlichen Rahmen eine Replikation statt. Daher wird in AWS nur wenig zwischen einer Replikation und Migration unterschieden.

Im Rahmen von AWS ist es wichtig zu verstehen, dass die AWS eigenen Tools im Rahmen der Database Migration Services vor allem Migrationen bzw. Replikationen von und nach AWS unterstützen.

homogene vs. heterogene Migration

In AWS wird grundsätzlich zwischen einer homogenen und einer heterogenen Migration (bzw. Replikation) unterschieden. Diese sind interne Bezeichnung innerhalb von AWS um zu verdeutlichen, dass nicht nur eine Migration oder Replikation innerhalb gleicher Datenbanksysteme (z.B. „homogen“ von Oracle nach Oracle). Auch ein Wechsel der Systeme ist möglich (z.B. „heterogen“ von Oracle nach postgreSQL). Jeder, der eine solche „heterogene“ Migration bereits mal organisiert hat, weiß um die Herausforderungen, die damit verbunden sind.

DMS Task vs. Schema Conversion Tool (SCT) vs. native Migrationstools

In AWS stehen verschiedene Werkzeuge für die Migration bzw. Replikation von DWHs oder einfachen Datenbanken zu Verfügung. Grob formuliert kann ein Task ein Full Load, ein Delta Load oder beides beinhalten. Als kontinuierlicher Dienst ist dieser nicht zeitgebunden sondern repliziert kontinuierlich Daten aus einem Quellsystem in ein Zielsystem. Der Service bietet darüber hinaus auch noch weitere Funktionen um einen Task herum, wie Logs, Benachrichtigungen usw..

Migrations- und Replikationsmöglichkeiten

Auswahlmöglichkeiten für ein Task in DMS

Bei heterogenen Migrationen (siehe unten) kann das notwendige Mapping der Schemata des Quell- und Zielsystems durch das Schema Conversion Tool (SCT) organisiert werden. Dieses ist ein desktopbasierendes und kostenfreies Werkzeug für Windows, Mac und Linux. Dieses erlaubt das Folgende:

  • Kopieren eines Datenbankschemas von einer Quelle auf ein Ziel
  • Konvertieren eines Datenbank- oder Data Warehouse-Schemas
  • Analysieren einer Datenbank, um
    • die Konvertierungskomplexität zu ermitteln
    • mögliche Einschränkungen für die Ausführung auf Amazon RDS zu ermitteln
    • zu ermitteln, ob ein Lizenz-Downgrade möglich ist
  • Konvertieren von eingebettetem SQL-Code in einer Anwendung
  • Migrieren von Data Warehouse-Daten zu Amazon Redshift

Siehe https://aws.amazon.com/de/dms/faqs/ – 07.06.2017

Analyse heterogene Migration

Auswertung einer Analytik im Schema Conversion Tool mit einer Übersicht (links) und einer Detailauswertung (rechts)

Man beachte, dass für die heterogene Migration bzw. Replikation nur bestimmte DWH- bzw. Datenbanksysteme unterstützt werden. Dies sind im Folgenden:

Quelldatenbank Zieldatenbank auf Amazon RDS
Oracle Database Amazon Aurora, MySQL, PostgreSQL, MariaDB
Oracle Data Warehouse Amazon Redshift
Microsoft SQL Server Amazon Aurora, Amazon Redshift, MySQL, PostgreSQL, MariaDB
Teradata Amazon Redshift
IBM Netezza Amazon Redshift
Greenplum Amazon Redshift
HPE Vertica Amazon Redshift
MySQL und MariaDB PostgreSQL
PostgreSQL Amazon Aurora, MySQL, MariaDB
Amazon Aurora PostgreSQL

https://aws.amazon.com/de/dms/ – 26.05.2017

Die Entwicklung geht aber immer weiter. Seit 10. April 2017 wird auch NoSQL-Datenbank MongodDB als Quellsystem sowie Amazon DynamoDB als Sourcesystem unterstützt.

Das SCT migriert die Daten nicht direkt über das Tool, bietet aber eine direkte Integration in ein DMS Task an, so dass mit dem definierten Mapping innerhalb von SCT die Migration bzw. Replikation innerhalb des Task möglich ist.

Zudem stehen auch in AWS die nativen Migrationstools wie Export/Import oder Datapump (Oracle) oder auch pg_dump (potgreSQL) zur Verfügung, unabhängig davon ob die Datenbank im Rahmen von RDS oder auf einer EC2-Instanz läuft.

Kosten

Grundsätzlich werden die einzelnen Tasks in AWS DMS nicht in Rechnung gestellt, d.h. prinzipiell kann eine virtuell unendliche Anzahl von Tasks eingerichtet werden ohne dass es zu einem finanziellen Mehraufwand kommt. Auch das Schema Conversion Tool ist lizenzkostenfrei. Wie üblich bei AWS ist nur die für die Migration benötigte Infrastruktur kostenpflichtig. Kostenfaktor sind vor allem zwei AWS Dienste:

  • Die Migrations- und Replikationstasks werden auf Replikationsinstanzen ausgeführt, deren Betrieb kostenpflichtig ist.
  • Sind AWS-externe Datenbanken an der Migration beteiligt, die via DierectConnect oder VPN an AWS angebunden sind, treten weitere Kosten durch den Datentransfer für die Migration und Replikation auf.

Die aktuelle Preisgestaltung kann direkt von der AWS Webseite abgerufen werden: https://aws.amazon.com/de/dms/pricing/

Fazit

Eine Modernisierungsstrategie für ein Datawarehouse sollte die Migration in die Cloud beinhalten. Als Erweiterung sollte aber auch die Ablösung lizenzgebundener DWH-Systeme durch lizenzfreier Systeme mit angedacht werden, alleine schon um Kostenvorteile zu erwirtschaften. In AWS steht auch das notwendige Werkzeugset zur Verfügung um dieses schnell und transparent zu planen. Mit dem Einsatz des Schema Conversion Tools können die erwarteten Aufwände und Risiken schnell analysiert werden. Man springt so nicht ins kalte Wasser.

Durch die Replikationsmöglichkeit in AWS DMS besteht auch die Möglichkeit gegeben, eine Migration nicht ad hock zu vollziehen sondern über einen längeren Zeitraum um die neue Umgebung testen zu können. Dies bietet so die Möglichkeit auch DWHs und Datenbanken abzulösen die von einer umfangreichen Anzahl von Applikationen genutzt werden und deren ad hock Umstellung auf eine neue Datenbanktechnologie nur mit hohem Aufwand bzw. Risiko verbunden ist.

Zudem erlaubt es diese eine einfache Skalierung von Datenbankservern (auch weltweit verteilt), Einrichtung hochverfügbarer Infrastrukturen sowie on-the-fly Sicherung auf räumlich verteilten Standorte.