Escolar Documentos
Profissional Documentos
Cultura Documentos
1) Conceito de Transações
2) Propriedades ACID
a) Atomicidade: significa que uma transação é uma unidade de processamento atômica que deve
ser executada integralmente até o fim ou não deve ser executada de maneira alguma.
Se tudo ocorrer bem, as operações de gravação de uma transação devem ser confirmadas
(COMMIT); caso ocorra alguma falha, as operações de gravação de uma transação devem ser
desfeitas (ROLLBACK)
b) Consistência: significa que a execução de uma transação deve levar o banco de dados de um
estado consistente a outro estado consistente.
c) Isolamento: significa que uma transação deve parecer executar de forma independente das
demais, mesmo que diversas transações estejam sendo executadas concorrentemente.
d) Durabilidade: significa que os efeitos de uma transação devem persistir no banco de dados
mesmo em caso de quedas de energia, travamentos ou erros.
Operações:
Begin_Transaction: é o início da execução de uma transação (limite inicial)
Rollback (Abort): sinaliza que a transação terminou sem sucesso e o que foi executado deve ser
desfeito.
Parcialmente efetivada: alguns protocolos de restauração precisam garantir que uma falha de
sistema não impossibilite a gravação permanente nos log.
Falha: se uma das verificações falhar ou a transação for interrompida no estado ativo, a ela
deverá ser revertida e desfazer as operações de write.
Redo (refazer): certas operações de uma transação têm que ser refeitas para garantir que todas as
operações efetivadas foram aplicadas ao BD.
Após o ponto de efetivação, a transação é dita “efetivada” e seu efeito será gravada de modo
permanente no banco de dados.
Escritos no log periodicamente quando o sistema grava no disco todas as operações de WRITE
de transações efetivadas.
Ações de um CheckPoint:
Definição formal de plano de execução: um plano (ou histórico) S de N transações T1, T2, ...,
Tn é a ordenação das operações das transações sujeitas a uma restrição
Para cada Ti que participe S, as operações de Ti em S deverão aparecer na mesma ordem que
elas ocorrem em Ti
Operações em Conflito:
• as operações no plano são exatamente as operações de T1, T2, ... Tn, tendo um commit ou um
abort como última operação de cada transação.
• para quaisquer pares de operações da mesma operação Ti, sua ordem de aparecimento em S
será a mesma de Ti.
• Para quaisquer duas operações conflitantes, uma das duas precisa aparecer antes da outra no
plano.
Planos Restauráveis: é aquele que para cada par de transação, uma T2 leia itens de dados
previamente escritos por T1, ou seja, a operação de efetivação de T1 aparece antes da operação
de efetivação de T2
Reversão em cascata: uma transação não efetivada tem de ser revertida porque leu um item de
uma transação que falhou.
Plano Estrito: as transações não poderão nem ler nem gravar um item X até a última transação
que grave X tenha sido efetivada.
Plano Serial: (não aceito) - as operações de cada transação são executadas consecutivamente,
sem intercalação das operações de outra transação.
Plano não serial é aquele em que as operações das transações são executadas de forma
intercalada no plano de execução.
Melhora a eficiência global do computador e do sistema, dado que uma maior quantidade de
trabalho é executada em menos tempo.
Evita que a interação entre transações concorrentes destrua a consistência do banco de dados e
mantenham o isolamento das transações.
LOCK BINÁRIO: possui dois estados de valores possíveis para cada item de dado: locked (1) e
unlocked (0).
Obs: esses dois tipos de lock não garantem a serializibilidade de escalonamento nos quais as
transações participam, sendo necessário um protocolo (de bloqueio) adicional que contempla o
locks e unlocks.
Obs3: Protocolo de bloqueio pode ser em todas as tabelas, apenas na afetada ou apenas os dados
que são manipulados durante a transação.
Bloqueio compartilhado: é utilizado para leitura de dados, permitindo que mais de uma
transação leia o mesmo dado.
Bloqueio exclusivo: é utilizado para escrita dos dados, permitindo que apenas uma única
transação leia e modifique os dados.
Deadlock: é a situação em que 2 transações estão em estado simultâneo de espera, cada uma
aguardando que uma das demais libere o block.