Agregación de datos a una base de datos de RDS de origen y realización de consultas - Amazon Relational Database Service

Agregación de datos a una base de datos de RDS de origen y realización de consultas

Para terminar de crear una integración sin ETL que replique los datos de Amazon RDS en Amazon Redshift, debe crear una base de datos en el destino.

Para conexiones con Amazon Redshift, conéctese al clúster o grupo de trabajo de Amazon Redshift y cree una base de datos con una referencia al identificador de integración. A continuación, puede agregar datos a la base de datos de RDS de origen y verlos replicados en Amazon Redshift o Amazon SageMaker.

Creación de una base de datos de destino

Antes de empezar a replicar datos en Amazon Redshift y después de crear una integración, debe crear una base de datos en el almacén de datos de destino. Esta base de datos debe incluir una referencia al identificador de integración. También puede utilizar la consola de Amazon Redshift o el editor de consultas v2 para crear la base de datos.

Para obtener instrucciones sobre cómo crear una base de datos de destino, consulte Creación de una base de datos de destino en Amazon Redshift.

Añadir datos a la base de datos de origen

Tras configurar la integración, puede agregar algunos datos a la base de datos de RDS que desea replicar en el almacén de datos.

nota

Existen diferencias entre los tipos de datos en Amazon RDS y el almacén de análisis de destino. Para consultar una tabla de correspondencias de tipos de datos, consulte Diferencias de tipos de datos entre las bases de datos RDS y Amazon Redshift .

Primero, conéctese a la base de datos de origen mediante el cliente MySQL que prefiera. Para obtener instrucciones, consulte Conexión a la instancia de base de datos de MySQL.

A continuación, cree una tabla e inserte una fila de datos de muestra.

importante

Asegúrese de que la tabla tenga una clave principal. De lo contrario, no se podrá replicar en el almacenamiento de datos de destino.

En el siguiente ejemplo se usa la utilidad MySQL Workbench.

CREATE DATABASE my_db; USE my_db; CREATE TABLE books_table (ID int NOT NULL, Title VARCHAR(50) NOT NULL, Author VARCHAR(50) NOT NULL, Copyright INT NOT NULL, Genre VARCHAR(50) NOT NULL, PRIMARY KEY (ID)); INSERT INTO books_table VALUES (1, 'The Shining', 'Stephen King', 1977, 'Supernatural fiction');

Consulta de los datos de Amazon RDS en Amazon Redshift

Después de agregar datos a la base de datos de RDS, se replican en la base de datos de destino y ya se pueden consultar.

Consulta de datos replicados
  1. Vaya a la consola de Amazon Redshift y seleccione el editor de consultas v2 en el panel de navegación izquierdo.

  2. Conéctese a su clúster o grupo de trabajo y elija su base de datos de destino (la que creó a partir de la integración) en el menú desplegable (destination_database en este ejemplo). Para obtener instrucciones sobre cómo crear una base de datos de destino, consulte Creación de una base de datos de destino en Amazon Redshift.

  3. Utilice una instrucción SELECT para consultar los datos. En este ejemplo, puede ejecutar el siguiente comando para seleccionar todos los datos de la tabla que creó en la base de datos de RDS de origen:

    SELECT * from my_db."books_table";
    Ejecute una instrucción SELECT en el editor de consultas. Como resultado, se agrega una única fila de datos de ejemplo a la base de datos de Amazon RDS.
    • my_db es el nombre del esquema de la base de datos de RDS.

    • books_table es el nombre de la tabla de RDS.

También puede consultar los datos mediante un cliente de línea de comandos. Por ejemplo:

destination_database=# select * from my_db."books_table"; ID | Title | Author | Copyright | Genre | txn_seq | txn_id ----+–------------+---------------+-------------+------------------------+----------+--------+ 1 | The Shining | Stephen King | 1977 | Supernatural fiction | 2 | 12192
nota

Para distinguir entre mayúsculas y minúsculas, utilice comillas dobles (" ") para los nombres de esquemas, tablas y columnas. Para obtener más información, consulte enable_case_sensitive_identifier.

Diferencias de tipos de datos entre las bases de datos RDS y Amazon Redshift

En la siguiente tabla se muestra la asignación de un tipo de datos de RDS para MySQL a un tipo de datos de destino correspondiente. Actualmente, Amazon RDS solo admite estos tipos de datos para integraciones sin ETL.

Si una tabla del clúster de base de datos de origen incluye un tipo de datos no compatible, la tabla no se sincroniza y el destino no puede utilizarla. La transmisión desde el origen al destino continúa, pero la tabla con el tipo de datos no admitido no está disponible. Para corregir la tabla y hacer que esté disponible en el destino, debe revertir manualmente el cambio de ruptura y, a continuación, actualizar la integración ejecutando ALTER DATABASE...INTEGRATION REFRESH.

nota

No puede actualizar las integraciones sin ETL con un Amazon SageMaker Lakehouse. En su lugar, elimine e intente crear la integración de nuevo.

RDS para MySQL

Tipo de datos de RDS para MySQL o Tipo de datos de destino Descripción Limitaciones
INT INTEGER Entero firmado de cuatro bytes Ninguno
SMALLINT SMALLINT Entero firmado de dos bytes Ninguno
TINYINT SMALLINT Entero firmado de dos bytes Ninguno
MEDIUMINT INTEGER Entero firmado de cuatro bytes Ninguno
BIGINT BIGINT Entero firmado de ocho bytes Ninguno
INT UNSIGNED BIGINT Entero firmado de ocho bytes Ninguno
TINYINT UNSIGNED SMALLINT Entero firmado de dos bytes Ninguno
MEDIUMINT UNSIGNED INTEGER Entero firmado de cuatro bytes Ninguno
BIGINT UNSIGNED DECIMAL(20,0) Numérico exacto de precisión seleccionable Ninguno
DECIMAL(p,s) = NUMERIC(p,s) DECIMAL(p,s) Numérico exacto de precisión seleccionable

No se admiten precisiones superiores a 38 ni escalas superiores a 37

DECIMAL(p,s) UNSIGNED = NUMERIC(p,s) UNSIGNED DECIMAL(p,s) Numérico exacto de precisión seleccionable

No se admiten precisiones superiores a 38 ni escalas superiores a 37

FLOAT4/REAL REAL Número en coma flotante de precisión única Ninguno
FLOAT4/REAL UNSIGNED REAL Número en coma flotante de precisión única Ninguno
DOUBLE/REAL/FLOAT8 DOUBLE PRECISION Número en coma flotante de precisión doble Ninguno
DOUBLE/REAL/FLOAT8 UNSIGNED DOUBLE PRECISION Número en coma flotante de precisión doble Ninguno
BIT(n) VARBYTE (8) Valor binario de longitud variable Ninguno
BINARY(n) VARBYTE(n) Valor binario de longitud variable Ninguno
VARBINARY(n) VARBYTE(n) Valor binario de longitud variable Ninguno
CHAR(n) VARCHAR(n) Valor de cadena de longitud variable Ninguno
VARCHAR(n) VARCHAR(n) Valor de cadena de longitud variable Ninguno
TEXT VARCHAR(65535) Valor de cadena de longitud variable de hasta 65 535 caracteres Ninguno
TINYTEXT VARCHAR(255) Valor de cadena de longitud variable de hasta 255 caracteres Ninguno
MEDIUMTEXT VARCHAR(65535) Valor de cadena de longitud variable de hasta 65 535 caracteres Ninguno
LONGTEXT VARCHAR(65535) Valor de cadena de longitud variable de hasta 65 535 caracteres Ninguno
ENUM VARCHAR(1020) Valor de cadena de longitud variable de hasta 1020 caracteres Ninguno
SET VARCHAR(1020) Valor de cadena de longitud variable de hasta 1020 caracteres Ninguno
DATE DATE Fecha de calendario (año, mes, día) Ninguno
DATETIME TIMESTAMP Fecha y hora (sin zona horaria) Ninguno
TIMESTAMP(p) TIMESTAMP Fecha y hora (sin zona horaria) Ninguno
TIME VARCHAR(18) Valor de cadena de longitud variable de hasta 18 caracteres Ninguno
YEAR VARCHAR(4) Valor de cadena de longitud variable de hasta 4 caracteres Ninguno
JSON SUPER Datos o documentos semiestructurados como valores Ninguno