Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

RESUMO TRANSAÇÕES
As propriedades desejáveis, conhecidas pela sigla ACID, são as
seguintes:
Atomicidade: representa uma unidade atômica de processamento. Cada
transação deve ser executada por completo ou não ser executada. Em outras
palavras, cada operação presente dentro de uma transação deve ser executada
com sucesso ou nenhuma delas será executada (sofrem rollback). Não deve
existir a possibilidade de apenas parte de uma transação ser concluída com
sucesso.
Consistência: a correta execução de uma transação deve levar o banco
de dados de um estado consistente para outro estado igualmente consistente.
Desta forma, conserva-se a consistência interna do banco de dados. Dentro
deste contexto, todas as restrições de integridade devem ser respeitadas.
Isolamento: as atualizações não devem ser tornadas visíveis para outras
transações até o commit. Uma transação não deve ter conhecimento sobre a
execução das demais. Podemos dizer que um conjunto de transações é isolado
entre si caso o efeito da execução delas concorrentemente seja o mesmo da
execução de cada uma delas sequencialmente.
Durabilidade: sempre que o banco de dados for modificado e essas
mudanças forem efetivadas, elas não podem ser perdidas por causa de falhas
subsequentes.
Estados de uma transação:
• Ativa: poderá emitir operações de read e write.
• Parcialmente efetivada: alguns protocolos de restauração precisam
garantir que uma falha de sistema não impossibilite a gravação
permanente dos dados. Uma possibilidade é a gravação das alterações
nos logs. Nesta etapa são feitas algumas verificações para garantir a
continuação da execução.
• Efetivada (committed state): uma vez atendida todas as verificações
da etapa anterior, é possível executar o commit que se encarregar de
gravar os dados em um armazenamento não volátil.
• Falha: se uma das verificações falhar ou se a transação for interrompida
em seu estado ativo. A transação deverá ser revertida para desfazer os
efeitos das operações de write já efetivadas no banco de dados.
• Encerrada: Quando a transação deixa o sistema.
Uma transação T alcança seu ponto de efetivação (commit point)
quando todas as suas operações que acessam o banco de dados foram
executadas com sucesso e o efeito de todas elas estiver gravado no log. Após o
ponto de efetivação, a transação é dita efetivada e seu efeito será gravado de
modo permanente no banco de dados.
A ordem de execução das operações de transações distintas executando
concorrentemente de forma intercalada é conhecida como plano de execução
ou escalonamento.
Duas operações são ditas em conflito se elas satisfazem todas as três
condições seguintes: 1. Pertencerem a transações diferentes, 2. Acessarem o
mesmo item X, e 3. Pelo menos uma das operações sobre o item X ser um
escrever_item(X).
O padrão SQL define quatro níveis de isolamento de transação (Read uncommitted, Read committed, Repeatable read, Serializable) em termos de três fenômenos que devem ser evitados entre transações simultâneas. Os fenômenos não desejados são:
	dirty read (leitura suja)
A transação lê dados escritos por uma transação simultânea não efetivada (uncommitted). [1]
	nonrepeatable read (leitura que não pode ser repetida)
A transação lê novamente dados lidos anteriormente, e descobre que os dados foram alterados por outra transação (que os efetivou após ter sido feita a leitura anterior). [2]
	phantom read (leitura fantasma)
A transação executa uma segunda vez uma consulta que retorna um conjunto de linhas que satisfazem uma determinada condição de procura, e descobre que o conjunto de linhas que satisfazem a condição é diferente por causa de uma outra transação efetivada recentemente. [3]
Os quatro níveis de isolamento de transação, e seus comportamentos correspondentes, estão descritos na tabela abaixo:
Níveis de isolamento da transação no SQL
	Nível de isolamento
	Dirty Read
	Nonrepeatable Read
	Phantom Read
	Read uncommitted
	Possível
	Possível
	Possível
	Read committed
	Impossível
	Possível
	Possível
	Repeatable read
	Impossível
	Impossível
	Possível
	Serializable
	Impossível
	Impossível
	Impossível

Mais conteúdos dessa disciplina