Consideraciones al obtener acceso a los datos federados con Amazon Redshift - Amazon Redshift

Consideraciones al obtener acceso a los datos federados con Amazon Redshift

Algunas características de Amazon Redshift que no admiten el acceso a datos federados. Puede encontrar limitaciones y consideraciones relacionadas a continuación.

A continuación, se indican las limitaciones y las consideraciones que se aplican cuando se utilizan las consultas federadas con Amazon Redshift:

  • Las consultas federadas admiten acceso de lectura a orígenes de datos externos. No se pueden escribir ni crear objetos de base de datos en el origen de datos externo.

  • En algunos casos, puede obtener acceso a una base de datos del clúster de Amazon RDS o Aurora DB en una región de AWS distinta a la de Amazon Redshift. En estos casos, normalmente se generan cargos por latencia de red y facturación por la transferencia de datos entre regiones de AWS. Se recomienda utilizar una base de datos global de Aurora con un punto de enlace local en la misma región de AWS que su clúster de Amazon Redshift. Las bases de datos globales de Aurora utilizan una infraestructura dedicada para la replicación basada en el almacenamiento en dos regiones de AWS cualesquiera con una latencia típica de menos de 1 segundo.

  • Tenga en cuenta el costo de acceso al clúster de Amazon RDS o Aurora DB. Por ejemplo, cuando se utiliza esta característica para acceder al clúster de Aurora DB, los cargos del clúster de Aurora DB se basan en IOPS.

  • Las consultas federadas no admiten el acceso a Amazon Redshift desde RDS o el clúster de Aurora DB.

  • Las consultas federadas solo están disponibles en las regiones de AWS en las que estén disponibles Amazon Redshift y Amazon RDS o el clúster de Aurora DB.

  • Las consultas federadas actualmente no son compatibles con ALTER SCHEMA. Para cambiar un esquema, utilice DROP y, a continuación, CREATE EXTERNAL SCHEMA.

  • Las consultas federadas no funcionan con el escalado de simultaneidad.

  • Por el momento, las consultas federadas no admiten el acceso a través de un encapsulador de datos externo de PostgreSQL.

  • Las consultas federadas a RDS MySQL o Aurora MySQL admiten el aislamiento de transacciones en el nivel READ COMMITTED.

  • Si no se especifica, Amazon Redshift se conecta a RDS para MySQL o Aurora MySQL en el puerto 3306. Confirme el número de puerto de MySQL antes de crear un esquema externo para MySQL.

  • Si no se especifica, Amazon Redshift se conecta a RDS PostgreSQL o Aurora PostgreSQL en el puerto 5432. Confirme el número de puerto de PostgreSQL antes de crear un esquema externo para PostgreSQL.

  • Cuando se obtienen los tipos de datos TIMESTAMP y DATE de MySQL, los valores cero se tratan como NULL.

  • Si se utiliza un punto de conexión de lector de base de datos de clúster de Aurora DB, puede producirse un error de “instantánea no válida”. Esto puede evitarse con uno de los siguientes métodos:

    • Utilice un punto de conexión de instancia de clúster de Aurora DB específico (en lugar de utilizar el punto de conexión del clúster de Aurora DB). Este método utiliza el aislamiento de transacciones REPEATABLE READ para los resultados de la base de datos PostgreSQL.

    • Utilice un punto de conexión de lector de clúster de Aurora DB y establezca pg_federation_repeatable_read en false durante la sesión. Este método utiliza el aislamiento de transacciones REPEATABLE READ para los resultados de la base de datos PostgreSQL. Para obtener más información sobre puntos de conexión de lector de clúster de Aurora DB, consulte Tipos de puntos de conexión de clúster de Aurora DB en la Guía del usuario de Amazon Aurora. Para obtener más información sobre pg_federation_repeatable_read, consulte pg_federation_repeatable_read.

A continuación, se presentan consideraciones en torno a las transacciones realizadas cuando se usan las consultas federadas a bases de datos PostgreSQL:

  • Si una consulta consta de tablas federadas, el nodo principal inicia una transacción READ ONLY REPEATABLE READ en la base de datos remota. Esta transacción permanece todo el tiempo que dura la transacción de Amazon Redshift.

  • El nodo principal crea una instantánea de la base de datos remota llamando a pg_export_snapshot y realiza un bloqueo de lectura en las tablas afectadas.

  • Un nodo de cálculo inicia una transacción y utiliza la instantánea creada en el nodo principal para emitir consultas a la base de datos remota.

Versiones compatibles de bases de datos federadas

Un esquema externo de Amazon Redshift puede referenciar una base de datos de RDS PostgreSQL o Aurora PostgreSQL externa. En este caso, se aplican estas limitaciones:

  • Cuando se crea un esquema externo que consulte el clúster de Aurora DB, la versión de la base de datos de Aurora PostgreSQL debe ser 9.6 o una posterior.

  • Cuando se crea un esquema externo que consulte Amazon RDS, la versión de la base de datos de Amazon RDS PostgreSQL debe ser 9.6 o una posterior.

Un esquema externo de Amazon Redshift puede referenciar una base de datos de RDS MySQL o Aurora MySQL externa. En este caso, se aplican estas limitaciones:

  • Cuando se crea un esquema externo que consulte el clúster de Aurora DB, la versión de la base de datos de Aurora MySQL debe ser 5.6 o una posterior.

  • Cuando se cree un esquema externo que revise Amazon RDS, la versión de la base de datos de RDS MySQL debe ser 5.6 o una posterior.