Amazon Redshift unterstützt ab dem 1. November 2025 nicht mehr die Erstellung neuer Python-UDFs. Wenn Sie Python-UDFs verwenden möchten, erstellen Sie die UDFs vor diesem Datum. Bestehende Python-UDFs funktionieren weiterhin wie gewohnt. Weitere Informationen finden Sie im Blog-Posting
Überlegungen bei der Verwendung von Null-ETL-Integrationen mit Amazon Redshift
Die folgenden Überlegungen gelten für Null-ETL-Integrationen mit Amazon Redshift.
-
Ihr Ziel-Data-Warehouse von Amazon Redshift muss die folgenden Voraussetzungen erfüllen:
-
Ausführung von Amazon Redshift Serverless oder eines RA3-Knotentyps.
-
Es muss verschlüsselt sein (bei Verwendung eines bereitgestellten Clusters).
-
Die Unterscheidung zwischen Groß- und Kleinschreibung muss aktiviert sein.
-
-
Wenn Sie eine autorisierte Integrationsquelle für ein Amazon Redshift Data Warehouse löschen, wechseln alle zugehörigen Integrationen in den Status
FAILED. Alle zuvor replizierten Daten verbleiben in Ihrer Amazon-Redshift-Datenbank und können abgefragt werden. -
Die Zieldatenbank ist schreibgeschützt. Sie können in der Zieldatenbank keine Tabellen, Ansichten oder materialisierten Ansichten erstellen. Sie können jedoch materialisierte Ansichten für andere Tabellen im Ziel-Data-Warehouse verwenden.
-
Materialisierte Ansichten werden in datenbankübergreifenden Abfragen unterstützt. Informationen zum Erstellen von materialisierten Ansichten mit Daten, die über Null-ETL-Integrationen repliziert wurden, finden Sie unter Abfragen replizierter Daten mit materialisierten Ansichten.
-
Standardmäßig können Sie im Ziel-Data-Warehouse nur Tabellen mit dem Status
Syncedabfragen. Um Tabellen mit einem anderen Status abzufragen, legen Sie den DatenbankparameterQUERY_ALL_STATESaufTRUEfest. Weitere Informationen zur EinstellungQUERY_ALL_STATESfinden Sie unter CREATE DATABASE und ALTER DATABASE im Amazon-Redshift-Handbuch für Datenbankentwickler. Weitere Informationen zum Status Ihrer Datenbank finden Sie unter SVV_INTEGRATION_TABLE_STATE im Amazon-Redshift-Handbuch für Datenbankentwickler. -
Amazon Redshift akzeptiert nur UTF-8-Zeichen und berücksichtigt daher möglicherweise nicht die in der Quelle definierte Sortierung. Die Sortier- und Vergleichsregeln können unterschiedlich sein, was sich letztendlich auf die Abfrageergebnisse auswirken kann.
-
Null-ETL-Integrationen sind auf 50 pro Data-Warehouse-Ziel in Amazon Redshift begrenzt.
-
Die Tabellen in der Integrationsquelle müssen über einen Primärschlüssel verfügen. Andernfalls können Ihre Tabellen nicht zum Ziel-Data-Warehouse in Amazon Redshift repliziert werden.
Informationen zum Hinzufügen eines Primärschlüssels zu Amazon Aurora PostgreSQL finden Sie unter Behandeln von Tabellen ohne Primärschlüssel beim Erstellen von Null-ETL-Integrationen für Amazon Aurora PostgreSQL mit Amazon Redshift
im AWS-Datenbank-Blog. Informationen zum Hinzufügen eines Primärschlüssels zu Amazon Aurora MySQL oder RSD für MySQL finden Sie unter Behandeln von Tabellen ohne Primärschlüssel beim Erstellen von Null-ETL-Integrationen für Amazon Aurora MySQL oder Amazon RDS für MySQL mit Amazon Redshift im AWS-Datenbank-Blog. -
Sie können eine Datenfilterung für Null-ETL-Integrationen von Aurora verwenden, um den Umfang der Replikation aus dem Aurora-DB-Quellcluster zum Ziel-Data Warehouse in Amazon Redshift zu definieren. Anstatt alle Daten zum Ziel zu replizieren, können Sie einen oder mehrere Filter definieren, die bestimmte Tabellen selektiv in die Replikation einbeziehen oder von ihr ausschließen. Weitere Informationen finden Sie unter Datenfilterung für Null-ETL-Integrationen von Aurora mit Amazon Redshift im Amazon-Aurora-Benutzerhandbuch.
-
Für Null-ETL-Integrationen von Aurora PostgreSQL mit Amazon Redshift unterstützt Amazon Redshift maximal 100 Datenbanken von Aurora PostgreSQL. Jede Datenbank wird unabhängig von der Quelle zum Ziel repliziert.
-
Die Null-ETL-Integration unterstützt keine Transformationen, während die Daten aus Transaktionsdatenspeichern zu Amazon Redshift repliziert werden. Daten werden unverändert aus der Quelldatenbank repliziert. Sie können jedoch Transformationen auf die replizierten Daten in Amazon Redshift anwenden.
-
Die Null-ETL-Integration wird in Amazon Redshift über parallele Verbindungen ausgeführt. Sie wird mit den Anmeldeinformationen des Benutzers ausgeführt, der die Datenbank aus der Integration erstellt hat. Wenn die Abfrage ausgeführt wird, wird die Parallelitätsskalierung für diese Verbindungen nicht während der Synchronisierung (Schreibvorgänge) aktiviert. Die Parallelitätsskalierung von Lesevorgängen (aus Amazon-Redshift-Clients) funktioniert für synchronisierte Objekte.
-
Sie können
REFRESH_INTERVALfür eine Null-ETL-Integration festlegen, um die Häufigkeit der Datenreplikation zu Amazon Redshift zu steuern. Weitere Informationen finden Sie unter CREATE DATABASE und ALTER DATABASE im Amazon-Redshift-Handbuch für Datenbankentwickler. -
Nachdem Sie eine Amazon-Redshift-Datenbank aus einer Null-ETL-Integration mit Amazon DynamoDB erstellt haben, sollte sich der Datenbankstatus von Creating in Active ändern. Dies startet die Replikation der Daten in den DynamoDB-Quelltabellen zu den Redshift-Zieltabellen, die unter dem öffentlichen Schema der Zieldatenbank (
ddb_rs_customerprofiles_zetl_db) erstellt wurden.
Überlegungen bei der Verwendung des Verlaufsmodus im Ziel
Die folgenden Überlegungen gelten bei der Verwendung des Verlaufsmodus in der Zieldatenbank. Weitere Informationen finden Sie unter Verlaufsmodus.
-
Wenn Sie eine Tabelle in einer Quelle entfernen, wird die Tabelle im Ziel nicht entfernt, sondern in den Status
DroppedSourcegeändert. Sie können die Tabelle in der Amazon-Redshift-Datenbank entfernen oder umbenennen. -
Wenn Sie eine Tabelle in einer Quelle kürzen, werden Löschungen in der Zieltabelle ausgeführt. Wenn beispielsweise alle Datensätze in der Quelle gekürzt sind, werden die entsprechenden Datensätze in der Zielspalte
_record_is_activeinfalsegeändert. -
Wenn Sie „TRUNCATE“ für das Tabellen-SQL in der Zieltabelle ausführen, werden aktive Verlaufszeilen mit einem entsprechenden Zeitstempel als inaktiv markiert.
-
Wenn eine Zeile in einer Tabelle auf inaktiv festgelegt ist, kann sie nach einer kurzen Verzögerung (etwa 10 Minuten) gelöscht werden. Um inaktive Zeilen zu löschen, stellen Sie mit dem Query Editor v2 oder einem anderen SQL-Client eine Verbindung zu Ihrer Null-ETL-Datenbank her.
-
Sie können nur inaktive Zeilen aus einer Tabelle löschen, wenn der Verlaufsmodus aktiviert ist. Ein SQL-Befehl, der dem folgenden ähnlich ist, löscht beispielsweise nur inaktive Zeilen.
delete from schema.user_table where _record_delete_time <= '2024-09-10 12:34:56'Dies entspricht einem SQL-Befehl wie dem folgenden.
delete from schema.user_table where _record_delete_time <= '2024-09-10 12:34:56' and _record_is_active = False -
Wenn der Verlaufsmodus für eine Tabelle deaktiviert wird, werden alle historischen Daten zu einer Tabelle mit dem Namen
<schema>.<table-name>_historical_<timestamp>gespeichert, während die ursprüngliche Tabelle mit dem Namen<schema>.<table-name>aktualisiert wird. -
Wenn eine Tabelle mit aktiviertem Verlaufsmodus mithilfe eines Tabellenfilters von der Replikation ausgeschlossen wird, werden alle Zeilen als inaktiv festgelegt und der Status wird in
DroppedSourcegeändert. Weitere Informationen zu Tabellenfiltern finden Sie unter Datenfilterung für Null-ETL-Integrationen von Aurora mit Amazon Redshift im Amazon-Aurora-Benutzerhandbuch. -
Der Verlaufsmodus kann nur in
trueoderfalsefür Tabellen im StatusSyncedgeändert werden. -
Materialisierte Ansichten für Tabellen mit aktiviertem Verlaufsmodus werden als vollständige Neuberechnung erstellt.
Überlegungen, wenn die Null-ETL-Integrationsquelle Aurora oder Amazon RDS ist
Die folgenden Überlegungen gelten für Null-ETL-Integrationen von Aurora und Amazon RDS mit Amazon Redshift.
-
Sie können eine Datenfilterung für Null-ETL-Integrationen von Aurora und RSD for Aurora verwenden, um den Umfang der Replikation aus dem DB-Quellcluster zum Ziel-Data Warehouse in Amazon Redshift zu definieren. Anstatt alle Daten zum Ziel zu replizieren, können Sie einen oder mehrere Filter definieren, die bestimmte Tabellen selektiv in die Replikation einbeziehen oder von ihr ausschließen. Weitere Informationen finden Sie unter Datenfilterung für Null-ETL-Integrationen von Aurora mit Amazon Redshift im Amazon-Aurora-Benutzerhandbuch.
-
Die Tabellen in der Integrationsquelle müssen über einen Primärschlüssel verfügen. Andernfalls können Ihre Tabellen nicht zum Ziel-Data-Warehouse in Amazon Redshift repliziert werden.
Informationen zum Hinzufügen eines Primärschlüssels zu Amazon Aurora PostgreSQL finden Sie unter Behandeln von Tabellen ohne Primärschlüssel beim Erstellen von Null-ETL-Integrationen für Amazon Aurora PostgreSQL mit Amazon Redshift
im AWS-Datenbank-Blog. Informationen zum Hinzufügen eines Primärschlüssels zu Amazon Aurora MySQL oder RSD für MySQL finden Sie unter Behandeln von Tabellen ohne Primärschlüssel beim Erstellen von Null-ETL-Integrationen für Amazon Aurora MySQL oder Amazon RDS für MySQL mit Amazon Redshift im AWS-Datenbank-Blog. -
Die maximale Länge des Amazon-Redshift-Datentyps VARCHAR beträgt 65.535 Bytes. Wenn der Inhalt aus der Quelle dieses Limit überschreitet, wird die Replikation nicht fortgesetzt und die Tabelle wird auf den Status „Fehlgeschlagen“ festgelegt. Sie können den Datenbankparameter
TRUNCATECOLUMNSaufTRUEfestlegen, um die Länge des Inhalts an die Spalte anzupassen. Informationen zur EinstellungTRUNCATECOLUMNSfinden Sie unter CREATE DATABASE und ALTER DATABASE im Amazon-Redshift-Handbuch für Datenbankentwickler.Weitere Informationen zu Datentypunterschieden zwischen Null-ETL-Integrationsquellen und Amazon-Redshift-Datenbanken finden Sie unter Datentypunterschiede zwischen Aurora und Amazon Redshift im Amazon-Aurora-Benutzerhandbuch.
Informationen zu Aurora-Quellen finden Sie auch unter Einschränkungen im Amazon-Aurora-Benutzerhandbuch.
Informationen zu Amazon-RDS-Quellen finden Sie auch unter Einschränkungen im Amazon-RDS-Benutzerhandbuch.
Überlegungen, wenn die Null-ETL-Integrationsquelle DynamoDB ist
Die folgenden Überlegungen gelten für Null-ETL-Integrationen in DynamoDB mit Amazon Redshift.
-
Tabellennamen aus DynamoDB mit mehr als 127 Zeichen werden nicht unterstützt.
-
Die Daten aus einer Null-ETL-Integration für DynamoDB werden einer Spalte mit dem Datentyp SUPER in Amazon Redshift zugeordnet.
-
Spaltennamen für den Partitions- oder Sortierschlüssel mit mehr als 127 Zeichen werden nicht unterstützt.
-
Eine Null-ETL-Integration für DynamoDB kann jeweils nur einer Amazon Redshift-Datenbank zugeordnet werden.
-
Die maximale Präzision und Skalierung für Partitions- und Sortierschlüssel beträgt (38,18). Numerische Datentypen in DynamoDB unterstützen eine maximale Präzision von bis zu 38. Amazon Redshift unterstützt ebenfalls eine maximale Präzision von 38. Die standardmäßige Dezimalpräzision/-skalierung in Amazon Redshift beträgt jedoch (38,10). Das bedeutet, dass skalierte Werte möglicherweise gekürzt werden.
-
Für eine erfolgreiche Null-ETL-Integration darf ein einzelnes Attribut (bestehend aus Name+Wert) in einem DynamoDB-Element nicht größer als 64 KB sein.
-
Bei Aktivierung exportiert die Null-ETL-Integration die vollständige DynamoDB-Tabelle, um die Amazon-Redshift-Datenbank zu füllen. Die für diesen ersten Vorgang benötigte Zeit hängt von der DynamoDB-Tabellengröße ab. Die Null-ETL-Integration repliziert anschließend inkrementell Updates von DynamoDB zu Amazon Redshift mithilfe inkrementeller DynamoDB-Exporte. Das bedeutet, dass die replizierten DynamoDB-Daten in Amazon Redshift automatisch auf dem aktuellen Stand gehalten werden.
Derzeit beträgt die Mindestlatenz für die Null-ETL-Integration für DynamoDB 15 Minuten. Sie können sie weiter erhöhen, indem Sie für eine Null-ETL-Integration einen Wert ungleich null für
REFRESH_INTERVALfestlegen. Weitere Informationen finden Sie unter CREATE DATABASE und ALTER DATABASE im Amazon-Redshift-Handbuch für Datenbankentwickler.
Informationen zu Amazon-DynamoDB-Quellen finden Sie auch unter Voraussetzungen und Einschränkungen im Amazon-DynamoDB-Entwicklerhandbuch.
Überlegungen, wenn die Quelle der Null-ETL-Integration Anwendungen wie Salesforce, SAP, ServiceNow und Zendesk sind
Die folgenden Überlegungen gelten für Null-ETL-Integrationen aus Quellanwendungen wie Salesforce, SAP, ServiceNow und Zendesk mit Amazon Redshift.
-
Tabellen- und Spaltennamen aus Anwendungsquellen mit mehr als 127 Zeichen werden nicht unterstützt.
-
Die maximale Länge des Amazon-Redshift-Datentyps VARCHAR beträgt 65.535 Bytes. Wenn der Inhalt aus der Quelle dieses Limit überschreitet, wird die Replikation nicht fortgesetzt und die Tabelle wird auf den Status „Fehlgeschlagen“ festgelegt. Sie können den Datenbankparameter
TRUNCATECOLUMNSaufTRUEfestlegen, um die Länge des Inhalts an die Spalte anzupassen. Informationen zur EinstellungTRUNCATECOLUMNSfinden Sie unter CREATE DATABASE und ALTER DATABASE im Amazon-Redshift-Handbuch für Datenbankentwickler.Weitere Informationen zu den Datentypunterschieden zwischen Anwendungsquellen für die Null-ETL-Integration und Amazon-Redshift-Datenbanken finden Sie unter Null-ETL-Integrationen im AWS Glue-Entwicklerhandbuch.
-
Die Mindestlatenz für eine Null-ETL-Integration mit Anwendungen beträgt 1 Stunde. Sie können sie weiter erhöhen, indem Sie für eine Null-ETL-Integration einen Wert ungleich null für
REFRESH_INTERVALfestlegen. Weitere Informationen finden Sie unter CREATE DATABASE und ALTER DATABASE im Amazon-Redshift-Handbuch für Datenbankentwickler.
Informationen zu Quellen von Null-ETL-Integrationen mit Anwendungen finden Sie auch unter Null-ETL-Integrationen im AWS Glue-Entwicklerhandbuch.