

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Aggiunta di dati a un database RDS di origine ed esecuzione di query al suo interno
<a name="zero-etl.querying"></a>

Per completare la creazione di un’integrazione Zero-ETL che replichi i dati da Amazon RDS in Amazon Redshift, devi creare un database nella destinazione.

Per le connessioni con Amazon Redshift, connettiti al cluster o al gruppo di lavoro Amazon Redshift e crea un database con un riferimento al tuo identificatore di integrazione. Quindi, puoi aggiungere dati al database RDS e vederli replicati in Amazon Redshift o Amazon SageMaker.

**Topics**
+ [Creazione di un database di destinazione](#zero-etl.create-db)
+ [Aggiunta di dati al database di origine](#zero-etl.add-data-rds)
+ [Interrogazione dei dati Amazon RDS in Amazon Redshift](#zero-etl.query-data-redshift)
+ [Differenze tra i tipi di dati tra i database RDS e Amazon Redshift](#zero-etl.data-type-mapping)
+ [Operazioni DDL per RDS per PostgreSQL](#zero-etl.ddl-postgres)

## Creazione di un database di destinazione
<a name="zero-etl.create-db"></a>

Prima di poter iniziare a replicare i dati in Amazon Redshift dopo aver creato un’integrazione, devi creare un database nel data warehouse di destinazione. Questo database deve includere un riferimento all’identificatore di integrazione. Puoi utilizzare la console Amazon Redshift o Editor di query v2 per creare il database.

Per istruzioni sulla creazione di un database di destinazione, consulta [Creazione di un database di destinazione in Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/zero-etl-using.creating-db.html#zero-etl-using.create-db).

## Aggiunta di dati al database di origine
<a name="zero-etl.add-data-rds"></a>

Dopo aver configurato l’integrazione, puoi popolare il database RDS di origine con i dati che desideri replicare nel data warehouse.

**Nota**  
Esistono differenze tra i tipi di dati in Amazon RDS e il warehouse di analisi di destinazione. Per una tabella di mappature dei tipi di dati, consulta [Differenze tra i tipi di dati tra i database RDS e Amazon Redshift](#zero-etl.data-type-mapping).

Innanzitutto, connettiti al database di origine utilizzando il client MySQL di tua scelta. Per istruzioni, consulta [Connessione all’istanza database MySQL](USER_ConnectToInstance.md).

Quindi, crea una tabella e inserisci una riga di dati di esempio.

**Importante**  
Assicurati che la tabella abbia una chiave primaria. Altrimenti, non può essere replicata nel data warehouse di destinazione.

**RDS per MySQL**

L’esempio seguente utilizza [l’utilità 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 per PostgreSQL**

L’esempio seguente utilizza il terminale interattivo PostgreSQL `[psql](https://www.postgresql.org/docs/current/app-psql.html)`. Quando ti connetti al database, includi il nome del database che desideri replicare.

```
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 per Oracle**

L’esempio seguente utilizza SQL\$1Plus per connettersi al database RDS per 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');
```

## Interrogazione dei dati Amazon RDS in Amazon Redshift
<a name="zero-etl.query-data-redshift"></a>

Dopo aver aggiunto i dati al database RDS, questi vengono replicati nel database di destinazione e sono pronti per essere sottoposti a query.

**Esecuzione di query sui dati replicati**

1. Vai alla console Amazon Redshift e scegli **Editor di query v2** nel riquadro di navigazione a sinistra.

1. Connettiti al cluster o al gruppo di lavoro e scegli il database di destinazione (creato dall’integrazione) dal menu a tendina (**destination\$1database** in questo esempio). Per istruzioni sulla creazione di un database di destinazione, consulta [Creazione di un database di destinazione in Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/zero-etl-using.creating-db.html#zero-etl-using.create-db).

1. Utilizzo di un’istruzione SELECT per eseguire query sui dati. In questo esempio, puoi eseguire il comando seguente per selezionare tutti i dati dalla tabella creata nel database RDS di origine:

   ```
   SELECT * from my_db."books_table";
   ```  
![\[Esegui un’istruzione SELECT nell’editor di query. Il risultato è una singola riga di dati di esempio che è stata aggiunta al database Amazon RDS.\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/images/zero-etl-redshift-editor.png)
   + `my_db` è il nome dello schema del database RDS. 
   + `books_table` è il nome della tabella RDS.

Puoi anche eseguire query sui dati utilizzando il client della riga di comando. Esempio:

```
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**  
Per distinguere tra maiuscole e minuscole, usa le virgolette doppie (" ") per i nomi di schemi, tabelle e colonne. Per ulteriori informazioni, consulta [enable\$1case\$1sensitive\$1identifier](https://docs.aws.amazon.com/redshift/latest/dg/r_enable_case_sensitive_identifier.html).

## Differenze tra i tipi di dati tra i database RDS e Amazon Redshift
<a name="zero-etl.data-type-mapping"></a>

Di seguito, le tabelle mostrano le mappature dei tipi di dati RDS per MySQL, RDS per PostgreSQL e RDS per Oracle ai tipi di dati di destinazione corrispondenti. *Amazon RDS attualmente supporta solo questi tipi di dati per le integrazioni Zero-ETL.*

Se una tabella nel database di origine include un tipo di dato non supportato, la tabella non viene sincronizzata e non è utilizzabile dalla destinazione. Lo streaming dall’origine alla destinazione va avanti, ma la tabella con il tipo di dato non supportato non è disponibile. Per correggere la tabella e renderla disponibile nella destinazione, devi annullare manualmente la modifica iniziale e aggiornare l’integrazione eseguendo `[ALTER DATABASE...INTEGRATION REFRESH](https://docs.aws.amazon.com/redshift/latest/dg/r_ALTER_DATABASE.html)`.

**Nota**  
Non puoi aggiornare le integrazioni Zero-ETL con un Amazon SageMaker Lakehouse. Piuttosto, elimina e prova a creare nuovamente l’integrazione.

**Topics**
+ [RDS per MySQL](#zero-etl.data-type-mapping-mysql)
+ [RDS per PostgreSQL](#zero-etl.data-type-mapping-postgres)
+ [RDS per Oracle](#zero-etl.data-type-mapping-oracle)

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

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

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

Le integrazioni Zero-ETL per RDS per PostgreSQL non supportano tipi di dati personalizzati né tipi di dati creati da estensioni.

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

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

**Tipi di dati non supportati**

I seguenti tipi di dati RDS per Oracle non sono supportati da Amazon Redshift:
+ `ANYDATA`
+ `BFILE`
+ `REF`
+ `ROWID`
+ `UROWID`
+ `VARRAY`
+ `SDO_GEOMETRY`
+ Tipi di dati definiti dall’utente

**Differenze dei tipi di dati**

La tabella seguente mostra le differenze tra i tipi di dati che influiscono su un’integrazione Zero-ETL quando RDS per Oracle è l’origine e Amazon Redshift è la destinazione.

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

## Operazioni DDL per RDS per PostgreSQL
<a name="zero-etl.ddl-postgres"></a>

Amazon Redshift è derivato da PostgreSQL, quindi condivide diverse funzionalità con RDS per PostgreSQL a causa dell’architettura comune di PostgreSQL. Le integrazioni Zero-ETL sfruttano queste somiglianze per semplificare la replica dei dati da RDS per PostgreSQL ad Amazon Redshift, la mappatura di database per nome e l’utilizzo della struttura di tabella, schema e database condivisa.

Considera i seguenti punti quando gestisci le integrazioni Zero-ETL di RDS per PostgreSQL:
+ L’isolamento è gestito a livello di database.
+ La replica avviene a livello di database. 
+ I database RDS per PostgreSQL sono mappati ai database Amazon Redshift per nome, con i dati che fluiscono verso il corrispondente database Redshift rinominato se l’originale viene rinominato.

Nonostante le loro somiglianze, Amazon Redshift e RDS per PostgreSQL presentano differenze importanti. Le seguenti sezioni descrivono le risposte del sistema Amazon Redshift per le operazioni DDL comuni.

**Topics**
+ [operazioni database](#zero-etl.ddl-postgres-database)
+ [Operazioni dello schema](#zero-etl.ddl-postgres-schema)
+ [Operazioni sulle tabelle](#zero-etl.ddl-postgres-table)

### operazioni database
<a name="zero-etl.ddl-postgres-database"></a>

La tabella seguente mostra le risposte del sistema per le operazioni DDL del database.

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

### Operazioni dello schema
<a name="zero-etl.ddl-postgres-schema"></a>

La tabella seguente mostra le risposte del sistema per le operazioni DDL dello schema.

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

### Operazioni sulle tabelle
<a name="zero-etl.ddl-postgres-table"></a>

La tabella seguente mostra le risposte del sistema per le operazioni DDL della tabella.

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