Verwendung von Snowflake 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 Snowflake als Quelle für AWS SCT

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

Rechte für Snowflake als Quelldatenbank

Sie können eine Rolle mit Rechten erstellen und dieser Rolle den Namen eines Benutzers zuweisen, indem Sie die SECURITYADMIN Rolle und den SECURITYADMIN Sitzungskontext verwenden.

Das folgende Beispiel erstellt minimale Rechte und gewährt sie dem min_privs Benutzer.

create role role_name; grant role role_name to role sysadmin; grant usage on database db_name to role role_name; grant usage on schema db_name.schema_name to role role_name; grant usage on warehouse datawarehouse_name to role role_name; grant monitor on database db_name to role role_name; grant monitor on warehouse datawarehouse_name to role role_name; grant select on all tables in schema db_name.schema_name to role role_name; grant select on future tables in schema db_name.schema_name to role role_name; grant select on all views in schema db_name.schema_name to role role_name; grant select on future views in schema db_name.schema_name to role role_name; grant select on all external tables in schema db_name.schema_name to role role_name; grant select on future external tables in schema db_name.schema_name to role role_name; grant usage on all sequences in schema db_name.schema_name to role role_name; grant usage on future sequences in schema db_name.schema_name to role role_name; grant usage on all functions in schema db_name.schema_name to role role_name; grant usage on future functions in schema db_name.schema_name to role role_name; grant usage on all procedures in schema db_name.schema_name to role role_name; grant usage on future procedures in schema db_name.schema_name to role role_name; create user min_privs password='real_user_password' DEFAULT_ROLE = role_name DEFAULT_WAREHOUSE = 'datawarehouse_name'; grant role role_name to user min_privs;

Ersetzen Sie die Platzhalter im vorherigen Beispiel wie folgt:

  • Ersetzen Sie role_namees durch den Namen einer Rolle mit schreibgeschützten Rechten.

  • db_nameErsetzen Sie durch den Namen der Quelldatenbank.

  • schema_nameErsetzen Sie durch den Namen des Quellschemas.

  • datawarehousenameErsetzen Sie es durch den Namen eines erforderlichen Data Warehouse.

  • min_privsErsetzen Sie es durch den Namen eines Benutzers mit minimalen Rechten.

Die DEFAULT_WAREHOUSE Parameter DEFAULT_ROLE und sind schlüsselsensitiv.

Konfiguration des sicheren Zugriffs auf Amazon S3

Sicherheits- und Zugriffsverwaltungsrichtlinien für einen Amazon S3-Bucket ermöglichen es Snowflake, auf Daten zuzugreifen, Daten aus dem S3-Bucket zu lesen und in diesen zu schreiben. Sie können den sicheren Zugriff auf einen privaten Amazon S3-Bucket mithilfe des STORAGE INTEGRATION Snowflake-Objekttyps konfigurieren. Ein Snowflake-Speicherintegrationsobjekt delegiert die Authentifizierungsverantwortung an eine Snowflake-Identitäts- und Zugriffsverwaltungseinheit.

Weitere Informationen finden Sie unter Konfiguration einer Snowflake-Speicherintegration für den Zugriff auf Amazon S3 in der Snowflake-Dokumentation.

Verbindung zu Snowflake als Quelle herstellen

Gehen Sie wie folgt vor, um mit dem eine Verbindung zu Ihrer Quelldatenbank herzustellenAWS Schema Conversion Tool.

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

  2. Wählen Sie Snowflake 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 für das Snowflake-Quell-Data Warehouse 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.

      Datenbank

      Geben Sie den Namen der Snowflake-Datenbank ein.

      User name und Password

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

      AWS SCTspeichert Ihr Passwort nur dann in einem verschlüsselten Format, wenn Sie es ausdrücklich anfordern.

      Use SSL

      Wählen Sie diese Option, wenn Sie Secure Sockets Layer (SSL) verwenden möchten, um eine Verbindung zu Ihrer Datenbank herzustellen. Geben Sie gegebenenfalls die folgenden zusätzlichen Informationen auf der Registerkarte SSL an:

      • Pfad des privaten Schlüssels: Der Speicherort eines privaten Schlüssels.

      • Passphrase: Die Passphrase für den privaten Schlüssel.

      Weitere Informationen zur SSL-Unterstützung für Snowflake finden Sie unter Konfigurieren von Sicherheitsoptionen für Verbindungen.

      Passwort speichern

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

      Snowflake-Treiberpfad

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

      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.

Einschränkungen für Snowflake als Quelle

Die folgenden Einschränkungen gelten bei der Verwendung von Snowflake als Quelle für: AWS SCT

  • Objektkennungen müssen im Kontext des Objekttyps und des übergeordneten Objekts eindeutig sein:

    Datenbank

    Schema-IDs müssen innerhalb einer Datenbank eindeutig sein.

    Schemata

    Objektbezeichner, z. B. für Tabellen und Ansichten, müssen innerhalb eines Schemas eindeutig sein.

    Tabellen/Ansichten

    Spaltenbezeichner müssen innerhalb einer Tabelle eindeutig sein.

  • Die maximale Anzahl von Tabellen für große und extragroße Cluster-Knotentypen beträgt 9.900. Für 8 große Cluster-Knotentypen beträgt die maximale Anzahl von Tabellen 100.000. Das Limit umfasst temporäre Tabellen, die sowohl benutzerdefiniert als auch von Amazon Redshift während der Abfrageverarbeitung oder Systemwartung erstellt wurden. Weitere Informationen finden Sie unter Amazon Redshift quotas (Amazon-Redshift-Kontingente) im Amazon-Redshift-Clusterverwaltungshandbuch.

  • Für gespeicherte Prozeduren beträgt die maximale Anzahl von Eingabe- und Ausgabeargumenten 32.

Quelldatentypen für Snowflake

Im Folgenden finden Sie die Snowflake-Quelldatentypen, die bei der Verwendung unterstützt werden, AWS SCT und die Standardzuordnung zu einem Amazon Redshift-Ziel.

Snowflake-Datentypen Amazon Redshift-Datentypen

NUMBER

NUMERISCH (38)

NUMBER(p)

Wenn p =< 4 ist, dann SMALLINT

Wenn p => 5 und =< 9 ist, dann INTEGER

Wenn p => 10 und =< 18 ist, dann BIGINT

Wenn p => 19 ist, dann NUMERIC (p)

ZAHL (p, 0)

Wenn p =< 4 ist, dann SMALLINT

Wenn p => 5 und =< 9 ist, dann INTEGER

Wenn p => 10 und =< 18 ist, dann BIGINT

Wenn p => 19 ist, dann: NUMERISCH (p,0)

ZAHL (p, s)

Wenn p => 1 und =< 38 ist und wenn s => 1 und =< 37 ist, dann

NUMERIC (p,s)

FLOAT

FLOAT

TEXT

Unicode-Zeichen bis zu 16.777.216 Byte; bis zu 4 Byte pro Zeichen.

VARCHAR (MAXIMAL)

TEXT (p)

Unicode-Zeichen bis zu 65.535 Byte; bis zu 4 Byte pro Zeichen.

Wenn p =< 65.535 ist, dann ist VARCHAR (p)

TEXT (p)

Unicode-Zeichen bis zu 16.777.216 Byte; bis zu 4 Byte pro Zeichen.

Wenn p => 65.535 ist und =< 16.777.216 dann, VARCHAR (MAX)

BINARY

Einzelbyte-Zeichen bis zu 8.388.608 Byte; 1 Byte pro Zeichen.

VARCHAR (MAXIMAL)

BINÄR (p)

Einzelbyte-Zeichen bis zu 65.535 Byte; 1 Byte pro Zeichen.

VARCHAR (p)

BINÄR (p)

Einzelbyte-Zeichen bis zu 8.388.608 Byte; 1 Byte pro Zeichen.

VARCHAR (MAXIMAL)

BOOLEAN

BOOLEAN

DATUM

DATUM

TIME

Zeitwerte zwischen 00:00:00 und 23:59:59.999 999999.

VARCHAR (18)

ZEIT (f)

Zeitwerte zwischen 00:00:00 und 23:59:59:59 (f).

VARCHAR (n) — 9 + dt-attr-1

TIMESTAMP_NTZ

TIMESTAMP

TIMESTAMP_TZ

TIMESTAMPTZ

Einstellungen für die Konvertierung von Snowflake nach Amazon Redshift

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

Die Konvertierungseinstellungen von Snowflake 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 Konvertierungsoptimierung von Snowflake nach Amazon Redshift

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

Die Einstellungen für die Konversionsoptimierung von Snowflake 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.