Processamento de Transações II
|
|
|
- Madalena Paixão Pedroso
- 8 Há anos
- Visualizações:
Transcrição
1 UNIVERSIDADE FEDERAL DO MARANHÃO - UFMA Banco de Dados II Processamento de Transações II Carlos Eduardo Portela Serra de Castro *
2 Processamento de Transações II Sumário Definindo Plano de Execução Baseado na Restaurabilidade Baseado na Seriabilidade Suporte a Transações em SQL 2
3 Definindo Plano de Execução Baseado na Restaurabilidade (Schedules Recoverability) Planos de Execução (Histórico) de Transações. A ordem de execução das operações de várias transações executando concorrentemente na forma Intercalada. Um plano S de n transações T 1, T 2,..., T n é a ordenação das operações dessas transações, sujeito à uma restrição, tal que, para cada transação Ti em S, as operações de Ti em S devem aparecer na mesma ordem que elas ocorrem em Ti. 3
4 Plano de Execução para o problema da atualização perdida Sa : r1(x); r2(x); w1(x); r1(y); w2(x); w2(y); r: read, w: write, c: commit; a;abort 2005 by Pearson Education Sistemas de Banco de Dados 4
5 Operações Conflitantes em um escalonamento Duas operações são ditas em conflito se: 1 - Pertencem a diferentes transações; 2 - Acessam o mesmo item X; 3 - Pelo menos uma das operações é um escrever_item(x). 5
6 Plano completo Um plano é chamado de plano completo se: 1 As operações em S são exatamente as operações de T 1, T 2,..., T n, tendo um commit ou um abort como última operação de cada transação no plano; 2 Para quaisquer pares de operação da mesma transação T i, sua ordem de aparecimento em S será a mesma que em T i ; 3 Para quaisquer operações conflitantes, uma das duas precisa aparecer antes de outra no plano. 6
7 Plano restaurável (recuperável) Um plano S é restaurável se nenhuma transação T em S for efetivada até que todas as transações T que tiverem gravado um item lido por T, tenham sido efetivadas. Plano restaurável: Sa': r1(x); r2(x); w1(x); r1(y); w2(x); c2; w1(y); c1; Plano não restaurável: Sc: r1(x); w1(x); r2(x); r1(y); w2(x); c2; a1; T2 lê X de T1e é efetivada antes de T1. 7
8 Reversão em Cascata (cascading rollback) Uma transação não efetivada tem que ser revertida porque lê um item de uma transação que falhou. Plano livre de reversão em Cascata (avoid cascading rollback) Cada transação do plano lê somente itens que foram gravados por transações efetivadas. Plano Restrito (restrict schedule) Nenhuma transação pode ler ou escrever itens até que a última transação que grave X tenha ainda sido efetivada ou abortada 8
9 (Schedules Serializability) Definindo Plano de Execução Baseado na Serialidade Serializabilidade de Escalonamentos Sem intercalação, se duas transações são submetidas, então todas as operações da transação T1 (em seqüência) são seguidas por todas as operações de T2, ou vice-versa. Teoria da Serializabilidade Tenta determinar quais escalonamentos são corretos e quais não são e desenvolver técnicas que permitam apenas escalonamentos corretos. 9
10 Exemplos de planos seriais e não-seriais envolvendo as transações T 1 e T 2. (a) Plano serial A: T 2, seguido por T 2. (b) Plano serial B: T 2 seguido por T 1. (c) Dois planos não-seriais, C e D, com intercalação de operações by Pearson Education Sistemas de Banco de Dados 10
11 Planos Seriais, Não-Seriais e de Conflitos Serializáveis Escalonamento Serial As operações de cada transação são executadas consecutivamente, sem operações intercaladas com as de outras transações Escalonamento Não-serial As operações de uma transação são executadas intercaladas com operações de outra transação Escalonamento Serializável É equivalente a algum escalonamento serial com as mesmas n transações Escalonamento de Resultados Equivalentes Produzem o mesmo resultado final do BD 11
12 Dois planos que têm resultados equivalentes quando o valor inicial de X = 100, mas que, no geral, não são resultados equivalentes by Pearson Education Sistemas de Banco de Dados 12
13 Testando o Conflito de Serialidade de um Plano Grafo de Precedência: grafo dirigido G=(N,E) que consiste de um conjunto de nós N={T1, T2,..., Tn} e um conjunto de setas dirigidas E={e1, e2,..., em}onde cada nó representa uma transação do plano. *(Grafo de Precedência ou Grafo de Serialização) 13
14 Construindo os grafos de precedência para teste de conflito serialidade dos planos A a D da Figura (a) Grafo de precedência para o plano serial A. (b) Grafo de precedência para o plano serial B. (c) Grafo de precedência para o plano C (não serializável). (d) Grafo de precedência para o plano D (serializável, equivalente ao plano A) by Pearson Education Sistemas de Banco de Dados 14
15 Teste de Conflito de Serialidade Algoritmo 1. Para cada transação participando de um escalonamento S, criar um nó rotulado Ti no grafo de precedência 2. Para cada caso em S onde uma transação Tj executa um ler_item(x) após um escrever_item(x) executado por outra transação Ti crie uma seta (Ti ->Tj) no grafo de precedência 15
16 Teste de Conflito de Serialidade 3. Para cada caso em S onde uma transação Tj executa um escrever_item(x) após um ler_item(x) executado por outra transação Ti crie uma seta (Ti -> Tj) no grafo de precedência 4. Para cada caso em S onde uma transação Tj executa um escrever_item(x) após um escrever_item(x) executado por outra transação Ti crie uma seta (Ti -> Tj) no grafo de precedência 5. Um plano S será serializável se e somente se o grafo de precedência não tem ciclos 16
17 Aplicações de Serialidade Plano serial x Plano serializável 17
18 Outro exemplo de teste de serialidade. (a) As operações READ e WRITE das três transações T 1, T 2, e T 3. (b) Plano E. (c) Plano F by Pearson Education Sistemas de Banco de Dados 18
19 Outro exemplo de teste de serialidade. (d) Grafo de precedência para o plano E. (e) Grafo de precedência para o plano F. (f) Grafo de precedência com dois planos seriais equivalentes by Pearson Education Sistemas de Banco de Dados 19
20 Suporte de Transações SQL Conceito similar ao já definido Não existe Begin_Transaction explícita Modo de acesso: Read_only Reas_Write Nível de Isolamento: Read uncommited Read commited Repeatle read Serializable 20
21 2005 by Pearson Education Sistemas de Banco de Dados 21
22 Elmasri - Navathe Atenção: Leitura do Capítulo 17 Introdução aos Conceitos e à Teoria do Processamento de Transações 2005 by Pearson Education Sistemas de Banco de Dados 22
Concorrência. Prof. Márcio Bueno. Material do Prof. Paulo Pires
Concorrência Prof. Márcio Bueno {bd2tarde,bd2noite}@marciobueno.com Material do Prof. Paulo Pires Controle de Concorrência SGBD sistema multiusuário em geral diversas transações executando simultaneamente
Processamento de Transações
Processamento de Transações Processamento de Transações Transações Atômicas: Unidades lógicas de processamento sobre um banco de dados. Controle de Concorrência: Garantia de que múltiplas transações ativadas
Processamento de Transações
Processamento de Transações Processamento de Transações ) Transações Atômicas: Unidades lógicas de processamento sobre um banco de dados. ) Controle de Concorrência: Garantia de que múltiplas transações
PROCESSAMENTO DE TRANSAÇÕES
UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO PROCESSAMENTO DE TRANSAÇÕES Profº Erinaldo Sanches Nascimento Objetivos Discutir a necessidade de controle de concorrência e
Processamento de Transações
Arquitetura de Banco de Dados Processamento de Transações Carolina Nogueira Marcelo Eduardo Cardoso Rodrigo Dlugokenski Vítor De Araújo Bancos de dados Single-users versus Multiusers classificação baseada
Processamento de Transações. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
Processamento de Transações Banco de Dados Introdução Ambiente multiusuário vários usuários utilizam o mesmo sistema ao mesmo tempo múltiplos programas (transações) compartilham a mesma CPU Forma de execução
Processamento de Transações
Processamento de Transações Banco de Dados II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM é
Processamento de Transações. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
Processamento de Transações Laboratório de Bases de Dados Introdução Ambiente multiusuário vários usuários utilizam o mesmo sistema ao mesmo tempo múltiplos programas (transações) compartilham a mesma
Introdução. Processamento de Transações. Introdução. Introdução. Transações. Transações
Ciência da Computação GBC043 Sistemas de Banco de Dados Processamento de Transações Profa. Maria Camila Nardini Barioni [email protected] Bloco B - sala 1B137 Introdução... SGBDs são em geral multi-usuários
Controle de Transação
Curso: Ciência da Computação Disciplina: Banco de Dados Campus Lages Controle de Transação Prof. Edjandir C. Costa [email protected] Agenda Conceitos de transação e sistema Propriedades desejáveis
Introdução. Processamento de Transações. Introdução. Introdução. Transações. Transações. Transação
Pós-graduação em Ciência da Computação CCM-202 Sistemas de Banco de Dados Processamento de Transações Profa. Maria Camila Nardini Barioni [email protected] Bloco B - sala 937 Introdução... SGBDs
BD II (SI 587) Transações em Banco de Dados. Prof. Josenildo Silva
BD II (SI 587) Transações em Banco de Dados Prof. Josenildo Silva [email protected] Nota Estes slides são adaptados de Database System Concepts, 6th Ed. Silberschatz, Korth and Sudarshan distribuídos
BD II (SI 587) Controle de Concorrência. Josenildo Silva.
BD II (SI 587) Controle de Concorrência Josenildo Silva [email protected] Nota Estes slides são baseados nos slides disponibilizados pelos autores ELMASRI e NAVATHE, para o livro Sistemas de Banco de
Banco de Dados. Controle de Concorrência e Recuperação de Transação. Prof. João Eduardo Ferreira Prof. Osvaldo Kotaro Takai
Banco de Dados Controle de Concorrência e Recuperação de Transação Última atualização: 20 de janeiro de 2006 Prof. João Eduardo Ferreira Prof. Osvaldo Kotaro Takai Tópicos Modelo Transacional Clássico
Gerenciamento de Transações em Banco de Dados
Gerenciamento de Transações em Banco de Dados Daniela Barreiro Claro MAT A60 Aula 13 Introdução à Transação 2 Transação É uma coleção de operações que formam uma única unidade lógica As transações acessam
Lista de Exercícios 12 Transações
UNIVERSIDADE DE SÃO PAULO INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO SCC0141 - Bancos de Dados e Suas Aplicações Prof. José Fernando Rodrigues Júnior 2º semestre
Banco de Dados I 6 Transações e Controle de Concorrência
Banco de Dados I 6 Transações e Controle de Concorrência Grinaldo Lopes de Oliveira (grinaldo( [email protected]) Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas * Material com créditos
TRANSAÇÕES E CONTROLE DE CONCORRÊNCIA Em resumo: Transações: clientes podem necessitar que um servidor execute uma sequência de requisições de forma a
Transações Transações Uma transação é um conjunto de operações que deve ser executado de forma atômica Atômica : se um erro ocorre no meio da transação, devemos voltar ao estado consistente anterior. Atômica
Scheduler Baseado em Timestamp
Scheduler Baseado em Timestamp Técnica na qual toda transação Tx possui uma marca timestamp (TS(Tx)) Princípio de funcionamento (TS-Básico) no acesso a um item de dado D por operações conflitantes, a ordem
revisão Controle de Concorrência com Locks Bancos de Dados I 2015/02
Bancos de Dados I 2015/02 revisão Controle de Concorrência com Locks Transações em SQL Prof. Altigran Soares da Silva Atomico=transaction manager Consistencia=controle concorrencia/commit Isolamento=controle
BDII SQL TRANSAÇÃO Revisão 2
exatasfepi.com.br BDII SQL TRANSAÇÃO Revisão 2 André Luís Duarte Honra a teu pai e a tua mãe (que é o primeiro mandamento com promessa), para que te vá bem, e sejas de longa vida sobre a terra.(ef 6:2,3)
Técnicas de Controle de Concorrência
Técnicas de Controle de Concorrência Principais Técnicas bloqueio (locking) timestamp Técnicas Baseadas em Bloqueio Técnicas mais utilizadas pelos SGBDs Princípio de funcionamento controle de operações
Técnicas de Controle de Concorrência
Técnicas de Controle de Concorrência Pessimistas supõem que sempre ocorre interferência entre transações e garantem a serializabilidade enquanto a transação está ativa técnicas bloqueio (locking) timestamp
Técnicas de Controle de Concorrência. Laboratório de Bancos de Dados
Técnicas de Controle de Concorrência Laboratório de Bancos de Dados João Eduardo Ferreira e José Alcazar Elmasri,, R.; Navathe,, S. B. Sistemas de Banco de Dados, 4ed. Pearson Addison Wesley,, 2005 (Caps.(
Avisos. Processamento de Transações Controle de Concorrência. Roteiro da aula. Tipos de bloqueio: Binários. Protocolos baseados em bloqueio
Ciência da Computação GBC043 Sistemas de Banco de Dados Processamento de Transações Controle de Concorrência Avisos Lista de exercícios adicionais na página da disciplina Profa. Maria Camila Nardini Barioni
Exercícios Módulo Banco de Dados I (08/07/2006)
UNIVERSIDADE FEDERAL DE VIÇOSA CENTRO DE CIÊNCIAS EXATAS E TECNOLOGICAS DEPARTAMENTO DE INFORMÁTICA Exercícios Módulo Banco de Dados I (08/07/2006) Marcelo Santos Daibert João Carlos da Silva Juiz de Fora
Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP
Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP Campus de Caraguatatuba Tecnólogo em Análise e Desenvolvimento de Sistemas 1 0 Semestre de 2013 BD I Prof. Lineu Mialaret Aula 25:
Módulo II: Controle de. Concorrência. (Aulas 1 e 7) Clodis Boscarioli
Módulo II: Controle de Concorrência (Aulas 1 e 7) Clodis Boscarioli Agenda: Introdução a Controle de Concorrência; Protocolos baseados em Bloqueio; Protocolos baseados em Timestamp; Protocolos baseados
Controle de Concorrência
Controle de Concorrência Protocolos de Bloqueio Protocolo com base em Timestamps Protocolos Multi-versão Inserção e Remoção de Dados Controle de Concorrência Controle de concorrência é usado para garantir
Sistemas Distribuídos Transações
Sistemas Distribuídos Transações Vinícius Fernandes Soares Mota 1 2 Transações Transação: Unidade lógica de trabalho abrange um conjunto de operações de manipulação de dados que executam uma única tarefa
GBC043 - Sistemas de Banco de Dados Lab8 : Transações no PostgreSql
GBC043 - Sistemas de Banco de Dados Lab8 : Transações no PostgreSql Ilmério Reis da Silva [email protected] www.facom.ufu.br/~ilmerio/sbd UFU/FACOM/BCC Transações Ver conjunto de slides na opção Transações
Técnicas de Controle de Concorrência
Técnicas de Controle de Concorrência Pessimistas supõem que sempre ocorre interferência entre transações e garantem a serializabilidade enquanto a transação está ativa técnicas bloqueio (locking) timestamp
Gerência de Transações Distribuídas
Transação Gerência de Transações Distribuídas Uma é uma unidade de computação consistente e confiável Transparência de concorrência Transparência de falhas Fernanda Baião [email protected] Banco de dados
Controle de Transações. Banco de Dados André Luiz do Vale Soares
Controle de Transações Banco de Dados André Luiz do Vale Soares 1 Transações de Banco de Dados O que são transações em BDs? São um conjunto de instruções SQL, tratadas como uma UNIDADE, ou seja, todas
Banco de Dados II. Transações (Oracle) Segurança: Introdução; Controle de Acesso; Criptografia; Recursos de SQL.
Banco de Dados II Transações (Oracle) Prof. Rodrigo Rocha [email protected] http://www.bolinhabolinha.com Apresentação Prof. Rodrigo Rocha [email protected] Ementa Gerenciamento de
Sistemas de Informação e Bases de Dados 2012/2013. Transações. Alberto Sardinha
Sistemas de Informação e Bases de Dados 2012/2013 Transações Alberto Sardinha Sumário! Conceito de Transação! Propriedades ACID! Transações em SQL! Referências Raghu Ramakrishnan, Database Management Systems,
Sistemas de Bases de Dados 2.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas
DI-FCT/UNL 6 de junho de 2018 Sistemas de Bases de Dados 2.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas Nome: Grupo 1 (7 valores) 1 a) Quais são as 4 propriedades ACID que
Sistemas Distribuídos
Sistemas Distribuídos Transações atômicas Conteúdo O modelo transacional Armazenamento estável Primitivas transacionais Propriedades das transações Transações aninhadas Implementação Área de trabalho privada
Transações, Controle de Concorrência e o Hibernate. Clodis Boscarioli
Transações, Controle de Concorrência e o Hibernate Clodis Boscarioli Transações Um conjunto de várias operação em um BD pode ser visto pelo usuário como uma única unidade. Exemplo: A transferência de fundos
Banco de Dados II. Transações. Segurança: Introdução; Controle de Acesso; Criptografia; Recursos de SQL.
Banco de Dados II Prof. Rodrigo Rocha [email protected] http://www.bolinhabolinha.com Apresentação Prof. Rodrigo Rocha [email protected] Ementa Gerenciamento de : Recuperação; Concorrência.
BD II (SI 587) Técnicas de Recuperação. Josenildo Silva.
BD II (SI 587) Técnicas de Recuperação Josenildo Silva [email protected] Nota Estes slides são baseados nos slides disponibilizados pelos autores ELMASRI e NAVATHE, para o livro Sistemas de Banco de
Controle de Concorrência em Banco de Dados
Controle de Concorrência em Banco de Dados Controle de concorrência é um método usado para garantir que as transações sejam executadas de uma forma segura e sigam as regras ACID. Os SGBD devem ser capazes
CONCORRÊNCIA. Buscando aumentar os níveis de concorrência redução da espera em detrimento do isolamento, a SQL definiu alguns níveis de isolamento.
CONCORRÊNCIA 1. Introdução O termo concorrência se refere ao fato de que os SGBDs em geral permitem que muitas transações tenham acesso ao mesmo banco de dados ao mesmo tempo. Em um sistema desse tipo,
Sincronização e Comunicação entre Processos. Adão de Melo Neto
Sincronização e Comunicação entre Processos Adão de Melo Neto 1 INTRODUÇÃO Em um sistema multitarefa os processos alternam sua execução segundo critérios de escalonamento estabelecidos pelo sistema operacional.
Oracle Comandos para Processamento de Transações
Oracle Comandos para Processamento de Transações Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Transação Unidade lógica de trabalho contém um ou mais comandos SQL para manipulação
Bases de Dados. Exame de 1 a Época. Identifique todas as folhas. Responda a cada grupo nas páginas respectivas do grupo. Exame sem consulta.
Bases de Dados Exame de 1 a Época 2013/2014 Identifique todas as folhas. Responda a cada grupo nas páginas respectivas do grupo. Exame sem consulta. Duração: 2h30. Grupo 1 Número: Nome: 1a) O primeiro
Lock. Administração de Banco de Dados
Lock Administração de Banco de Dados 1 Tópicos o Lock o Tipos de Lock o Recursos que podem ser bloqueados o Dica de Lock sobre uma Tabela o Dica de Lock em uma Sessão o Compatibilidade entre Locks 2 Lock
TRANSAÇÕES: SISTEMA DE RECUPERAÇÃO E CONTROLE DE CONCORRÊNCIA
UNIDADEB Teoria de Banco de Dados Unidade B TRANSAÇÕES: SISTEMA DE RECUPERAÇÃO E CONTROLE DE CONCORRÊNCIA Transações Quando estudamos os bancos de dados, utilizamos vários recursos sem entender como eles
Aula 03. Evandro Deliberal
Aula 03 Evandro Deliberal [email protected] https://www.linkedin.com/in/evandrodeliberal Concorrência Método Sincronização Problemas: Perda de consistência Acesso a dados inconsistentes Perda de atualizações
