Verwendung von Netezza als Quelle für AWS SCT - AWS Schema Conversion Tool

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwendung von Netezza als Quelle für AWS SCT

Sie können AWS SCT es verwenden, um Schemas, Codeobjekte und Anwendungscode von Netezza nach Amazon Redshift zu konvertieren.

Privilegien für Netezza als Quelle

Die folgenden Rechte sind erforderlich, um Netezza als Quelle verwenden zu können:

  • wählen Sie in der system.definition_schema.system-Ansicht

  • wählen Sie in der Tabelle system.definition_schema.system aus

  • wählen Sie in der Tabelle system.definition_schema.management

  • liste auf <database_name>

  • liste auf <schema_name>

  • Liste auf <database_name>.all.table

  • Liste in der Tabelle <database_name>.all.external

  • Liste auf <database_name>.all.view

  • Liste in der Ansicht „<database_name>.all.materialized“

  • Liste auf <database_name>.all.procedure

  • Liste auf <database_name>.all.sequence

  • Liste auf <database_name>.all.function

  • Liste auf <database_name>.all.aggregate

Ersetzen Sie die Platzhalter im vorherigen Beispiel wie folgt:

  • Ersetzen Sie database_name durch den Namen der Quelldatenbank.

  • Ersetzen Sie schema_name durch den Namen des Quellschemas.

AWS SCTerfordert Zugriff auf die folgenden Systemtabellen und Ansichten. Sie können Zugriff auf diese Objekte gewähren, anstatt Zugriff auf system.definition_schema.system view und system.definition_schema.system tables in der vorherigen Liste zu gewähren.

  • wählen Sie system.definition_schema aus. _t_aggregat

  • wählen Sie system.definition_schema aus. _t_class

  • wählen Sie system.definition_schema aus. _t_Beschränkung

  • wählen Sie system.definition_schema aus. _t_const_relattr

  • wählen Sie system.definition_schema aus. _t_database

  • wählen Sie system.definition_schema aus. _t_grpobj_priv

  • wählen Sie system.definition_schema aus. _t_grpusr

  • wählen Sie system.definition_schema aus. _t_hist_config

  • wählen Sie system.definition_schema aus. _t_objekt

  • wählen Sie system.definition_schema aus. _t_objekt_klassen

  • wählen Sie system.definition_schema aus. _t_proc

  • wählen Sie system.definition_schema aus. _t_typ

  • wählen Sie system.definition_schema aus. _t_user

  • wählen Sie system.definition_schema aus. _t_usrobj_priv

  • wählen Sie system.definition_schema aus. _vt_sequenz

  • wählen Sie system.definition_schema aus. _v_aggregat

  • wählen Sie system.definition_schema aus. _v_constraint_depends

  • wählen Sie system.definition_schema aus. _v_database

  • wählen Sie system.definition_schema aus. _v_datatype

  • wählen Sie system.definition_schema aus. _v_dslice

  • wählen Sie system.definition_schema aus. _v_function

  • wählen Sie system.definition_schema aus. _v_gruppe

  • wählen Sie system.definition_schema aus. _v_obj_relation

  • wählen Sie system.definition_schema aus. _v_obj_relation_xdb

  • wählen Sie system.definition_schema aus. _v_procedure

  • wählen Sie system.definition_schema aus. _v_relation_column

  • wählen Sie system.definition_schema aus. _v_relation_keydata

  • wählen Sie system.definition_schema aus. _v_relobjclasses

  • wählen Sie system.definition_schema aus. _v_schema_xdb

  • wählen Sie system.definition_schema aus. _v_sequenz

  • wählen Sie system.definition_schema aus. _v_synonym

  • wählen Sie system.definition_schema aus. _v_system_info

  • wählen Sie system.definition_schema aus. _v_sys_constraint

  • wählen Sie system.definition_schema aus. _v_sys_object_dslice_info

  • wählen Sie system.definition_schema aus. _v_sys_user

  • wählen Sie system.definition_schema aus. _v_table

  • wählen Sie system.definition_schema aus. _v_table_constraint

  • wählen Sie system.definition_schema aus. _v_table_dist_map

  • wählen Sie system.definition_schema aus. _v_table_organize_column

  • wählen Sie system.definition_schema aus. _v_table_storage_stat

  • wählen Sie system.definition_schema aus. _v_user

  • wählen Sie system.definition_schema aus. _v_view

  • wählen Sie system.information_schema aus. _v_relation_column

  • wählen Sie system.information_schema aus. _v_table

  • wähle auf $hist_column_access_*

Verbindung zu Netezza als Quelle herstellen

Gehen Sie wie nachfolgend beschrieben vor, um mit dem AWS Schema Conversion Tool eine Verbindung zu Ihrer Netezza-Quelldatenbank herzustellen.

So stellen Sie eine Verbindung zu einer Netezza-Quelldatenbank her
  1. Wählen Sie in der AWS Schema Conversion Tool Quelle hinzufügen aus.

  2. Wählen Sie Netezza und dann Weiter.

    Das Dialogfeld Quelle hinzufügen wird angezeigt.

  3. Geben Sie unter Verbindungsname einen Namen für Ihre Datenbank ein. AWS SCTzeigt diesen Namen in der Baumstruktur im linken Bereich an.

  4. Verwenden Sie Datenbankanmeldeinformationen von AWS Secrets Manager oder geben Sie sie manuell ein:

    • Gehen Sie wie folgt vor, um die Datenbankanmeldeinformationen von Secrets Manager zu verwenden:

      1. Wählen Sie für AWSGeheim den Namen des Geheimnisses.

      2. Wählen Sie Auffüllen, um automatisch alle Werte im Datenbankverbindungsdialogfeld von Secrets Manager auszufüllen.

      Hinweise zur Verwendung von Datenbankanmeldeinformationen von Secrets Manager finden Sie unterVerwenden von AWS Secrets Manager.

    • Gehen Sie wie folgt vor, um die Verbindungsinformationen der Netezza-Quelldatenbank manuell einzugeben:

      Parameter Action
      Server name

      Geben Sie den DNS-Namen (Domain Name System) oder die IP-Adresse Ihres Quelldatenbankservers ein.

      Server port

      Geben Sie den Port ein, der für die Verbindung zum Quelldatenbankserver verwendet wird.

      User name und Password

      Geben Sie die Datenbankanmeldeinformationen ein, um eine Verbindung zu Ihrem Quelldatenbankserver herzustellen.

      AWS SCTverwendet das Passwort nur dann, um eine Verbindung zu Ihrer Quelldatenbank herzustellen, wenn Sie sich in einem Projekt dafür entscheiden, eine Verbindung zu Ihrer Datenbank herzustellen. Um zu verhindern, dass das Passwort für Ihre Quelldatenbank preisgegeben wird, wird das Passwort standardmäßig AWS SCT nicht gespeichert. Wenn Sie Ihr AWS SCT-Projekt schließen und erneut öffnen, müssen Sie das Passwort für die Verbindung zur Quelldatenbank bei Bedarf erneut eingeben.

      Passwort speichern

      AWS SCT erstellt einen sicheren Bereich, um SSL-Zertifikate und Datenbankpasswörter zu speichern. Wenn Sie diese Option aktivieren, können Sie das Datenbankkennwort speichern und schnell eine Verbindung zur Datenbank herstellen, ohne das Passwort eingeben zu müssen.

      Netezza-Treiberpfad

      Geben Sie den Pfad zum Treiber ein, der für die Verbindung zur Quelldatenbank verwendet wird. Weitere Informationen finden Sie unter Die erforderlichen Datenbanktreiber werden heruntergeladen.

      Wenn Sie den Treiberpfad in den globalen Projekteinstellungen speichern, wird der Pfad im Verbindungsdialogfeld nicht angezeigt. Weitere Informationen finden Sie unter Speichern von Treiberpfaden in den globalen Einstellungen.

  5. Wählen Sie Verbindung testen, um zu überprüfen, ob eine Verbindung zu Ihrer Quelldatenbank hergestellt werden AWS SCT kann.

  6. Wählen Sie Verbinden, um eine Verbindung zu Ihrer Quelldatenbank herzustellen.

Konfiguration der laufenden Datenreplikation

Nachdem Sie Ihre Netezza-Datenbankschemas konvertiert und auf Ihre Amazon Redshift-Datenbank angewendet haben, können Sie Daten mit AWS SCT Datenextraktionsagenten migrieren. Der Agent extrahiert Ihre Daten und lädt sie in Ihren Amazon S3-Bucket hoch. Sie können die Daten dann verwendenAWS SCT, um die Daten von Amazon S3 nach Amazon Redshift zu kopieren.

Wenn sich die Daten in Ihrer Quelldatenbank während des Migrationsprozesses ändern, können Sie laufende Änderungen mit Ihren AWS SCT Datenextraktionsagenten erfassen. Anschließend können Sie diese laufenden Änderungen in Ihrer Zieldatenbank replizieren, nachdem Sie die erste Datenmigration abgeschlossen haben. Dieser Vorgang wird als fortlaufende Datenreplikation oder Change Data Capture (CDC) bezeichnet.

Um die laufende Datenreplikation für Migrationen von Netezza zu Amazon Redshift zu konfigurieren
  1. Erstellen Sie in Ihrer Quelldatenbank eine Verlaufsdatenbank. Sie können das folgende Codebeispiel in der Netezza-Befehlszeilenschnittstelle (CLI) verwenden.

    nzhistcreatedb -d history_database_name -t query -v 1 -u load_user -o histdb_owner -p your_password

    Ersetzen Sie im vorherigen Beispiel history_database_name durch den Namen Ihrer Verlaufsdatenbank. Ersetzen Sie anschließend load_user durch den Namen des Benutzers, den Sie definiert haben, um Verlaufsdaten in die Datenbank zu laden. Ersetzen Sie dann histdb_owner durch den Namen des Benutzers, den Sie als Besitzer der Verlaufsdatenbank definiert haben. Stellen Sie sicher, dass Sie diesen Benutzer bereits erstellt und die CREATE DATABASE Berechtigung erteilt haben. Ersetzen Sie abschließend your_password durch ein sicheres Passwort.

  2. Konfigurieren Sie die Verlaufsprotokollierung. Verwenden Sie dazu das folgende Codebeispiel.

    CREATE HISTORY CONFIGURATION history_configuration_name HISTTYPE QUERY DATABASE history_database_name USER load_user PASSWORD your_password COLLECT PLAN, COLUMN LOADINTERVAL 1 LOADMINTHRESHOLD 0 LOADMAXTHRESHOLD 0 STORAGELIMIT 25 LOADRETRY 2 VERSION 1;

    Ersetzen Sie im vorherigen Beispiel history_configuration_name und history_database_name durch die Namen Ihrer Verlaufskonfiguration und Ihrer Verlaufsdatenbank. Ersetzen Sie anschließend load_user durch den Namen des Benutzers, den Sie definiert haben, um Verlaufsdaten in die Datenbank zu laden. Ersetzen Sie dann your_password durch ein sicheres Passwort.

  3. Erteilen Sie Leseberechtigungen für alle Tabellen in der Verlaufsdatenbank. Sie können das folgende Codebeispiel verwenden, um die SELECT Erlaubnis zu erteilen.

    GRANT SELECT ON history_database_name.ALL.TABLE TO your_user;

    Ersetzen Sie im vorherigen Beispiel history_database_name durch den Namen Ihrer Verlaufsdatenbank. Ersetzen Sie anschließend your_user durch den Namen des Benutzers mit minimalen Berechtigungen für die Arbeit mit Ihrer Netezza-Datenbank. Sie verwenden die Anmeldeinformationen dieses Datenbankbenutzers inAWS SCT.

  4. Erfassen Sie Statistiken für jede Tabelle in Ihrem Quellschema, um Informationen über die Kardinalität von Spalten zu erhalten. Sie können den folgenden Befehl verwenden, um Statistiken in Ihrer Verlaufsdatenbank zu generieren.

    GENERATE STATISTICS on "schema_name"."table_name";

    Ersetzen Sie im vorherigen Beispiel schema_name und table_name durch den Namen Ihres Datenbankschemas und Ihrer Tabelle.

  5. Stellen Sie sicher, dass Sie die Voraussetzungen erfüllt haben, indem Sie die folgende Abfrage ausführen:

    SELECT COUNT(*) FROM history_database_name.history_schema_name."$hist_column_access_N";

    Ersetzen Sie im vorherigen Beispiel history_database_name und history_schema_name durch den Namen Ihrer Verlaufsdatenbank und Ihres Schemas. Als Nächstes ersetzen Sie N durch die Versionsnummer Ihrer Verlaufsdatenbank. Weitere Informationen zu historischen Datenbankversionen finden Sie in der IBM Netezza-Dokumentation.

  6. Installieren Sie Ihre Datenextraktionsagenten. Weitere Informationen finden Sie unter Installation von Extraktionsagenten.

    Stellen Sie sicher, dass der {working.folder} Parameter in der settings.properties Datei für alle Extractor-Instanzen auf denselben Ordner verweist. In diesem Fall können Ihre Extraktoren die CDC-Sitzung koordinieren und einen einzigen Transaktionspunkt für alle Unteraufgaben verwenden.

  7. Registrieren Sie Ihren Datenextraktionsagenten. Weitere Informationen finden Sie unter Registrierung von Extraktionsagenten mit dem AWS Schema Conversion Tool.

  8. Erstellen Sie Ihre CDC-Aufgabe. Weitere Informationen finden Sie unter Eine AWS SCT Aufgabe erstellen, ausführen und überwachen.

    1. Öffnen Sie Ihr Projekt inAWS SCT. Wählen Sie im linken Bereich Ihre Quelltabelle aus. Öffnen Sie das Kontextmenü (Rechtsklick) und wählen Sie Lokale Aufgabe erstellen.

    2. Geben Sie unter Aufgabenname einen aussagekräftigen Namen für Ihre Datenmigrationsaufgabe ein.

    3. Wählen Sie für den Migrationsmodus Extrahieren, Hochladen und Kopieren aus.

    4. Wählen Sie CDC aktivieren aus.

    5. Wählen Sie die Registerkarte CDC-Einstellungen und definieren Sie den Umfang und den Zeitplan der CDC-Sitzungen.

    6. Wählen Sie Testaufgabe, um zu überprüfen, ob Sie eine Verbindung zu Ihrem Arbeitsordner, Amazon S3-Bucket und Amazon Redshift Data Warehouse herstellen können.

    7. Wählen Sie Erstellen, um Ihre Aufgabe zu erstellen.

    8. Wählen Sie den Tab Aufgaben, wählen Sie Ihre Aufgabe aus der Liste aus und wählen Sie Start.

  9. Die AWS SCT Aufgabe gewährleistet die Transaktionskonsistenz in der Zieldatenbank. Der Datenextraktionsagent repliziert Transaktionen aus der Quelle in der Reihenfolge der Transaktions-ID.

    Wenn Sie eine der Migrationssitzungen beenden oder diese fehlschlägt, wird auch die CDC-Verarbeitung gestoppt.

Einstellungen für die Konvertierung von Netezza nach Amazon Redshift

Um die Konvertierungseinstellungen von Netezza nach Amazon Redshift zu bearbeiten, wählen Sie Einstellungen in AWS SCT und dann Konvertierungseinstellungen. Wählen Sie in der oberen Liste Netezza und dann Netezza — Amazon Redshift aus. AWS SCTzeigt alle verfügbaren Einstellungen für die Konvertierung von Netezza nach Amazon Redshift an.

Die Konvertierungseinstellungen von Netezza nach Amazon Redshift AWS SCT beinhalten Optionen für Folgendes:

  • Um die Anzahl der Kommentare mit Aktionselementen im konvertierten Code zu begrenzen.

    Wählen Sie unter Kommentare im konvertierten Code für die Aktionspunkte mit dem ausgewählten Schweregrad und höher den Schweregrad der Aktionspunkte aus. AWS SCTfügt dem konvertierten Code Kommentare für Aktionspunkte mit dem ausgewählten Schweregrad und höher hinzu.

    Um beispielsweise die Anzahl der Kommentare in Ihrem konvertierten Code zu minimieren, wählen Sie Nur Fehler aus. Um Kommentare zu allen Aktionselementen in Ihren konvertierten Code aufzunehmen, wählen Sie Alle Nachrichten.

  • Um die maximale Anzahl von Tabellen festzulegen, die für Ihren Amazon Redshift-Zielcluster gelten AWS SCT können.

    Wählen Sie unter Die maximale Anzahl von Tabellen für den Amazon Redshift-Cluster die Anzahl der Tabellen aus, die für Ihren Amazon Redshift-Cluster gelten AWS SCT können.

    Amazon Redshift verfügt über Kontingente, die die Verwendung von Tabellen für verschiedene Cluster-Knotentypen einschränken. Wenn Sie Auto wählen, AWS SCT bestimmt es je nach Knotentyp die Anzahl der Tabellen, die auf Ihren Amazon Redshift-Ziel-Cluster angewendet werden sollen. Wählen Sie den Wert optional manuell aus. Weitere Informationen finden Sie unter Kontingente und Limits in Amazon Redshift im Verwaltungshandbuch zu Amazon Redshift.

    AWS SCTkonvertiert alle Ihre Quelltabellen, auch wenn dies mehr ist, als Ihr Amazon Redshift-Cluster speichern kann. AWS SCTspeichert den konvertierten Code in Ihrem Projekt und wendet ihn nicht auf die Zieldatenbank an. Wenn Sie bei der Anwendung des konvertierten Codes das Amazon Redshift-Cluster-Kontingent für die Tabellen erreichen, wird eine Warnmeldung AWS SCT angezeigt. AWS SCTWendet Tabellen außerdem auf Ihren Amazon Redshift-Zielcluster an, bis die Anzahl der Tabellen das Limit erreicht.

  • Um die Komprimierung auf Amazon Redshift-Tabellenspalten anzuwenden. Wählen Sie dazu die Option Kompressionskodierung verwenden aus.

    AWS SCTweist Spalten mithilfe des standardmäßigen Amazon Redshift-Algorithmus automatisch eine Kompressionskodierung zu. Weitere Informationen finden Sie unter Kompressionskodierungen im Amazon Redshift Database Developer Guide.

    Standardmäßig wendet Amazon Redshift keine Komprimierung auf Spalten an, die als Sortier- und Verteilungsschlüssel definiert sind. Sie können dieses Verhalten ändern und die Komprimierung auf diese Spalten anwenden. Wählen Sie dazu die Option Kompressionskodierung für KEY-Spalten verwenden aus. Sie können diese Option nur auswählen, wenn Sie die Option Kompressionskodierung verwenden ausgewählt haben.

Einstellungen für die Konversionsoptimierung von Netezza nach Amazon Redshift

Um die Einstellungen für die Konvertierungsoptimierung von Netezza zu Amazon Redshift zu bearbeiten, wählen Sie Einstellungen in AWS SCT und dann Konvertierungseinstellungen. Wählen Sie in der oberen Liste Netezza und dann Netezza — Amazon Redshift aus. Wählen Sie im linken Bereich Optimierungsstrategien aus. AWS SCTzeigt die Einstellungen zur Konvertierungsoptimierung für die Konvertierung von Netezza nach Amazon Redshift an.

Die Einstellungen zur Konvertierungsoptimierung von Netezza nach Amazon Redshift AWS SCT beinhalten Optionen für Folgendes:

  • Um mit der automatischen Tabellenoptimierung zu arbeiten. Wählen Sie dazu die automatische Tabellenoptimierung von Amazon Redshift verwenden aus.

    Die automatische Tabellenoptimierung ist ein Selbstoptimierungsprozess in Amazon Redshift, der das Design von Tabellen automatisch optimiert. Weitere Informationen finden Sie unter Arbeiten mit automatischer Tabellenoptimierung im Amazon Redshift Database Developer Guide.

    Wenn Sie sich nur auf die automatische Tabellenoptimierung verlassen möchten, wählen Sie „Keine“ als Strategie für die anfängliche Schlüsselauswahl aus.

  • Um die Sortier- und Verteilungsschlüssel anhand Ihrer Strategie auszuwählen.

    Sie können mithilfe von Amazon Redshift-Metadaten, statistischen Informationen oder diesen beiden Optionen Sortier- und Verteilungsschlüssel auswählen. Wählen Sie auf der Registerkarte Optimierungsstrategien für die erste Schlüsselauswahlstrategie eine der folgenden Optionen aus:

    • Metadaten verwenden, statistische Informationen ignorieren

    • Metadaten ignorieren, statistische Informationen verwenden

    • Verwenden Sie Metadaten und statistische Informationen

    Je nachdem, welche Option Sie wählen, können Sie Optimierungsstrategien auswählen. Geben Sie dann für jede Strategie den Wert (0—100) ein. Diese Werte definieren das Gewicht jeder Strategie. AWS SCTDefiniert anhand dieser Gewichtungswerte, wie sich jede Regel auf die Wahl der Verteilungs- und Sortierschlüssel auswirkt. Die Standardwerte basieren auf den bewährten Methoden für die AWS Migration.

    Sie können die Größe kleiner Tabellen für die Strategie Kleine Tabellen finden definieren. Geben Sie für Min. Tabellenzeilenanzahl und Max. Tabellenzeilenanzahl die minimale und maximale Anzahl von Zeilen in einer Tabelle ein, um sie als kleine Tabelle zu definieren. AWS SCTwendet den ALL Verteilungsstil auf kleine Tabellen an. In diesem Fall wird eine Kopie der gesamten Tabelle an jeden Knoten verteilt.

  • Um Strategiedetails zu konfigurieren.

    Sie können nicht nur das Gewicht für jede Optimierungsstrategie definieren, sondern auch die Optimierungseinstellungen konfigurieren. Wählen Sie dazu Konversionsoptimierung.

    • Geben Sie im Feld Sortierschlüsselspaltenlimit die maximale Anzahl von Spalten in den Sortierschlüssel ein.

    • Geben Sie für schiefen Schwellenwert den Prozentsatz (0—100) eines schiefen Werts für eine Spalte ein. AWS SCTschließt Spalten, deren Verzerrungswert größer als der Schwellenwert ist, aus der Liste der Kandidaten für den Verteilungsschlüssel aus. AWS SCTdefiniert den schiefen Wert für eine Spalte als das prozentuale Verhältnis der Anzahl der Vorkommen des häufigsten Werts zur Gesamtzahl der Datensätze.

    • Geben Sie für die Top-N-Abfragen aus der Tabelle mit dem Abfrageverlauf die Anzahl (1—100) der am häufigsten zu analysierenden Abfragen ein.

    • Wählen Sie unter Statistikbenutzer auswählen den Datenbankbenutzer aus, für den Sie die Abfragestatistiken analysieren möchten.

    Auf der Registerkarte Optimierungsstrategien können Sie auch die Größe kleiner Tabellen für die Strategie Kleine Tabellen suchen definieren. Geben Sie für Minimale Tabellenzeilenanzahl und Maximale Tabellenzeilenanzahl die minimale und maximale Anzahl von Zeilen in einer Tabelle ein, um sie als kleine Tabelle zu betrachten. AWS SCTwendet den ALL Verteilungsstil auf kleine Tabellen an. In diesem Fall wird eine Kopie der gesamten Tabelle an jeden Knoten verteilt.