Please enable JavaScript.
Coggle requires JavaScript to display documents.
Arquitetura de Software - Coggle Diagram
Arquitetura de Software
Bancos de Dados
Relacionais
Transações
ACID
Atomicidade
Tudo ou nada, se uma falhar, desfaz tudo
-
-
Durabilidade
Uma vez confirmada, essa transação persiste mesmo após falhas
Niveis de isolamento
-
Read Committed
Espera commits, permite repetição de leitura (duas lenturas na mesma transaction com dados diferentes) mas evita ghost reads (numeros de linhas retornadas diferentes dentro da mesma consulta)
Repeatable Read
Espera commits, mas pode haver ghost reads
Serializable
Maximo isolamento, não há ghost reads e nem repetição de leitura
Locks no select
FOR UPDATE
Bloqueia a linha, espera caso já esteja bloqueada por outra transaction, mas não pula a linha bloqueada
FOR UPDATE SKIP LOCKED
Bloqueia a linha, não espera outras bloqueadas, pula as linhas bloqueadas
Optimistic Lock
Feito na aplicação, consiste em utilizar um campo de versão para controlar a versão do registro, assim, no momento do update ele deve ser feito utilizando a versão, garantindo que apenas uma versão do registro vai ser atualizada