Considerazioni quando si accede ai dati federati con Amazon Redshift - Amazon Redshift

Amazon Redshift non supporterà più la creazione di nuove UDF Python a partire dal 1º novembre 2025. Se desideri utilizzare le UDF Python, creale prima di tale data. Le UDF Python esistenti continueranno a funzionare normalmente. Per ulteriori informazioni, consulta il post del blog.

Considerazioni quando si accede ai dati federati con Amazon Redshift

Alcune funzionalità di Amazon Redshift non supportano l'accesso ai dati federati. Di seguito sono riportate le limitazioni e le considerazioni correlate.

Di seguito sono riportate limitazioni e considerazioni che si applicano quando si utilizzano query federate con Amazon Redshift:

  • Le query federate supportano l'accesso in lettura a origini dati esterne. Non è possibile scrivere o creare oggetti database nell'origine dati esterna.

  • In alcuni casi puoi accedere al database di un cluster di database Amazon RDS o Aurora in una Regione AWS diversa da quella di Amazon Redshift. In questi casi in genere si applicano costi di latenza di rete e fatturazione per il trasferimento dei dati tra le regioni AWS. Si consiglia di utilizzare un database globale Aurora con un endpoint locale nella stessa regione AWS del cluster Amazon Redshift. I database globali Aurora utilizzano un'infrastruttura dedicata per la replica basata sullo storage in due regioni AWS con latenza tipica inferiore a 1 secondo.

  • Considera il costo di accesso al cluster di database Amazon RDS o Aurora. Ad esempio, quando utilizzi questa funzionalità per accedere al cluster di database Aurora, i costi del cluster di database Aurora si basano su IOPS.

  • Le query federate non consentono l’accesso ad Amazon Redshift dal cluster di database RDS o Aurora.

  • Le query federate sono disponibili solo nelle Regioni AWS in cui sono presenti sia Amazon Redshift che il cluster di database Amazon RDS o Aurora.

  • Le query federate al momento non supportano ALTER SCHEMA. Per modificare uno schema, utilizzare DROP e quindi CREATE EXTERNAL SCHEMA.

  • Le query federate non funzionano con il dimensionamento simultaneo.

  • Le query federate al momento non supportano l'accesso tramite un wrapper di dati esterni PostgreSQL.

  • Le query federate per RDS MySQL o Aurora MySQL supportano l'isolamento delle transazioni a livello READ COMMITTED.

  • Se non specificato, Amazon Redshift si connette a RDS per MySQL o ad Aurora MySQL sulla porta 3306. Verifica il numero di porta MySQL prima di creare uno schema esterno per MySQL.

  • Se non specificato, Amazon Redshift si connette a RDS PostgreSQL o a PostgreSQL sulla porta 5432. Verifica il numero di porta PostgreSQL prima di creare uno schema esterno per PostgreSQL.

  • Quando si recuperano i tipi di dati TIMESTAMP e DATE da MySQL, i valori zero vengono trattati come NULL.

  • Se utilizzi un endpoint del lettore di database del cluster di database Aurora, può verificarsi un errore relativo a uno “snapshot non valido”. Ciò può essere evitato con uno dei seguenti metodi:

    • Utilizza un endpoint di istanza di un cluster di database Aurora specifico (anziché l’endpoint del cluster di database Aurora). Questo metodo utilizza l'isolamento delle transazioni REPEATABLE READ per i risultati dal database PostgreSQL.

    • Utilizza un endpoint del lettore del cluster di database Aurora e imposta pg_federation_repeatable_read su false per la sessione. Questo metodo utilizza l'isolamento delle transazioni READ COMMITTED per i risultati dal database PostgreSQL. Per ulteriori informazioni sugli endpoint del lettore del cluster di database Aurora, consulta la sezione Tipi di endpoint del cluster di database Aurora nella Guida per l’utente di Amazon Aurora. Per informazioni su pg_federation_repeatable_read, consulta pg_federation_repeatable_read.

Di seguito sono riportate considerazioni per le transazioni quando si lavora con query federate su database PostgreSQL:

  • Se una query è costituita da tabelle federate, il nodo direttivo avvia una transazione READ ONLY REPEATABLE READ nel database remoto. Questa transazione rimane per la durata della transazione Amazon Redshift.

  • Il nodo direttivo crea uno snapshot del database remoto mediante chiamata pg_export_snapshot e crea un blocco di lettura sulle tabelle interessate.

  • Un nodo di calcolo avvia una transazione e utilizza lo snapshot creato nel nodo direttivo per emettere query al database remoto.

Versioni supportate dei database federati

Uno schema esterno di Amazon Redshift fa riferimento a un database in un RDS PostgreSQL o Aurora PostgreSQL esterno. In tal caso, si applicano le seguenti limitazioni:

  • Quando crei uno schema esterno che fa riferimento al cluster di database Aurora, la versione del database Aurora PostgreSQL deve essere 9.6 o successiva.

  • Quando si crea uno schema esterno che fa riferimento ad Amazon RDS, la versione del database PostgreSQL Amazon RDS deve essere 9.6 o successiva.

Uno schema esterno Amazon Redshift può fare riferimento a un database in un RDS MySQL o Aurora MySQL esterno. In tal caso, si applicano le seguenti limitazioni:

  • Quando crei uno schema esterno che fa riferimento al cluster database Aurora, la versione del database Aurora MySQL deve essere 5.6 o successiva.

  • Quando si crea uno schema esterno che fa riferimento ad Amazon RDS, la versione del database RDS MySQL deve essere 5.6 o successiva.