Casa Sviluppo Che cos'è l'isolamento? - definizione da techopedia

Che cos'è l'isolamento? - definizione da techopedia

Sommario:

Anonim

Definizione - Cosa significa isolamento?

L'isolamento, nel contesto dei database, specifica quando e come le modifiche implementate in un'operazione diventano visibili ad altre operazioni parallele. L'isolamento delle transazioni è una parte importante di qualsiasi sistema transazionale. Si occupa della coerenza e completezza dei dati recuperati da query che non influiscono sui dati di un utente da parte di altre azioni dell'utente. Un database acquisisce blocchi sui dati per mantenere un alto livello di isolamento.

Techopedia spiega Isolation

Un certo numero di livelli di isolamento sono definiti per controllare il grado di blocco dei dati. Un elevato livello di isolamento potrebbe comportare il sovraccarico del blocco per la creazione di deadlock da parte del sistema. I quattro principali livelli di isolamento sono: Leggi non confermato: questo livello si occupa di letture sporche, in cui i dati letti non sono coerenti con altre parti della tabella o della query e non vengono sottoposti a commit. Qui i dati vengono letti direttamente dai blocchi di tabella senza alcuna verifica, convalida ed elaborazione. Quindi i dati sono più sporchi che possono essere. Lettura confermata: in questo caso, le righe restituite da una query sono righe già impegnate all'avvio della query. Quando il commit viene completato prima dell'avvio della query, il risultato non viene visualizzato nell'output della query. Lettura ripetuta: le righe restituite da una query in questo caso vengono confermate all'avvio della transazione. Le modifiche apportate non sono presenti nella transazione e quindi non compaiono nel risultato della query. Serializzabile: in questo livello, le transazioni avvengono in modo completamente isolato, in serie uno dopo l'altro. Database come Oracle e Postgre SQL a volte non garantiscono l'ordinamento seriale delle transazioni, ma supportano l'isolamento degli snapshot in cui tutte le letture in una transazione sono snapshot coerenti del database e le transazioni si impegnano solo se nessun aggiornamento produce conflitti con altri aggiornamenti simultanei effettuati dall'istantanea. Le anomalie consentite dagli isolamenti delle istantanee possono portare alla violazione della coerenza dei dati intercorrendo transazioni che mantengono la coerenza. Queste anomalie possono essere eliminate introducendo conflitti di aggiornamento o blocco artificiale. Tutti i database consentono agli utenti di impostare i livelli di isolamento predefiniti. I livelli di isolamento perfetti scelti impediscono alle applicazioni di introdurre errori come letture sporche, letture ripetibili e letture fantasma. Quando la prima transazione legge le modifiche senza commit apportate dalla seconda transazione, genera letture sporche. Quando una lettura di dati rimane la stessa se viene letta di nuovo durante la stessa transazione, è una lettura ripetibile. Le letture fantasma si verificano quando i nuovi record aggiunti vengono indicati da transazioni prima dell'inserimento. I diversi livelli di isolamento dei blocchi di database trattati sono: Blocchi di lettura: i blocchi di lettura impediscono la modifica dei dati letti durante una transazione fino al termine della transazione, eliminando i casi di letture ripetibili. Altre transazioni possono leggere questi dati ma non viene fornito alcun accesso in scrittura o modifica. Blocchi di scrittura: i blocchi di scrittura impediscono ad altre transazioni di modificare i dati fino al termine della transazione. Blocchi di scrittura esclusivi: il blocco di scrittura esclusivo impedisce ad altre transazioni di leggere o modificare i dati fino al termine della transazione corrente. Istantanee: un'istantanea è una vista congelata dei dati all'avvio della transazione. Previene letture sporche, letture non ripetibili e letture fantasma. Questa definizione è stata scritta nel contesto dei database
Che cos'è l'isolamento? - definizione da techopedia