Sistemas de Gestão de Bases de Dados e-fólio B. Resolução e Critérios de Correção

Documentos relacionados
Resolução e Critérios de Correção U.C Sistemas de Gestão de Bases de Dados. 16 de fevereiro de 2018 INSTRUÇÕES

U.C Sistemas de Gestão de Bases de Dados Resolução e Critérios de Correção INSTRUÇÕES

U.C Sistemas de Gestão de Bases de Dados Resolução e Critérios de Correção INSTRUÇÕES

Fundamentos de Bases de Dados e-fólio B Resolução e Critérios de Correção

Fundamentos de Bases de Dados e-fólio B Resolução e Critérios de Correção

Concorrência. Prof. Márcio Bueno. Material do Prof. Paulo Pires

Fundamentos de Bases de Dados e-fólio A Resolução e Critérios de Correcção

Fundamentos de Bases de Dados e-fólio A Resolução e Critérios de Correção

Bases de Dados 2013/2014 Transações. Helena Galhardas. Sumário!

Resolução e Critérios de Correção U.C Sistemas de Gestão de Bases de Dados. 13 de julho de 2015 INSTRUÇÕES

Análise de Sistemas e-fólio A Resolução e Critérios de Correção

Análise de Sistemas e-fólio B. Resolução e Critérios de Correção

21177 Modelação de Sistemas de Informação e-fólio B

Sistemas de Gestão de Bases de Dados e-fólio A. Resolução e Critérios de Correção

Técnicas de Controle de Concorrência

Administração e Optimização de BDs

21177 Modelação de Sistemas de Informação e-fólio B Resolução e Critérios de Correção

Sumário. Controle de Concorrência

Técnicas de Controle de Concorrência

Análise de Sistemas e-fólio A Resolução e Critérios de Correção

Fundamentos de Bases de Dados e-fólio A Resolução e Critérios de Correção

Processamento de Transações II

Processamento de Transações. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

se a transação falhar entre os 3 passos 4 6, os passos 1 3 ficam sem efeito 4 read(b) Consistência

Contato. professorluisleite.wordpress.com

21177 Modelação de Sistemas de Informação e-fólio B

Fundamentos de Bases de Dados e-fólio B Resolução e Critérios de Correção

Transacções concorrentes exemplo. B := B 50 write(b) read(a) A := A + 50 write(a)

se a transacção falhar entre os passos 4 6, os passos 1 3 ficam sem efeito

Processamento de Transações. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

21177 Modelação de Sistemas de Informação e-fólio B Resolução e Critérios de Correção

revisão Controle de Concorrência com Locks Bancos de Dados I 2015/02

Análise de Sistemas e-fólio A

BD II (SI 587) Controle de Concorrência. Josenildo Silva.

U.C Fundamentos de Bases de Dados Resolução e Critérios de Correção INSTRUÇÕES

Bases de Dados 2013/2014 Controlo de Concorrência

U.C Fundamentos de Bases de Dados Resolução e Critérios de Correção INSTRUÇÕES

Scheduler Baseado em Timestamp

21177 Modelação de Sistemas de Informação e-fólio A Resolução e Critérios de Correção

Processamento de Transações

Processamento de Transações

PROCESSAMENTO DE TRANSAÇÕES

Fundamentos de Bases de Dados e-fólio C Resolução e Critérios de Correção

INSTITUTO SUPERIOR TÉCNICO Administração e Optimização de Bases de Dados

Administração e Optimização de BDs

PCS3413. Engenharia de So-ware e Banco de Dados. Aula 21. Escola Politécnica da Universidade de São Paulo

Banco de Dados. Controle de Concorrência e Recuperação de Transação. Prof. João Eduardo Ferreira Prof. Osvaldo Kotaro Takai

21177 Modelação de Sistemas de Informação e-fólio A Resolução e Critérios de Correção

Sistemas de Gestão de Bases de Dados e-fólio C. Resolução e Critérios de Correção

Sistemas de Informação e Bases de Dados 2012/2013. Transações. Alberto Sardinha

Sistemas de Bases de Dados 2.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas

Banco de Dados I 6 Transações e Controle de Concorrência

Banco de Dados I. Aula 18 - Prof. Bruno Moreno 22/11/2011

Resolução e Critérios de Correção U.C Sistemas de Gestão de Bases de Dados. 13 de fevereiro de 2014 INSTRUÇÕES

Resolução e Critérios de Correção U.C Sistemas de Gestão de Bases de Dados. 19 de fevereiro de 2013 INSTRUÇÕES

U.C Fundamentos de Bases de Dados Resolução e Critérios de Correção INSTRUÇÕES:

de Bases de Dados Exame 1

Processamento de Transações

Gerenciamento de Transações em Banco de Dados

Roteiro. Noções de Controle de Concorrência. BCC321 - Banco de Dados I. Ementa. Finalidade do Controle de Concorrência.

Sistemas de Gestão de Bases de Dados e-fólio C. Resolução e Critérios de Correção

Fundamentos de Bases de Dados e-fólio C Resolução e Critérios de Correcção

Resolução e Critérios de Correção U.C Sistemas de Gestão de Bases de Dados. 18 de julho de 2012

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.

Técnicas de Controle de Concorrência

Sistemas de Bases de Dados 2.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas

e c d o o r B s s n i : l e F s

Processamento de Transações

Avisos. Processamento de Transações Controle de Concorrência. Roteiro da aula. Tipos de bloqueio: Binários. Protocolos baseados em bloqueio

Processamento de INDUSTRIA 4.0. Big Data. Aula #8 - Transações e concorrência MARMELADA NO RING, FONTE: ESTADAO EDUARDO CUNHA DE ALMEIDA

Sincronização e Concorrência

Resolução e Critérios de Correção U.C Sistemas de Gestão de Bases de Dados. 26 de fevereiro de 2016

BD II (SI 587) Transações em Banco de Dados. Prof. Josenildo Silva

erro lógico: a transacção não pode completar devido a condição de erro erro de sistema: o sistema entrou num estado que impede a transacção

Sistemas Distribuídos Transações

BANCO DE DADOS 2 TRANSAÇÃO

Controle de Transação

de Bases de Dados Exame 1

Sistemas Distribuídos Aula 20

Técnicas de Controle de Concorrência. Laboratório de Bancos de Dados

Conceitos. Gestão de Transacções. Transacção. Conceitos e Propriedades. Controlo de Concorrência. Recuperação. Transacções no SGBD Oracle

Resolução e Critérios de Correção U.C Sistemas de Gestão de Bases de Dados. 12 de fevereiro de 2015 INSTRUÇÕES

Revisão e Introdução 23/05/12. Controle Distribuído da Concorrência. Revisão de Conceitos. Revisão de Conceitos. Transação Operação

de Bases de Dados Exame 2

Criando Transações. Prof. Fernanda Baião. TbEstoqueLivros. TbEstoqueLivros. ID IDLoja IDLivro Estoque

Bases de Dados. Exame de 2 a Época. Identifique todas as folhas. Responda a cada grupo nas páginas respectivas do grupo. Exame sem consulta.

Concorrência. Sistemas Distribuídos e Tolerância a Falhas. Lia Ribeiro 1

Fundamentos de Bases de Dados e-fólio C. Resolução e Critérios de Correção

Bases de Dados. Exame de 1 a Época. Identifique todas as folhas. Exame sem consulta. Duração: 2h30.

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

UNIVERSIDADE FEDERAL DO MARANHÃO - UFMA. Banco de Dados II. Recuperação. Carlos Eduardo Portela Serra de Castro

Controle de Concorrência

BD II (SI 587) Técnicas de Recuperação. Josenildo Silva.

Transcrição:

21103 - Sistemas de Gestão de Bases de Dados 2015-2016 e-fólio B Resolução e Critérios de Correção PARA A RESOLUÇÃO DO E-FÓLIO, ACONSELHA-SE QUE LEIA ATENTAMENTE O SEGUINTE: 1) O e-fólio é constituído por 3 perguntas. A cotação global é de 3 valores. 2) O e-fólio deve ser entregue num único ficheiro PDF, não zipado, com fundo branco, com perguntas numeradas e sem necessidade de rodar o texto para o ler. Penalização de 1 a 3 valores. 3) Não são aceites e-fólios manuscritos, i.e. tem penalização de 100%. 4) O nome do ficheiro deve seguir a normal efoliob + <nº estudante> + <nome estudante com o máximo de 3 palavras> 5) Durante a realização do e-fólio, os estudantes devem concentrar-se na resolução do seu trabalho individual, não sendo permitida a colocação de perguntas ao professor ou entre colegas. 6) A interpretação das perguntas também faz parte da sua resolução, se encontrar alguma ambiguidade deve indicar claramente como foi resolvida. 7) A legibilidade, a objectividade e a clareza nas respostas serão valorizadas, pelo que, a falta destas qualidades serão penalizadas. Vetor Cotações 1 2 3 pergunta 10 10 10 décimas Critérios de correção gerais: todas as respostas devem ser justificadas, incluir imagens e exemplos com vista a clarificar os argumentos expostos.

1) Relativo ao Cap. 14- Transações Defina serialização por conflitos e por vistas. O escalonamento R1(x), R2(x), R3(y), W2(x), R1(y), W1(y), R3(x), W3(z) é serializável a vistas ou a conflitos. Porquê? Resposta: 1.a) Defina serialização por conflitos e por vistas. Serialização por conflitos: um escalonamento é serializável por conflitos se o seu grafo de precedência não contiver ciclos. Na construção do grafo de precedências as arestas são montadas a partir das observações das transações que participa, da escala sendo duas transação T i e T j haverá uma aresta: T i T j se forem observadas as seguintes condições: T i executa write(q) antes de T j executar read(q) T i executa read(q) antes de T j executar write(q) T i executa write(q) antes de T j executar write(q) Serialização por vistas: Diz-se que Ti lê x de Tj, se Wj(x) for a última operação de escrita antes de Ri(x). Dois escalamentos são equivalentes a vistas, se a relação lê de em ambas for a mesma [Feliz Gouveia 2014]. Dois escalonamentos S1 e S2 são equivalentes se: (1) Se S1: r i (A) lê o valor inicial, então S2: r i (A) também lê o mesmo valor inicial (2) Se S1: w j (A) r i (A) então em S2: w j (A) r i (A); têm a mesma vista (3) Se S1: T i termina w i (A), então S2: T i também termina com w i (A); os valores finais são os mesmos 1.b) O escalonamento é serializável a vistas ou a conflitos? Porquê? Divisão por recurso/item: Item x: R1, R2, W2, R3 Item y: R3, R1, W1 Item z: W3 As precedências são as seguintes: R1, R2, W2, R3: R1->W2, W2->R3 R3, R1, W1 : R3->W1 Graficamente obtemos um grafo cíclico, pelo que não é serializável a conflitos.

Para analisar se o escalonamento é serializável por vistas, devemos criar um ou mais escalonamentos em série, e de seguida verificar se cumpre a regra Ti lê x de Tj. O escalonamento concorrente é o dado no problema. Criámos dois escalonamentos em série: - Série-1 (S1): verificamos que R1(y) e R3(y) no escalonamento concorrente são iniciados com o mesmo valor, o que não acontece em S1 visto que existe um W1(y). - Série-2 (S2): no escalonamento S2 verificamos que R2(x) e R1(x) são iniciados com o mesmo valor, o que não acontece com S2 visto que existe um W2(x). T1 T2 T3 T1 T2 T3 T1 T2 T3 R(x) R(x) R(y) R(x) R(y) R(x) R(y) W(y) W(z) W(x) R(x) R(x) R(y) W(x) W(x) W(y) R(y) R(x) R(x) R(x) R(y) W(z) W(z) W(y) concorrente série 1 série 2 Conclusão: o escalonamento não é serializável por conflito e não é serializável por vistas. Critério de correção: - (0,5) parte 1.a) definições do escalonamento seriável a conflitos e a vistas - (0,5) parte 1.b) estudo detalhado do problema

2) Relativo ao Cap. 15- Concorrência Defina o protocolo 2-PL. Considere o protocolo 2-PL e explique detalhadamente a execução das seguintes transações. Resposta: 2.a) Defina o protocolo 2-PL. Existem dois tipos de locks para as operações de Read e Write, os partilhados (Shared-lock ou S-lock) e exclusivos (exclusive-lock ou X-lock). O protocolo two-phase locking (2PL) assegura o controlo da concorrência e garante sequenciamentos conflito - serializáveis. O 2PL é composto, como a própria designação indica, por duas fases: Fase 1: Fase de Crescimento/Expansão (growing) a transação pode obter locks e não pode libertar locks Fase 2: Fase de Encolhimento/Contenção (shrinking) a transação pode libertar locks e não pode obter locks Para a transação T1: R(X), W(X), R(Y),W(Y) teremos um 2PL T1: S-lock(X), R(X), X-lock(X), W(X), S-lock(Y), R(Y), X-lock(Y), W(Y), Lock- Point, Commit, Unlock(X), Unlock(Y)

O protocolo two-phase locking, dado que é muito restritivo, é muito usual a ocorrência de deadlocks. No deadlock pelo menos uma das transações tem de ser abortada. Se estiverem envolvidas várias transações cascading rollback (abort) irá ocorrer. Para o evitar, pode utilizar uma variante estrita deste protocolo denominado strict twophase locking, onde a transação retém todos os seus locks exclusivos até que efetue Commit ou Abort. T1: S-lock(X), R(X), X-lock(X), W(X), S-lock(Y), R(Y), X-lock(Y), W(Y), Lock- Point, Unlock-All, Commit, 2.b) Execução das transações. A gestão dos locks é realizada pelo Lock Manager do SGBD. Quando existe um pedido de lock verificar o estado do item: se não existe lock do item, é dada permissão de lock (Grant) caso contrário, existindo um lock do item, o pedido fica em fila de espera (Enqueue); quando o item é libertado o pedido sai da fila de espera (Dequeue) T1 T2 Gestão dos locks 1 BEGIN BEGIN 2 S-LOCK(A) Grant (T1, S, A) permite o acesso partilhado da transação T1 ao item A 3 R(A) 4 S-LOCK(A) Grant (T2, S, A) permite o acesso partilhado da transação T2 ao item A 5 R(A) 6 X-LOCK(A) Grant (T1, X, A) permite o acesso exclusivo da transação T1 ao item A 7 W(A) 8 X-LOCK(A) existe lock do item A, pedido vai para fila de espera, Enqueue(A) 9 UNLOCK(A) lock(a) é libertado 10 COMMIT 11 W(A) Dequeue(A), X-lock(A) é permitido 12 UNLOCK(A) lock(a) é libertado 13 COMMIT No instante 8, dado que existe um lock do item A, o pedido vai para fila de espera, sendo retirado da fila depois do UNLOCK (A). Critério de correção: - (0,5) 2.a) definições - (0,5) 2.b) execução transações considerando os pedidos em fila de espera

3) Relativo ao Cap. 16- Sistemas de Recuperação Na recuperação da falha do seguinte registo (log) que operações se seguem? Explique detalhadamente os passos de Redo e Undo. Resposta: Na recuperação aplicam-se a seguintes regras às transações ativas depois do último check-point: - para todas as transações Tk que não têm registo de <Tk commit> no "log", é executado undo(tk); - para todas as transações Tk que têm registo de <Tk commit> no "log", é executado redo(tk). T0 terminou antes do check-point, tendo toda a informação sido gravada em disco, pelo que nada é preciso fazer. Para as transações T1 e T2 com foram interrompidas pelo crash, é necessário proceder ao undo(tk).

Assim teremos na fase de recuperação da falha: Fim do Log, Crash Fase de recuperação são acrescentados os seguintes registos para undo(t1) e undo(t2) <T2, C, 400> <T2 abort> <T1, C, 400, 700> <T1, O4, operation-abort> <T1, B, 2050> <T1, abort> undo lógico, soma 300 a C undo físico na DB, repor o valor antes do chek-point Para a transação T1 as operações realizadas antes do check-point, gravadas em disco, devem set desfeitas fisicamente; as operações depois do check-point são desfeitas a o nível lógico. Critério de correção: - (0,5) explicação geral - (0,5) explicação detalhada diferenciando o undo lógico do físico