

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

# Aurora DSQL e PostgreSQL
<a name="working-with"></a>

Aurora DSQL è un database relazionale distribuito compatibile con PostgreSQL progettato per carichi di lavoro transazionali. Aurora DSQL utilizza componenti di base di PostgreSQL come parser, planner, optimizer e type system.

Il design di Aurora DSQL garantisce che tutta la sintassi PostgreSQL supportata fornisca un comportamento compatibile e produca risultati di query identici. Ad esempio, Aurora DSQL fornisce conversioni di tipo, operazioni aritmetiche e precisione e scalabilità numeriche identiche a PostgreSQL. Eventuali deviazioni sono documentate. 

Aurora DSQL introduce anche funzionalità avanzate come il controllo ottimistico della concorrenza e la gestione distribuita dello schema. Con queste funzionalità, puoi utilizzare gli strumenti familiari di PostgreSQL beneficiando al contempo delle prestazioni e della scalabilità di applicazioni distribuite moderne, native del cloud.

## Aspetti salienti della compatibilità con PostgreSQL
<a name="dsql-pg-overview-compat"></a>

Aurora DSQL è attualmente basato sulla versione 16 di PostgreSQL. I punti salienti principali includono quanto segue:

**Protocollo Wire**  
Aurora DSQL utilizza il protocollo wire standard PostgreSQL v3. Ciò consente l’integrazione con client, driver e strumenti PostgreSQL standard. Ad esempio, Aurora DSQL è compatibile con `psql`, `pgjdbc` e `psycopg`.

**Sintassi SQL**  
Aurora DSQL supporta un’ampia gamma di espressioni e funzioni PostgreSQL standard comunemente utilizzate nei carichi di lavoro transazionali. Le espressioni SQL supportate producono risultati identici a PostgreSQL, tra cui:  
+ Gestione dei valori nulli
+ Comportamento dell’ordinamento
+ Scala e precisione per le operazioni numeriche
+ Equivalenza per le operazioni sulle stringhe
Per maggiori informazioni, consultare [Compatibilità delle funzionalità SQL in Aurora DSQL](working-with-postgresql-compatibility.md).

**Gestione delle transazioni**  
Aurora DSQL conserva le caratteristiche principali di PostgreSQL, come le transazioni ACID e un livello di isolamento equivalente a PostgreSQL Repeatable Read. Per ulteriori informazioni, consulta [Controllo della concorrenza in Aurora DSQL](working-with-concurrency-control.md).

## Vantaggi dell'architettura distribuita
<a name="dsql-pg-overview-arch"></a>

Il design distribuito e senza condivisione di Aurora DSQL offre vantaggi in termini di prestazioni e scalabilità oltre ai tradizionali database a nodo singolo. Le funzionalità principali includono quanto segue:

**Controllo ottimistico della concorrenza (OCC)**  
Aurora DSQL utilizza un modello ottimistico di controllo della concorrenza. Questo approccio senza blocchi impedisce alle transazioni di bloccarsi a vicenda, elimina i deadlock e consente l’esecuzione parallela ad alto throughput. Queste funzionalità rendono Aurora DSQL particolarmente utile per le applicazioni che richiedono prestazioni costanti su larga scala. Per ulteriori esempi, consulta [Controllo della concorrenza in Aurora DSQL](working-with-concurrency-control.md).

**Operazioni DDL asincrone**  
Aurora DSQL esegue le operazioni DDL in modo asincrono, il che consente letture e scritture ininterrotte durante le modifiche allo schema. La sua architettura distribuita consente ad Aurora DSQL di eseguire le seguenti operazioni:  
+ Esecuzione di operazioni DDL come attività in background, riducendo al minimo le interruzioni.
+ Coordinamento delle modifiche al catalogo come transazioni distribuite fortemente coerenti. Ciò garantisce la visibilità atomica su tutti i nodi, anche in caso di malfunzionamenti o operazioni simultanee.
+ Funzionamento in modo completamente distribuito e senza leader su più zone di disponibilità con livelli di elaborazione e storage disaccoppiati.
Per ulteriori informazioni sull'utilizzo del comando EXPLAIN in PostgreSQL, vedere. [DDL e transazioni distribuite in Aurora DSQL](working-with-ddl.md)