Optimistic Concurrency Control
Controllo di Concorrenza Ottimistico
Il controllo di concorrenza ottimistico permette alle persone di lavorare contemporaneamente senza bloccare prima. Prima del salvataggio, verifica la versione e rifiuta una modifica basata su dati obsoleti.
Un altro esempio
Due clinici aprono la revisione 17 del piano di cura. Il primo salva la revisione 18 con `If-Match: "r17"`. Il secondo riceve 412, confronta i campi, unisce con attenzione e ritenta con `"r18"`; nessun aggiornamento viene perso silenziosamente.
Parti principali
- 01Token di versione di lettura
- 02scrittura condizionale
- 03Risposta ai conflitti e fusione
Usalo quando
Usa i controlli di versione quando i conflitti sono rari, le modifiche contano e il prodotto può aiutare le persone a confrontare e recuperare.
Non usarlo quando
Dopo che un controllo della versione fallisce, non ripetere automaticamente le modifiche il cui ordine cambia il risultato. Evita questo metodo quando i conflitti sono costanti e costosi.
Nome usato nel codice
ETag + If-Match / version column + conditional update Prima di spedire
Check contracts and invariants, authorization, and input limits. Test retries, one-time effects, timeouts, and partial failures. Verify data integrity, compatibility, monitoring, recovery, and rollback.
Outcome: Complete the task with Controllo di Concorrenza Ottimistico (Optimistic Concurrency Control). User context: Due clinici aprono la revisione 17 del piano di cura. Il primo salva la revisione 18 con `If-Match: "r17"`. Il secondo riceve 412, confronta i campi, unisce con attenzione e ritenta con `"r18"`; nessun aggiornamento viene perso silenziosamente. Technical concept or control: Controllo di Concorrenza Ottimistico (Optimistic Concurrency Control). Why it fits: Usa i controlli di versione quando i conflitti sono rari, le modifiche contano e il prodotto può aiutare le persone a confrontare e recuperare. Do not use it when: Dopo che un controllo della versione fallisce, non ripetere automaticamente le modifiche il cui ordine cambia il risultato. Evita questo metodo quando i conflitti sono costanti e costosi. Engineering requirements: Define inputs, outputs, contracts, and rules that must always hold. Set authorization and input checks. Define failures, timeouts, retries, one-time effects, data moves, and compatibility limits. Operations: Add useful signals and logs that hide sensitive data. Set capacity limits and write an operator guide. Test recovery and rollback. Acceptance criteria: Contract and failure-path tests pass. Data and authorization rules still hold during retries and partial failures. Check performance limits, monitoring, recovery, and rollback. Evidence and limits (evidence boundary): Nessun singolo standard ufficiale controlla l'intero termine. Il suo significato può cambiare tra team, piattaforme o framework. Unknowns to confirm: Where the code runs, data stores, traffic shape, consistency needs, and the security boundary. Also confirm the compatibility period, service goals, and rollback limits.
Controlla questa richiesta
Review how Controllo di Concorrenza Ottimistico (Optimistic Concurrency Control) is used now. Definition: Il controllo di concorrenza ottimistico permette alle persone di lavorare contemporaneamente senza bloccare prima. Prima del salvataggio, verifica la versione e rifiuta una modifica basata su dati obsoleti. Release checks: Check contracts and invariants, authorization, and input limits. Test retries, one-time effects, timeouts, and partial failures. Verify data integrity, compatibility, monitoring, recovery, and rollback. Before changing code, list the evidence, gaps, severity, and the smallest safe fix.