Aurora DSQL e PostgreSQL - Amazon Aurora DSQL

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

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à, è possibile utilizzare gli strumenti familiari di PostgreSQL beneficiando al contempo delle prestazioni e della scalabilità richieste per applicazioni distribuite moderne e native del cloud.

Aspetti salienti della compatibilità con PostgreSQL

Aurora DSQL è attualmente basato sulla versione 16 di PostgreSQL. Le compatibilità principali includono le seguenti:

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.

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

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 maggiori informazioni, consultare Controllo della concorrenza in Aurora DSQL.

Differenze chiave dell’architettura

Il design distribuito e senza condivisione di Aurora DSQL presenta alcune differenze fondamentali rispetto a PostgreSQL tradizionale. Queste differenze sono parte integrante dell’architettura Aurora DSQL e offrono molti vantaggi in termini di prestazioni e scalabilità. Le differenze principali includono le seguenti:

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, consultare Controllo della concorrenza in Aurora DSQL.

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