Einschränkungen beim Zugriff auf Verbunddaten mit Amazon Redshift - Amazon Redshift

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.

Einschränkungen beim Zugriff auf Verbunddaten mit Amazon Redshift

Einige Amazon-Redshift-Funktionen unterstützen den Zugriff auf Verbunddaten nicht. Im Folgenden finden Sie zugehörige Einschränkungen und Überlegungen.

Bei der Verwendung von Verbundabfragen in Amazon Redshift gelten folgende Einschränkungen und Überlegungen:

  • Verbundabfragen unterstützen den Lesezugriff auf externe Datenquellen. In der externen Datenquelle können Sie keine Datenbankobjekte schreiben oder erstellen.

  • In einigen Fällen können Sie auf eine Amazon-RDS- oder Aurora-DB-Clusterdatenbank in einer anderen AWS-Region als Amazon Redshift zugreifen. In diesen Fällen fallen in der Regel Netzwerklatenz- und Abrechnungsgebühren für den Datentransfer über AWS-Regionen hinweg an. Wir empfehlen die Verwendung einer globalen Aurora-Datenbank mit einem lokalen Endpunkt in derselben AWS-Region wie Ihr Amazon-Redshift-Cluster. Die globalen Datenbanken von Aurora nutzen eine dedizierte Infrastruktur für die speicherbasierte Replikation in zwei beliebigen AWS-Regionen mit einer typischen Latenzzeit von unter 1 Sekunde.

  • Berücksichtigen Sie die Kosten für den Zugriff auf Amazon-RDS- oder Aurora-DB-Cluster. Wenn Sie dieses Feature beispielsweise für den Zugriff auf Aurora-DB-Cluster verwenden, basieren die Gebühren für Aurora-DB-Cluster auf IOPS.

  • Verbundabfragen unterstützen den Zugriff auf Amazon Redshift über RDS- oder Aurora-DB-Cluster nicht.

  • Verbundabfragen sind nur in AWS-Regionen verfügbar, in denen sowohl Amazon Redshift als auch Amazon-RDS- oder Aurora-DB-Cluster verfügbar sind.

  • Verbundabfragen unterstützen derzeit nicht ALTER SCHEMA. Um ein Schema zu ändern, verwenden Sie DROP und dann CREATE EXTERNAL SCHEMA.

  • Verbundabfragen funktionieren nicht mit der Parallelitätsskalierung.

  • Verbundabfragen unterstützen derzeit keinen Zugriff über einen PostgreSQL-Fremddaten-Wrapper.

  • Verbundabfragen an RDS MySQL oder Aurora MySQL unterstützen die Transaktionsisolierung auf der Ebene READ COMMITTED.

  • Sofern nicht anders angegeben, stellt Amazon Redshift eine Verbindung mit RDS for MySQL oder Aurora MySQL auf Port 3306 her. Bestätigen Sie die MySQL-Portnummer, bevor Sie ein externes Schema für MySQL erstellen.

  • Sofern nicht anders angegeben, stellt Amazon Redshift eine Verbindung mit RDS PostgreSQL oder Aurora PostgreSQL auf Port 5432 her. Bestätigen Sie die PostgreSQL-Portnummer, bevor Sie ein externes Schema für PostgreSQL erstellen.

  • Beim Abrufen der Datentypen TIMESTAMP und DATE aus MySQL werden Nullwerte als NULL behandelt.

  • Wenn ein Reader-Endpunkt einer Aurora-DB-Clusterdatenbank verwendet wird, kann der Fehler „Ungültiger Snapshot“ auftreten. Dies lässt sich über eine der folgenden Methoden vermeiden:

    • Verwenden Sie einen spezifischen Endpunkt der Aurora-DB-Cluster-Instance (anstelle des Endpunkts des Aurora-DB-Clusters). Bei dieser Methode wird die Transaktionsisolation REPEATABLE READ für die Ergebnisse aus der PostgreSQL-Datenbank verwendet.

    • Verwenden Sie einen Reader-Endpunkt des Aurora-DB-Clusters und legen Sie pg_federation_repeatable_read für die Sitzung auf „false“ fest. Bei dieser Methode wird die Transaktionsisolation READ COMMITTED für die Ergebnisse aus der PostgreSQL-Datenbank verwendet. Weitere Informationen zu Reader-Endpunkten in Aurora-DB-Clustern finden Sie unter Typen von Endpunkten in Aurora-DB-Clustern im Amazon-Aurora-Benutzerhandbuch. Weitere Informationen zu pg_federation_repeatable_read finden Sie unter pg_federation_repeatable_read.

Für Transaktionen beim Arbeiten mit Verbundabfragen an PostgreSQL-Datenbanken gelten folgende Überlegungen:

  • Wenn eine Abfrage aus Verbundtabellen besteht, startet der Leader-Knoten eine READ ONLY REPEATABLE READ-Transaktion in der fernen Datenbank. Diese Transaktion bleibt für die Dauer der Amazon-Redshift-Transaktion bestehen.

  • Der Leader-Knoten erstellt einen Snapshot der fernen Datenbank durch Aufruf von pg_export_snapshot und setzt eine Lesesperre auf die betroffenen Tabellen.

  • Ein Datenverarbeitungsknoten startet eine Transaktion und verwendet den Snapshot, der am Leader-Knoten erstellt wurde, um Abfragen an die ferne Datenbank auszugeben.

Unterstützte Versionen von Verbunddatenbanken

Ein externes Amazon-Redshift-Schema kann auf eine Datenbank in einem externen RDS PostgreSQL oder Aurora PostgreSQL verweisen. Dabei gelten die folgenden Einschränkungen:

  • Wenn Sie ein externes Schema mit Verweis auf Aurora-DB-Cluster erstellen, muss die Aurora-PostgreSQL-Datenbank in der Version 9.6 oder höher vorliegen.

  • Wenn Sie ein externes Schema mit Verweis auf Amazon RDS erstellen, muss die Amazon-RDS-PostgreSQL-Datenbank in der Version 9.6 oder später vorliegen.

Ein externes Amazon-Redshift-Schema kann auf eine Datenbank in einem externen RDS MySQL oder Aurora MySQL verweisen. Dabei gelten die folgenden Einschränkungen:

  • Wenn Sie ein externes Schema mit Verweis auf Aurora-DB-Cluster erstellen, muss die Aurora-MySQL-Datenbank in der Version 5.6 oder höher vorliegen.

  • Wenn Sie ein externes Schema mit Verweis auf Amazon RDS erstellen, muss die RDS-MySQL-Datenbank in der Version 5.6 oder später vorliegen.