Capisco un po 'di Oracle blocco - come aggiornamenti bloccano altri aggiornamenti fino al completamento della transazione, come gli scrittori non bloccano i lettori eccQual è la relazione tra livello di blocco, blocco e isolamento?
Capisco il concetto di blocco pessimistico e optimisic, e le tipiche esempi da manuale bancario circa perdere gli aggiornamenti persi ecc
capisco anche i livelli di isolamento delle transazioni JDBC in cui potremmo dire, per esempio, siamo felici di vedere i dati non impegnati.
Sono un po 'confusa ma di come questi concetti sono correlati e interagiscono. Per esempio:
- è Oracle fornendo blocco ottimistico pessimista o di default (è sembra solo per bloccare il aggiornamento separato sulla base di esperimenti in due sessioni rospo.)
- Se, come sospetto, questi sono concetti a livello di applicazione, perché avrei vado alla difficoltà di attuazione di una strategia di blocco quando posso lasciare che l'operazione di sincronizzazione banca dati aggiornamenti comunque?
- Come i livelli di isolamento della transazione (che ho impostato sulla connessione) alterano il comportamento del database quando altri client oltre alla mia applicazione accedono a diversi livelli di isolamento.
Qualsiasi parola per chiarire questi argomenti sarebbe molto apprezzata!
Alcune delle sue domande (WRT colpire tra diversi clienti in particolare) può essere risolta qui: http://en.wikipedia.org/wiki/Isolation_%28database_systems%29 –