2017-03-13 6 views
0

Wir planen derzeit, ein Oracle Data Warehouse mit 50 TB auf Amazon Redshift zu migrieren.Amazon Redshift Framework (Oracle Data Warehouse-Migration)

Daten aus verschiedenen OLTP-Datenquellen wurden zuerst in einer Oracle-Staging-Datenbank bereitgestellt und dann in das Data Warehouse geladen. Momentan wurden Daten mit Tonnen von PL/SQL Stored Procedures in der Staging-Datenbank transformiert und in das Data Warehouse geladen.

OLTP-Datenquelle 1 -> JMS (MQ) Echtzeit ->Oracle STG Datenbank -> Oracle DW

Hinweis: JMS MQ Verbraucher schreibt Daten in Staging-Datenbank

OLTP-Datenquelle 2 -> CDC inkrementelle Daten (einmal in 10 Minuten) ->Oracle STG Datenbank -> Oracle DW

Hinweis: Change Data Capture auf dem sourc Die Seitendaten werden einmal in 10 Minuten in die Staging-Datenbank geladen.

Was wäre der bessere Rahmen, um diesen Stack vollständig (hervorgehoben) zu Amazon Redshift zu migrieren? Auf welche Komponenten in AWS können wir umsteigen?

Antwort

2

Wow, klingt wie ein großes Stück Arbeit. Es gibt einige Dinge, die hier vor sich gehen, die alle berücksichtigt werden müssen.

Ihr bester Ausgangspunkt ist wahrscheinlich AWS Database Migration Service (https://aws.amazon.com/dms/). Dies kann eine Menge Arbeit für Sie in Bezug auf die Konvertierung Ihrer Schemas und Hervorhebung von Bereichen, die Sie manuell migrieren müssen.

Sie sollten S3 als Ihren primären Staging-Bereich betrachten. Sie müssen alle (oder fast alle) Daten in S3 landen, bevor Sie zu Redshift geladen werden. Überlegen Sie sehr genau, wie die Daten aufgebaut sind. Insbesondere empfehle ich, Partitionierungspräfixe zu verwenden (s3://my_bucket/YYYYMMDDHHMI/files oder s3://my_bucket/year=YYYY/month=MM/day=DD/hour=HH/minute=MI/files).

Ihre PL/SQL-Logik ist für Redshift nicht portierbar. Sie müssen die Nicht-SQL-Teile in bash oder Python konvertieren und ein externes Tool verwenden, um die SQL-Teile in Redshift auszuführen. Ich würde vorschlagen, dass Sie mit Apache Airflow (Python) oder Azkaban (bash) beginnen. Wenn Sie reine AWS bleiben wollen, können Sie Data Pipeline ausprobieren (nicht empfohlen) oder warten, bis AWS Glue freigegeben wird (sieht vielversprechend aus - ungeprüft).

Sie können Amazon Kinesis Firehose für die Arbeit verwenden, die derzeit von JMS ausgeführt wird, aber die ideale Verwendung von Kinesis unterscheidet sich ziemlich von der typischen Verwendung von JMS (AFAICT).

Viel Glück

Verwandte Themen