Was sind die bewährten Methoden für die Migration einer RDBMS-Datenbank zu Amazon Redshift mithilfe von AWS DMS?

Letzte Aktualisierung: 18.08.2022

Ich habe eine Relational-Database-Management-System-Datenbank (RDBMS), die ich mithilfe des AWS Database Migration Service (AWS DMS) zu Amazon Redshift migrieren möchte. Welche bewährten Methoden kann ich bei der Migration einer RDBMS-Datenbank zu Amazon Redshift befolgen?

Auflösung

Verwenden Sie die bewährten Methoden in diesem Artikel, um Sie bei der Migration von RDBMS-Datenbanken zu Amazon Redshift mithilfe von AWS DMS zu unterstützen.

  • Verwenden Sie paralleles Laden mit Ihren Tabelleneinstellungsregeln, wenn Sie Daten zu einem Amazon-Redshift-Endpunkt migrieren. Weitere Informationen zum Verwenden von Parallel Load und wie es zur Beschleunigung der Migration verwendet werden kann, finden Sie unter Verwenden von parallelem Laden für ausgewählte Tabellen, Ansichten und Sammlungen.
  • Die AWS-DMS-Versionen 3.4.5 und höher bieten Unterstützung für die Verwendung der ParallelLoad-Aufgabeneinstellungen während des vollständigen Ladens auf Amazon-Redshift-Zielendpunkte. Weitere Informationen finden Sie unter Einstellungen für Multithread-Vollladeaufgaben für Amazon Redshift.
  • Wenn Sie eine große Datenmenge zu Amazon Redshift migrieren, erhöhen Sie die Endpunkt-Attributwerte für maxFileSize und FileTransferUploadStreams. Auf diese Weise kann die Leistung bei Volllast verbessert werden. Dann erhöhen Sie den CommitRate-Wert, um die Leistung zu verbessern.
  • Da AWS DMS den vollständigen Lob-Modus nicht unterstützt, wenn Sie Amazon Redshift als Ziel für Ihre Datenbanken verwenden, sollten Sie LobMaxSize auf einen geeigneten Wert konfigurieren.
  • Stellen Sie sicher, dass Ihre Amazon-Redshift-Tabellen einen Primärschlüssel haben. Wenn Ihre Zieltabelle keinen Primärschlüssel hat, werden Einfügungen im BatchApply-Modus vorgenommen. Da Aktualisierungen und Löschungen dann nacheinander angewendet werden, wirkt sich dies auf die Leistung aus. Stellen Sie daher sicher, dass AWS-DMS-CDC-Daten stapelweise auf das Amazon-Redshift-Ziel migriert, um Leistungsprobleme zu vermeiden.
  • Passen Sie die Batch-Apply-Einstellungen entsprechend der Workload an, um die Anzahl der Commits auf dem Ziel zu reduzieren. Zu den Einstellungen für die Batch-Anwendung gehören BatchApplyTimeoutMin, BatchApplyTimeoutMax und BatchApplyMemoryLimit.
  • Verwenden Sie BatchSplitSize, um die maximale Anzahl von Änderungen festzulegen, die in einem einzelnen Batch angewendet werden. Der Standardwert ist 0, was bedeutet, dass kein Limit angewendet wurde.
  • Erstellen Sie Amazon-Redshift-Zieltabellen mit den entsprechenden Verteilungs- und Sortierschlüsseln. Wenn AWS DMS Tabellen für Amazon-Redshift-Ziele erstellt, werden Tabellen mit einem Standardverteilungsschlüssel und ohne Sortierschlüssel erstellt. Amazon Redshift speichert Daten auf der Festplatte in einer sortierten Reihenfolge gemäß dem Sortierschlüssel. Der Amazon-Redshift-Abfrageoptimierer verwendet die Sortierreihenfolge, um optimale Abfragepläne zu ermitteln. Wenn Sie also eine Abfrage ausführen, verteilt der Abfrageoptimierer Zeilen nach Bedarf an die Rechenknoten, um Verknüpfungen und Aggregationen auszuführen. Weitere Informationen finden Sie unter Auswählen des besten Sortierschlüssels und Arbeiten mit Datenverteilungsstilen.
  • Wenn Sie einen hohen Transaktionsaufwand haben, verwenden Sie ähnliche Einstellungen wie diese. Diese Beispieleinstellungen bedeuten, dass ein Batchpuffer von 8000 MB innerhalb von 1800 Sekunden mit 32 parallelen Threads und einer maximalen Dateigröße von 250 MB gefüllt wird.

    Amazon-Redshift-Endpunkteinstellungen:

MaxFileSize=250000;

Einstellungen der Aufgabe:

BatchApplyEnabled=true;
BatchSplitSize =8000;
BatchApplyTimeoutMax =1800;
BatchApplyTimeoutMin =1800;
ParallelApplyThreads=32;
ParallelApplyBufferSize=100;
  • Stellen Sie sicher, dass in Amazon Redshift keine Sperren oder blockierenden Sitzungen vorhanden sind. Weitere Informationen finden Sie unter Wie erkenne und gebe ich Sperren in Amazon Redshift frei?
  • Verwenden Sie das Amazon-Redshift-Workload-Management-Tool (WLM), um Ihren Workload zu verwalten. Amazon Redshift WLM kann verwendet werden, um mehrere Abfragewarteschlangen zu definieren und Abfragen zur Laufzeit an die entsprechenden Warteschlangen weiterzuleiten. Weitere Informationen finden Sie unter Workload-Management.