Buscar

1- Aula Transaccoes Parte I

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Bases de Dados II
Transaccões
Definicão
Propriedades
05-Nov-20
1
Vali Issufo
1
Agenga
O que são Transações?
Conceito ACID de Transações
Problemas de Concorrência
Técnicas de controle concorrência
Estratégias de Bloqueio (Locking)
Bloqueio Otimista e Pessimista
Deadlocks
05-Nov-20
2
Vali Issufo
2
Transações são sequência de Ações (Operações de Banco de Dados) que são executadas como “um conjunto”:
Ou todas são executas com sucesso
Ou Nenhuma delas
Exemplo
Um banco transfere dinheiro entre duas contas (saque + deposito)
Se qualquer uma das operações falhar, a trasferência será cancelada
05-Nov-20
3
Vali Issufo
3
Rollback
Commit
Leitura
Gravação
Gravação
Situação Inicial
(Durável)
Situação Final
Durável e 
consistente
Coleção de leituras e gravações
Sintaxe geral:
05-Nov-20
4
Vali Issufo
4
Transações garantem a consistência e intregridade do banco de dados
Todas as modificações da transação são “temporárias”
Modificações são “persistidas” apenas após o Commit
A qualquer momento (Antes do commit) as modificações podem ser canceladas através de um Rollback
Todas as operações são executadas como uma unidades ( ou nenhuma será)
05-Nov-20
5
Vali Issufo
5
Exemplo: Caixa Automática (ATM)
Levantar 100Mt
Ler o saldo atual
Saldo = Saldo atual - Saque 
Registrar Saldo
Entregar Dinheiro
05-Nov-20
6
Vali Issufo
6
Exemplo: Caixa Automática (ATM)
Transferência 100Mt da conta1 para conta2
Ler saldo conta1
Saldo conta1= Saldo atual conta1 - 100
Ler Saldo conta2
Saldo conta2 = Saldo Anterior conta2+ 100
Gravar Saldo conta1
Gravar saldo conta2
05-Nov-20
7
Vali Issufo
7
Imagine que:
Algumas operações falham!
Ex., Falhas de Software, comunicação, Banco de Dados ou Hardware
Interferência entre transações!	
O que acontece se multiplas alterações forem feitas na mesma conta?
Parte dos dados é perdida … 
Comunicação falha entre o Saque e o Depósito.
05-Nov-20
8
Vali Issufo
8
Proriedades ACID
ACID Siginifica:
Atomicidade
Consistencia 
Isolamento
Durabilidade
05-Nov-20
9
Vali Issufo
9
Atomicidade
Atomicidade significa que
Transações são execudas como uma UNIDADE
SGDB garante que todas as transações são executadas ou desfeitas
Exemplos
Transferência de valores entre contas
Ou o Depósito+Saque são registrados com sucesso ou nenhum dos dois será
Em caso de falha o BD permanece inalterado
05-Nov-20
10
Vali Issufo
*
05-Nov-2007/16/96
(c) 2005 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*
10##
Consistencia
Consistencia significa que:
O Banco de dados está consitente (íntegro) antes e depois da transação
Apenas dados válidos foram gravados
A Transação não pode quebrar regras de integridade e respeita:
Chaves primárias, estrangeiras e únicas
Exemplo
Transação não pode encerrar com chave duplicada
05-Nov-20
11
Vali Issufo
*
05-Nov-2007/16/96
(c) 2005 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*
11##
Isolamento
Isolamento significa que
Multiplas transações simultâneas não afetam umas as outras
Transações não enxergam dados não COMMITADOS.
O Nível de isolamento define o quanto uma transação “enxerga” alterações das outras
Read committed, read uncommitted, repeatable read, serializable, etc.
Exemplo
Gerentes podem ver transferências entre contas (débito ou crédito) mas não as 2 operações.
05-Nov-20
12
Vali Issufo
*
05-Nov-2007/16/96
(c) 2005 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*
12##
Durabilidade
Durabilidade significa que
Se uma transação é confirmada (COMMIT) ela será persistente
Não pode ser perdida nem desfeita
Garantida através de LOGS de TRANSAÇÂO e Backup
Exemplo
Ápós concluida a transferência, a energia falha
Ao retornar, os dados continuam íntegros e registrados conforme o momento imediatamente anterior à falha
05-Nov-20
13
Vali Issufo
*
05-Nov-2007/16/96
(c) 2005 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*
13##
Problemas de Concorrencia
Atualização Perdida
Essa situação ocorre quando duas transações que acessam o mesmo item de dado têm suas operações intercaladas de maneira a tornar o dado incorreto.
05-Nov-20
14
Vali Issufo
14
Problemas de Concorrencia
O Problema da Perda de Atualização
05-Nov-20
15
Vali Issufo
15
Problemas de Concorrencia
Dependência de uma atualização não confirmada ou leitura suja.
	– Ocorre quando uma transação atualiza ou recupera um registro que fora atualizado por outra transação, mas que ainda não foi confirmada. Caso a transação falhe, as operações realizadas transação, mas que ainda não foi confirmada. Caso a transação falhe, as operações realizadas serão desfeitas (ROLLBACK).
05-Nov-20
16
Vali Issufo
16
Problemas de Concorrencia
Dependência de uma atualização não confirmada ou leitura suja.
	
05-Nov-20
17
Vali Issufo
17
Problemas de Concorrencia
O Problema da análise inconsistente 
Se uma transação está calculando uma função de agregação sobre um número de registros, enquanto outras estão atualizando alguns desses registros, a função de agregação pode calcular alguns valores antes que eles sejam atualizados e outros após suas atualizações!	
05-Nov-20
18
Vali Issufo
18
Problemas de Concorrencia
O Problema da análise inconsistente 
	
05-Nov-20
19
Vali Issufo
19
Técnicas de Controle de Concorrencia
Pessimista
-bloqueio
-timestamp (marca de tempo)
Otimista
-validação
As técnicas pessimistas presumem que sempre ocorrerá interferência entre as transações e, então, buscam sempre garantir a serialização enquanto uma transação estiver ocorrendo. Já as técnicas otimistas supõem que raramente ocorrerá a interfe -rência entre as transações e somente verificam o aspecto da serialização ao final.
05-Nov-20
20
Vali Issufo
20
Técnicas de Controle de Concorrencia
Bloqueio
Consiste em estabelecer bloqueios sobre o dado a ser acessado pela transação, de modo a restringir o acesso a este dado.
A unidade de bloqueio, geralmente, é a de registro.
São definidos dois tipos de bloqueios:
Exclusivo (E): se uma transação obteve um bloqueio E em um dado, então a transação pode ler e escrever neste dado.
Compartilhado (C): se uma transação obteve um bloqueio C em um dado, esta transação e as demais podem somente ler este dado
05-Nov-20
21
Vali Issufo
21
Técnicas de Controle de Concorrencia
Bloqueio- matriz de compartilhamento de bloqueio
	Transacões	Bloqueio Compartilhado	Bloqueio Exclusivo
	Bloqueio Compartilhado	SIM	NAO
	Bloqueio Exclusivo	NAO	NAO
05-Nov-20
22
Vali Issufo
22
Técnicas de Controle de Concorrencia
Bloqueio- Exemplo
	T1	T2
	lock_E(x)	
	read(x)	
		lock_E(x)
		espera
	x=x-1	...
	write(x)	...
	unlock(x)	...
		lock_E(x)
		x=x+100
		write(x)
		unlock(x)
05-Nov-20
23
Vali Issufo
23
Creditos
Vinicius Augustus Paluch- Transações e Gerenciamento de Transações em Bancos de Dados
Carlos Henrique C. Tolentino- Analise e Desenho de Sistemas
Ana Claudia- Banco de Dados - Oracle
05-Nov-20
24
Vali Issufo
24
image1.jpeg
image2.jpeg
image3.png
image4.png
image5.png
image6.png
image7.jpeg

Continue navegando

Outros materiais