

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 à une base de données RDS 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 RDS 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 base de données RDS 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 au cluster de bases de données source](#zero-etl.add-data-rds)
+ [Interrogation de vos données Amazon RDS dans Amazon Redshift](#zero-etl.query-data-redshift)
+ [Différences de type de données entre les bases de données RDS et Amazon Redshift](#zero-etl.data-type-mapping)
+ [Opérations DDL pour RDS pour 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 au cluster de bases de données source
<a name="zero-etl.add-data-rds"></a>

Après avoir configuré votre intégration, vous pouvez remplir la base de données RDS 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 RDS 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 RDS et Amazon Redshift](#zero-etl.data-type-mapping).

Tout d’abord, connectez-vous à la base de données source à l’aide du client MySQL de votre choix. Pour obtenir des instructions, veuillez consulter [Connexion à votre instance de base de données MySQL](USER_ConnectToInstance.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.

**RDS for 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');
```



**RDS pour PostgreSQL**

L’exemple suivant utilise le terminal interactif PostgreSQL `[psql](https://www.postgresql.org/docs/current/app-psql.html)`. Lorsque vous vous connectez à la base de données, incluez le nom de la base de données que vous souhaitez répliquer.

```
psql -h mydatabase.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');
```

**RDS for Oracle**

L’exemple suivant utilise SQL\$1Plus pour vous connecter à votre base de données RDS for Oracle.

```
sqlplus 'user_name@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dns_name)(PORT=port))(CONNECT_DATA=(SID=database_name)))'

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

SQL> INSERT INTO books_table VALUES (1, 'The Shining', 'Stephen King', 1977, 'Supernatural fiction');
```

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

Une fois que vous avez ajouté des données au cluster de bases de données Aurora, 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\$1database** 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 la base de données RDS 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/UserGuide/images/zero-etl-redshift-editor.png)
   + `my_db` est le nom du schéma de base de données RDS. 
   + `books_table` est le nom de la table RDS.

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\$1case\$1sensitive\$1identifier](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 RDS et Amazon Redshift
<a name="zero-etl.data-type-mapping"></a>

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

Si une table de votre base 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**
+ [RDS for MySQL](#zero-etl.data-type-mapping-mysql)
+ [RDS pour PostgreSQL](#zero-etl.data-type-mapping-postgres)
+ [RDS for Oracle](#zero-etl.data-type-mapping-oracle)

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

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/zero-etl.querying.html)

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

Les intégrations zéro ETL pour RDS pour PostgreSQL ne prennent pas en charge les types de données personnalisés ni les types de données créés par des extensions.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/zero-etl.querying.html)

### RDS for Oracle
<a name="zero-etl.data-type-mapping-oracle"></a>

**Types de données non pris en charge**

Les types de données RDS for Oracle suivants ne sont pas pris en charge par Amazon Redshift :
+ `ANYDATA`
+ `BFILE`
+ `REF`
+ `ROWID`
+ `UROWID`
+ `VARRAY`
+ `SDO_GEOMETRY`
+ Types de données définis par l'utilisateur

**Différences de type de données**

Le tableau suivant montre les différences de type de données qui affectent une intégration zéro ETL lorsque RDS for Oracle est la source et Amazon Redshift est la cible.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/zero-etl.querying.html)

## Opérations DDL pour RDS pour 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 en raison de leur architecture PostgreSQL commune. Les intégrations zéro ETL tirent parti de ces similitudes pour rationaliser la réplication des données de RDS pour PostgreSQL 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 RDS pour 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 RDS pour 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 RDS pour 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.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/zero-etl.querying.html)

### 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.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/zero-etl.querying.html)

### 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.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/zero-etl.querying.html)