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à.
Query distribuite in Aurora PostgreSQL Limitless Database
Le query distribuite vengono eseguite su un router e su più di uno shard. La query viene ricevuta da uno dei router. Il router crea e gestisce la transazione distribuita, che viene inviata agli shard partecipanti. Gli shard creano una transazione locale con il contesto fornito dal router e la query viene eseguita.
Quando la transazione viene sottoposta al commit, il router utilizza un protocollo di commit a due fasi ottimizzato, se necessario, e il controllo della concorrenza multiversione (MVCC) basato sul tempo per fornire la semantica ACID
MVCC basato sul tempo registra l’ora di commit per ogni transazione e utilizza l’ora di inizio della transazione per generare l’ora dello snapshot dei dati. Per identificare se una transazione è stata sottoposta al commit (visibile) in base allo snapshot di un’istanza di lettura, il database confronta il tempo di commit con il tempo dello snapshot. Se il tempo di commit è inferiore al tempo di snapshot dell’istanza di lettura, è visibile; in caso contrario, è invisibile. Con questo protocollo, ci si aspetterà sempre di vedere dati fortemente coerenti su Aurora PostgreSQL Limitless Database.