Also known as 2PL
concurrency control locking protocol in databases and transaction processing
Il two-phase locking (2PL), locking a due fasi in italiano, è un protocollo per il controllo della concorrenza utilizzato nel campo dei database e dell'elaborazione delle transazioni per garantire la di una schedule di transazioni. Questo protocollo è basato sui lock, applicabili da una transazione ad un dato (a diversi livelli di granularità: attributo, tupla, relazione, database), i quali bloccano l'accesso da parte di altre transazioni ai dati fino alla terminazione della transazione che li detiene. Questo protocollo assume che ogni transazione in esecuzione preveda due fasi principali: * fase ascendente: tutti i lock sulle risorse necessarie all'esecuzione dell'intera transazione vengono richiesti, non è possibile rilasciare alcun lock in questa fase; * fase discendente: vengono rilasciati i lock senza possibilità di acquisirne dei nuovi fino alla fine della transazione. I tipi di lock utilizzati da protocollo base sono due: esclusivo (binario) e condiviso (multiplo). Protocolli successivi a quello base possono utilizzare più tipi di lock. L'uso di alcune varianti di 2PL porta con sé il problema del deadlock risultante dall'attesa circolare che si può verificare fra le transazioni e i dati bloccati con i lock.
Abstract from DBpedia / Wikipedia · CC BY-SA
Discovered by embedding cosine similarity (sentence-transformers MiniLM, 384-dim).