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,pgjdbcepsycopg. - 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
-