

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Ajouter des données à un cluster de bases de données Aurora source et les interroger
<a name="zero-etl.querying"></a>

Pour finir de créer une intégration zéro ETL qui réplique les données d’Amazon Aurora vers Amazon Redshift, vous devez créer une base de données dans la destination cible.

Pour les connections avec Amazon Redshift, connectez-vous à votre cluster ou groupe de travail Amazon Redshift et créez une base de données avec une référence à votre identifiant d’intégration. Ensuite, vous pouvez ajouter des données dans votre cluster de bases de données Aurora source afin qu’elles soient répliquées dans Amazon Redshift ou Amazon SageMaker.

**Topics**
+ [Création d’une base de données cible](#zero-etl.create-db)
+ [Ajout de données à la base de données source](#zero-etl.add-data-rds)
+ [Interrogation de vos données Aurora dans Amazon Redshift](#zero-etl.query-data-redshift)
+ [Différences de type de données entre les bases de données Aurora et Amazon Redshift](#zero-etl.data-type-mapping)
+ [Opérations DDL pour Aurora PostgreSQL](#zero-etl.ddl-postgres)

## Création d’une base de données cible
<a name="zero-etl.create-db"></a>

Avant de pouvoir commencer à répliquer des données dans Amazon Redshift, après avoir créé une intégration, vous devez créer une base de données dans votre entrepôt de données cible. Cette base de données de doit inclure une référence à l’identifiant d’intégration. Vous pouvez utiliser la console Amazon Redshift ou l'éditeur de requête v2 pour créer la base de données.

Pour obtenir des instructions sur la création d'une base de données de destination, consultez [Création d'une base de données de destination dans Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/zero-etl-using.creating-db.html#zero-etl-using.create-db).

## Ajout de données à la base de données source
<a name="zero-etl.add-data-rds"></a>

Après avoir configuré votre intégration, vous pouvez remplir le cluster de bases de données Aurora source avec les données que vous souhaitez répliquer dans votre entrepôt de données.

**Note**  
Il existe des différences entre les types de données dans Amazon Aurora et dans l’entrepôt d’analytique cible. Pour un tableau des mappages de types de données, consultez [Différences de type de données entre les bases de données Aurora et Amazon Redshift](#zero-etl.data-type-mapping).

Tout d’abord, connectez-vous au cluster de bases de données source à l’aide du client MySQL ou PostgreSQL de votre choix. Pour obtenir des instructions, veuillez consulter [Connexion à un cluster de bases de données Amazon Aurora](Aurora.Connecting.md).

Ensuite, créez une table et insérez une ligne d'exemples de données.

**Important**  
Assurez-vous que la table possède une clé primaire. Sinon, elle ne peut pas être répliquée vers l'entrepôt de données cible.

Les utilitaires PostgreSQL pg\_dump et pg\_restore créent d’abord des tables sans clé primaire, puis les ajoutent par la suite. Si vous utilisez l’un de ces utilitaires, nous vous recommandons de créer d’abord un schéma, puis de charger les données dans une commande distincte.

**MySQL**

L’exemple suivant utilise l’[utilitaire MySQL Workbench](https://dev.mysql.com/downloads/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');
```

**PostgreSQL**

L’exemple suivant utilise le terminal interactif PostgreSQL `[psql](https://www.postgresql.org/docs/current/app-psql.html)`. Lorsque vous vous connectez au cluster, incluez la base de données nommée que vous avez spécifiée lors de la création de l’intégration.

```
psql -h {{mycluster}}.cluster-{{123456789012}}.us-east-2.rds.amazonaws.com -p 5432 -U {{username}} -d {{named_db}};

named_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));

named_db=> INSERT INTO {{books_table}} VALUES (1, 'The Shining', 'Stephen King', 1977, 'Supernatural fiction');
```

## Interrogation de vos données Aurora dans Amazon Redshift
<a name="zero-etl.query-data-redshift"></a>

Une fois que vous avez ajouté des données à la base de données RDS, elles sont répliquées dans la base de données de destination et sont prêtes à être interrogées.

**Pour interroger les données répliquées**

1. Accédez à la console Amazon Redshift et choisissez **Éditeur de requête v2** dans le panneau de navigation de gauche.

1. Connectez-vous à votre cluster ou groupe de travail et choisissez votre base de données de destination (que vous avez créée à partir de l'intégration) dans le menu déroulant (**destination\_database** dans cet exemple). Pour obtenir des instructions sur la création d'une base de données de destination, consultez [Création d'une base de données de destination dans Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/zero-etl-using.creating-db.html#zero-etl-using.create-db).

1. Utilisez une instruction SELECT pour interroger vos données. Dans cet exemple, vous pouvez exécuter la commande suivante pour sélectionner toutes les données de la table que vous avez créée dans le cluster de bases de données Aurora source :

   ```
   SELECT * from {{my_db}}."{{books_table}}";
   ```  
![Exécutez une instruction SELECT dans l’éditeur de requête. Le résultat est une seule ligne d’échantillons de données qui a été ajoutée à la base de données Amazon RDS.](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/AuroraUserGuide/images/zero-etl-redshift-editor.png)
   + `{{my_db}}` est le nom du schéma de base de données Aurora. Cette option n’est nécessaire que pour les bases de données MySQL.
   + `{{books_table}}` est le nom de la table Aurora.

Vous pouvez également interroger les données à l’aide d’un client de ligne de commande : Par exemple :

```
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
```

**Note**  
Pour appliquer la sensibilité à la casse, utilisez des guillemets doubles (« ») pour les noms de schéma, de table et de colonne. Pour plus d'informations, consultez [enable\_case\_sensitive\_identifier](https://docs.aws.amazon.com/redshift/latest/dg/r_enable_case_sensitive_identifier.html).

## Différences de type de données entre les bases de données Aurora et Amazon Redshift
<a name="zero-etl.data-type-mapping"></a>

Les tableaux suivants montrent les mappages des types de données Aurora MySQL et Aurora PostgreSQL avec les types de données de destination correspondants. *Amazon Aurora ne prend actuellement en charge que ces types de données pour les intégrations zéro ETL*.

Si une table de votre cluster de bases de données source inclut un type de données non pris en charge, la table est désynchronisée et n’est pas consommable par la destination cible. Le streaming de la source vers la cible se poursuit, mais le tableau contenant le type de données non pris en charge n'est pas disponible. Pour corriger la table et la mettre à disposition dans la destination cible, vous devez annuler manuellement la modification importante, puis actualiser l’intégration en exécutant `[ALTER DATABASE...INTEGRATION REFRESH](https://docs.aws.amazon.com/redshift/latest/dg/r_ALTER_DATABASE.html)`.

**Note**  
Vous ne pouvez pas actualiser les intégrations zéro ETL à un Amazon SageMaker Lakehouse. Supprimez plutôt l’intégration et essayez de la créer à nouveau.

**Topics**
+ [Aurora MySQL](#zero-etl.data-type-mapping-mysql)
+ [Aurora PostgreSQL](#zero-etl.data-type-mapping-postgres)

### Aurora MySQL
<a name="zero-etl.data-type-mapping-mysql"></a>


| Type de données Aurora MySQL | Types de données cibles  | Description  | Limitations | 
| --- | --- | --- | --- | 
| INT  | INTEGER | Entier signé sur quatre octets | Aucune | 
| SMALLINT | SMALLINT | Entier signé sur deux octets | Aucune | 
| TINYINT | SMALLINT | Entier signé sur deux octets | Aucune | 
| MEDIUMINT | INTEGER | Entier signé sur quatre octets | Aucune | 
| BIGINT | BIGINT | Entier signé sur huit octets | Aucune | 
| INT UNSIGNED | BIGINT | Entier signé sur huit octets | Aucune | 
| TINYINT UNSIGNED | SMALLINT | Entier signé sur deux octets | Aucune | 
| MEDIUMINT UNSIGNED | INTEGER | Entier signé sur quatre octets | Aucune | 
| BIGINT UNSIGNED | DECIMAL(20,0) | Valeur numérique exacte avec précision sélectionnable | Aucune | 
| DECIMAL(p,s) = NUMERIC(p,s) | DECIMAL(p,s) | Valeur numérique exacte avec précision sélectionnable | Une précision supérieure à 38 et une mise à l’échelle supérieure à 37 ne sont pas prises en charge | 
| DECIMAL(p,s) UNSIGNED = NUMERIC(p,s) UNSIGNED | DECIMAL(p,s) | Valeur numérique exacte avec précision sélectionnable | Une précision supérieure à 38 et une mise à l’échelle supérieure à 37 ne sont pas prises en charge | 
| FLOAT4/REAL | REAL | Nombre à virgule flottante simple précision | Aucune | 
| FLOAT4/REAL NON SIGNÉ | REAL | Nombre à virgule flottante simple précision | Aucune | 
| DOUBLE/REAL/FLOAT8 | DOUBLE PRECISION | Nombre à virgule flottante de double précision | Aucune | 
| DOUBLE/REAL/FLOAT8 NON SIGNÉ | DOUBLE PRECISION | Nombre à virgule flottante de double précision | Aucune | 
| BIT(n) | VARBYTE(8) | Variable-length valeur binaire | Aucune | 
| BINARY(n) | VARBYTE(n) | Variable-length valeur binaire | Aucune | 
| VARBINARY(n) | VARBYTE(n) | Variable-length valeur binaire | Aucune | 
| CHAR(n) | VARCHAR(n) | Variable-length valeur de chaîne | Aucune | 
| VARCHAR(n) | VARCHAR(n) | Variable-length valeur de chaîne | Aucune | 
| TEXT | VARCHAR(65535) | Variable-length valeur de chaîne jusqu'à 65 535 caractères | Aucune | 
| TINYTEXT | VARCHAR(255) | Variable-length valeur de chaîne jusqu'à 255 caractères | Aucune | 
| MEDIUMTEXT | VARCHAR(65535) | Variable-length valeur de chaîne jusqu'à 65 535 caractères | Aucune | 
| LONGTEXT | VARCHAR(65535) | Variable-length valeur de chaîne jusqu'à 65 535 caractères | Aucune | 
| ENUM | VARCHAR(1020) | Variable-length valeur de chaîne jusqu'à 1 020 caractères | Aucune | 
| SET | VARCHAR(1020) | Variable-length valeur de chaîne jusqu'à 1 020 caractères | Aucune | 
| DATE | DATE | Date calendaire (année, mois, jour) | Aucune | 
| DATETIME | TIMESTAMP | Date et heure (sans fuseau horaire) | Aucune | 
| TIMESTAMP(p) | TIMESTAMP | Date et heure (sans fuseau horaire) | Aucune | 
| TIME | VARCHAR(18) | Variable-length valeur de chaîne jusqu'à 18 caractères | Aucune | 
| YEAR | VARCHAR(4) | Variable-length valeur de chaîne jusqu'à 4 caractères | Aucune | 
| JSON | SUPER | Données ou documents semi-structurés sous forme de valeurs | Aucune | 

### Aurora PostgreSQL
<a name="zero-etl.data-type-mapping-postgres"></a>

Zero-ETL intégrations pour ne prend pas en charge les types de données personnalisés ni les types de données créés par des extensions.


| Type de données Aurora PostgreSQL | Type de données Amazon Redshift | Description | Limitations | 
| --- | --- | --- | --- | 
| array | SUPER | Données ou documents semi-structurés sous forme de valeurs | Aucune | 
| bigint | BIGINT | Entier signé sur huit octets | Aucune | 
| bigserial | BIGINT | Entier signé sur huit octets | Aucune | 
| bit varying(n) | VARBYTE(n) | Variable-length valeur binaire jusqu'à 16 777 216 octets | Aucune | 
| bit(n) | VARBYTE(n) | Variable-length valeur binaire jusqu'à 16 777 216 octets | Aucune | 
| bit, bit varying | VARBYTE(16777216) | Variable-length valeur binaire jusqu'à 16 777 216 octets | Aucune | 
| boolean | BOOLEAN | Booléen logique () true/false | Aucune | 
| bytea | VARBYTE(16777216) | Variable-length valeur binaire jusqu'à 16 777 216 octets | Aucune | 
| char(n) | CHAR(n) | Fixed-length valeur de chaîne de caractères jusqu'à 65 535 octets | Aucune | 
| char varying(n) | VARCHAR(65535) | Variable-length valeur de chaîne de caractères jusqu'à 65 535 caractères | Aucune | 
| cid | BIGINT | Entier signé sur huit octets | Aucune | 
| cidr | VARCHAR(19) | Variable-length valeur de chaîne jusqu'à 19 caractères | Aucune | 
| date | DATE | Date calendaire (année, mois, jour) | Valeurs supérieures à 294 276 A.D. Non prises en charge | 
| double precision | DOUBLE PRECISION | Nombres à virgule flottante de double précision | Valeurs inférieures à la normale non entièrement prises en charge | 
| gtsvector | VARCHAR(65535) | Variable-length valeur de chaîne jusqu'à 65 535 caractères | Aucune | 
| inet | VARCHAR(19) | Variable-length valeur de chaîne jusqu'à 19 caractères | Aucune | 
| entier | INTEGER | Entier signé sur quatre octets | Aucune | 
| int2vector | SUPER | Données ou documents semi-structurés sous forme de valeurs. | Aucune | 
| interval | INTERVAL | Durée | Seuls les types INTERVAL qui spécifient un qualificatif annuel par mois ou un qualificatif journalier par seconde sont pris en charge. | 
| json | SUPER | Données ou documents semi-structurés sous forme de valeurs | Aucune | 
| jsonb | SUPER | Données ou documents semi-structurés sous forme de valeurs | Aucune | 
| jsonpath | VARCHAR(65535) | Variable-length valeur de chaîne jusqu'à 65 535 caractères | Aucune | 
| macaddr | VARCHAR(17) | Variable-length valeur de chaîne jusqu'à 17 caractères | Aucune | 
| macaddr8 | VARCHAR(23) | Variable-length valeur de chaîne jusqu'à 23 caractères | Aucune | 
| money | DECIMAL(20,3) | Montant en devises | Aucune | 
| name | VARCHAR(64) | Variable-length valeur de chaîne jusqu'à 64 caractères | Aucune | 
| numeric(p,s) | DECIMAL(p,s) | User-defined valeur de précision fixe |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/AuroraUserGuide/zero-etl.querying.html)  | 
| oid | BIGINT | Entier signé sur huit octets | Aucune | 
| oidvector | SUPER | Données ou documents semi-structurés sous forme de valeurs. | Aucune | 
| pg\_brin\_bloom\_summary | VARCHAR(65535) | Variable-length valeur de chaîne jusqu'à 65 535 caractères | Aucune | 
| pg\_dependencies | VARCHAR(65535) | Variable-length valeur de chaîne jusqu'à 65 535 caractères | Aucune | 
| pg\_lsn | VARCHAR(17) | Variable-length valeur de chaîne jusqu'à 17 caractères | Aucune | 
| pg\_mcv\_list | VARCHAR(65535) | Variable-length valeur de chaîne jusqu'à 65 535 caractères | Aucune | 
| pg\_ndistinct | VARCHAR(65535) | Variable-length valeur de chaîne jusqu'à 65 535 caractères | Aucune | 
| pg\_node\_tree | VARCHAR(65535) | Variable-length valeur de chaîne jusqu'à 65 535 caractères | Aucune | 
| pg\_snapshot | VARCHAR(65535) | Variable-length valeur de chaîne jusqu'à 65 535 caractères | Aucune | 
| real | REAL | Nombre à virgule flottante simple précision | Valeurs inférieures à la normale non entièrement prises en charge | 
| refcursor | VARCHAR(65535) | Variable-length valeur de chaîne jusqu'à 65 535 caractères | Aucune | 
| smallint | SMALLINT | Entier signé sur deux octets | Aucune | 
| smallserial | SMALLINT | Entier signé sur deux octets | Aucune | 
| serial | INTEGER | Entier signé sur quatre octets | Aucune | 
| text | VARCHAR(65535) | Variable-length valeur de chaîne jusqu'à 65 535 caractères | Aucune | 
| tid | VARCHAR(23) | Variable-length valeur de chaîne jusqu'à 23 caractères | Aucune | 
| time [(p)] without time zone | VARCHAR(19) | Variable-length valeur de chaîne jusqu'à 19 caractères | Valeurs Infinity et -Infinity non prises en charge | 
| time [(p)] with time zone | VARCHAR(22) | Variable-length valeur de chaîne jusqu'à 22 caractères | Valeurs Infinity et -Infinity non prises en charge | 
| timestamp [(p)] without time zone | TIMESTAMP | Date et heure (sans fuseau horaire) |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/AuroraUserGuide/zero-etl.querying.html)  | 
| timestamp [(p)] with time zone | TIMESTAMPTZ | Date et heure (avec fuseau horaire) |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/AuroraUserGuide/zero-etl.querying.html)  | 
| TSQUERY | VARCHAR(65535) | Variable-length valeur de chaîne jusqu'à 65 535 caractères | Aucune | 
| tsvector | VARCHAR(65535) | Variable-length valeur de chaîne jusqu'à 65 535 caractères | Aucune | 
| txid\_snapshot | VARCHAR(65535) | Variable-length valeur de chaîne jusqu'à 65 535 caractères | Aucune | 
| uuid | VARCHAR(36) | Variable-length Chaîne de 36 caractères | Aucune | 
| xid | BIGINT | Entier signé sur huit octets | Aucune | 
| xid8 | DECIMAL(20, 0) | Décimal de précision fixe | Aucune | 
| xml | VARCHAR(65535) | Variable-length valeur de chaîne jusqu'à 65 535 caractères | Aucune | 

## Opérations DDL pour Aurora PostgreSQL
<a name="zero-etl.ddl-postgres"></a>

Amazon Redshift est dérivé de PostgreSQL. Il partage donc plusieurs fonctionnalités avec RDS pour PostgreSQL . Zero-ETL les intégrations tirent parti de ces similitudes pour rationaliser la réplication des données de vers Amazon Redshift, en mappant les bases de données par nom et en utilisant la base de données, le schéma et la structure de table partagés.

Tenez compte des points suivants lors de la gestion des intégrations zéro ETL Aurora PostgreSQL :
+ L’isolation est gérée au niveau de la base de données.
+ La réplication s’effectue au niveau de la base de données. 
+ Les bases de données Aurora PostgreSQL sont mappées aux bases de données Amazon Redshift par leur nom, les données étant transmises à la base de données Redshift renommée correspondante si l’original est renommé.

Malgré leurs similitudes, Amazon Redshift et Aurora PostgreSQL présentent des différences importantes. Les sections suivantes décrivent les réponses du système Amazon Redshift pour les opérations DDL courantes.

**Topics**
+ [Opérations de base de données](#zero-etl.ddl-postgres-database)
+ [Opérations de schéma](#zero-etl.ddl-postgres-schema)
+ [Opérations de table](#zero-etl.ddl-postgres-table)

### Opérations de base de données
<a name="zero-etl.ddl-postgres-database"></a>

Le tableau suivant présente les réponses du système aux opérations DDL de base de données.


| Opération DDL | Réponse du système Redshift | 
| --- | --- | 
| CREATE DATABASE | Aucune opération | 
| DROP DATABASE | Amazon Redshift supprime toutes les données de la base de données Redshift cible. | 
| RENAME DATABASE | Amazon Redshift supprime toutes les données de la base de données cible d’origine et resynchronise les données de la nouvelle base de données cible. Si la nouvelle base de données n’existe pas, vous devez la créer manuellement. Pour obtenir des instructions, consultez [Création d’une base de données de destination dans Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/zero-etl-using.creating-db.html#zero-etl-using.create-db). | 

### Opérations de schéma
<a name="zero-etl.ddl-postgres-schema"></a>

Le tableau suivant présente les réponses du système aux opérations DDL de schéma.


| Opération DDL | Réponse du système Redshift | 
| --- | --- | 
| CREATE SCHEMA | Aucune opération | 
| DROP SCHEMA | Amazon Redshift supprime le schéma d’origine. | 
| RENAME SCHEMA | Amazon Redshift supprime le schéma d’origine puis resynchronise les données dans le nouveau schéma. | 

### Opérations de table
<a name="zero-etl.ddl-postgres-table"></a>

Le tableau suivant présente les réponses du système aux opérations DDL de table.


| Opération DDL | Réponse du système Redshift | 
| --- | --- | 
| CREATE TABLE | Amazon Redshift crée la table.<br />Certaines opérations entraînent l’échec de la création de tables, telles que la création d’une table sans clé primaire ou le partitionnement déclaratif. Pour plus d’informations, consultez [Limitations](zero-etl.md#zero-etl.reqs-lims) et [Résolution des problèmes liés aux intégrations zéro ETL Aurora](zero-etl.troubleshooting.md). | 
| DROP TABLE | Amazon Redshift supprime la table. | 
| TRUNCATE TABLE | Amazon Redshift tronque la table. | 
| ALTER TABLE (RENAME...) | Amazon Redshift renomme la table ou la colonne. | 
| ALTER TABLE (SET SCHEMA) | Amazon Redshift supprime la table dans le schéma d’origine, puis resynchronise la table dans le nouveau schéma. | 
| ALTER TABLE (ADD PRIMARY KEY) | Amazon Redshift ajoute une clé primaire et resynchronise la table. | 
| ALTER TABLE (ADD COLUMN) | Amazon Redshift ajoute une colonne à la table. | 
| ALTER TABLE (DROP COLUMN) | Amazon Redshift supprime la colonne s’il ne s’agit pas d’une colonne de clé primaire. Dans le cas contraire, il resynchronise la table. | 
| ALTER TABLE (SET LOGGED/UNLOGGED) | Si vous remplacez la table par Journalisé, Amazon Redshift la resynchronise. Si vous remplacez la table par Non journalisé, Amazon Redshift la supprime. | 