• Nenhum resultado encontrado

Aula17 Administração BD

N/A
N/A
Protected

Academic year: 2019

Share "Aula17 Administração BD"

Copied!
33
0
0

Texto

(1)

Tecnologia em Análise e Desenvolvimento de

Sistemas

Administração de Banco de Dados

Aula 17

(2)

Técnicas de Controle de

Concorrência

Deadlock

❖ Os registros de timestamp (TS) são baseados,

geralmente, na ordem em que as transações são iniciadas.

❖ Se T 1 inicia antes de T 2 , então TS(T1) < TS(T2).

(3)

Técnicas de Controle de

Concorrência

Deadlock

❖ Duas técnicas de prevenção, que utilizam o

conceito de registro de timestamp, são:

wait-die (esperar-morrer);

wound-wait (ferir-esperar).

3

Situação problema: Em um determinado escalonamento, a transação Ti tenta bloquear um item X mas não pode fazê-lo porque X está bloqueado

(4)

Técnicas de Controle de

Concorrência

❖ Deadlock

Wait-die (esperar-morrer)

❖ Se TS(Ti) < TS(Tj), ou seja, Ti mais antiga do que Tj, então

❖ Ti é autorizada a esperar.

❖ Se TS(Ti) > TS(Tj), ou seja, Ti mais nova do que Tj , então

(5)

Técnicas de Controle de

Concorrência

❖ Deadlock

Wait-die (esperar-morrer)

❖ Portanto a transação:

Mais antiga:

❖ É autorizada a esperar por uma transação mais nova;

Mais nova:

❖ Que requeira um item bloqueado por uma transação mais antiga, é abortada e reiniciada.

(6)

Técnicas de Controle de

Concorrência

❖ Deadlock

Wound-wait (ferir-esperar)

❖ Se TS(Ti) < TS(Tj), ou seja, Ti mais antiga do que Tj , então

❖ Tj é abortada (Ti fere Tj) e reiniciada posteriormente com o mesmo valor de registro de timestamp.

❖ Se TS(Ti) > TS(Tj), ou seja, Ti mais nova do que Tj , então

(7)

Técnicas de Controle de

Concorrência

❖ Deadlock

Wound-wait (ferir-esperar)

❖ Portanto, em tal esquema, uma transação:

Mais nova

❖ É autorizada a esperar pela mais antiga;

Mais antiga

❖ Que requeira um item bloqueado por uma

transação mais nova, apropria-se da transação mais nova, abortando a mesma.

(8)

Técnicas de Controle de

Concorrência

❖ Deadlock

(9)

Técnicas de Controle de

Concorrência

Starvation (inanição)

❖ Ocorre quando uma transação não pode continuar sua

execução em um intervalo indefinido de tempo, enquanto

outras transações são executadas normalmente.

(10)

Técnicas de Controle de

Concorrência

Starvation (inanição)

❖ Na prática, pode ocorrer quando:

❖ O esquema de espera para itens bloqueados for injusto,

priorizando algumas transações em relação a outras;

Solução 1: quanto mais uma transação esperar, aumentar a

sua prioridade de execução.

Solução 2: utilizar um esquema de fila de tal forma que a

(11)

Técnicas de Controle de

Concorrência

Starvation (inanição)

❖ Na prática, pode ocorrer quando:

❖ A mesma transação, no processo de seleção de vítima, for

escolhida como vítima repetidamente.

Solução: aumentar a prioridade de execução de transações

que tenham sido abortadas inúmeras vezes.

(12)

Técnicas de Controle de

Concorrência

Multiversão

❖ Armazenam os valores antigos de um item de dado

quando o mesmo é atualizado;

❖ Quando uma transação escreve um item, uma nova

versão do item é escrita e a versão antiga do item é

(13)

Técnicas de Controle de

Concorrência

Multiversão

❖ Algumas operações de leitura, que seriam rejeitadas em

outras técnicas, passam a ser aceitas por meio da leitura

de uma versão anterior do item para manter a

serialização.

(14)

Técnicas de Controle de

Concorrência

Multiversão

Desvantagem: necessidade de um volume maior de

armazenamento para manter as versões dos itens do

banco.

❖ As técnicas multiversão são ideais para banco de dados

(15)

Técnicas de Controle de

Concorrência

Técnicas de validação (otimistas)

❖ Nenhuma verificação é realizada enquanto a transação

está sendo executada, diminuindo um custo adicional

durante a execução da transação.

❖ Geralmente, as técnicas otimistas de controle de

concorrência funcionam bem se houver pouca

interferência (suposição otimista) entre as transações de

um escalonamento.

(16)

Técnicas de Controle de

Concorrência

Técnicas de validação (otimistas)

❖ Uma das técnicas otimistas propõe as seguintes regras:

❖ Atualizações na transação não são aplicadas diretamente

aos itens do banco de dados até que a transação atinja seu

final.

❖ Todas as atualizações são aplicadas a cópias locais dos itens

(17)

Técnicas de Controle de

Concorrência

Técnicas de validação (otimistas)

❖ Uma das técnicas otimistas propõe as seguintes regras:

❖ Ao final de uma transação, a fase de validação verifica se

qualquer uma das atualizações da transação viola a

serialização.

❖ Se a serialização não for violada, a transação é confirmada e

o banco de dados é atualizado a partir das cópias locais; caso

contrário, a transação é abortada e posteriormente

reiniciada.

(18)

Técnicas de Controle de

Concorrência

Granularidade de Itens de Dados

Os mecanismos de controle de concorrência assumem

que um BD é formado por uma coleção de itens de dados,

sendo que um item de dados pode ser:

um registro (tupla) do banco de dados;

um valor de campo (atributo) de um registro do banco;

um bloco de disco;

(19)

Técnicas de Controle de

Concorrência

Granularidade de Itens de Dados

A granularidade de um item de dados, ou seja, o tamanho

do item de dados, pode afetar o desempenho do controle

de concorrência e da recuperação de falhas.

(20)

Técnicas de Controle de

Concorrência

Nível de Granularidade para o Bloqueio

Quanto maior o tamanho do item de dados, menor é o

grau de concorrência permitido:

Se o tamanho do item de dados for um bloco de disco, uma

transação T, que precisa bloquear um registro A, deve

bloquear o bloco de disco X inteiro que contém A. Se outra

transação S necessita bloquear o registro B que esteja no

(21)

Técnicas de Controle de

Concorrência

Nível de Granularidade para o Bloqueio

Quanto maior o tamanho do item de dados, menor é o

grau de concorrência permitido:

Se o tamanho do item de dados fosse um único registro, S

poderia prosseguir pois estaria bloqueando um registro

diferente.

(22)

Técnicas de Controle de

Concorrência

Nível de Granularidade para o Bloqueio

Quanto menor o tamanho do item de dados, maior é o

número de itens no banco de dado a serem gerenciados.

❖ Já que cada item está associado a um bloqueio, o sistema

terá um grande número de bloqueios ativos a serem

tratados pelo gerenciador de bloqueios, gerando um

overhead maior e necessitando um espaço de

(23)

Técnicas de Controle de

Concorrência

Nível de Granularidade para o Bloqueio

O tamanho do item de dados depende dos tipos de

transações envolvidas no sistema.

Se uma transação típica acessa um pequeno número de

registros, a granularidade de item de dados como um

registro é vantajosa.

(24)

Técnicas de Controle de

Concorrência

Nível de Granularidade para o Bloqueio

Se uma transação normalmente acessa muitos registros

de um mesmo arquivo, a granularidade de bloco de disco

ou arquivo, de modo que a transação considere todos

esses registros como um ou poucos itens de dados, pode

(25)

Técnicas de Controle de

Concorrência

Nível de Granularidade para o Bloqueio

Um sistema de banco de dados deve suportar diversos e

diferentes níveis de granularidade para atender às várias

e possíveis combinações de transações.

(26)

Técnicas de Controle de

Concorrência - Exercícios

❖ 1) Uma das técnicas empregadas por SGBD, para implementar o controle de transações concorrentes, é a utilização de bloqueios.

Para garantir a serialização da escala concorrente de várias

transações, deve(m)-se empregar o(s)

(A) protocolo de bloqueio em duas fases (two-phase locking)

(B) protocolo de bloqueio em três fases (three-phase commit)

(C) protocolo de bloqueio esperar-morrer (wait-die)

(27)

Técnicas de Controle de

Concorrência - Exercícios

❖ 2) O protocolo de bloqueio de duas fases (Two Phase Lock) é um dos mecanismos de

controle de concorrência utilizados em BD para evitar que as interações entre as

transações provoquem inconsistências no banco de dados. O protocolo de bloqueio de duas fases define:

(A) uma forma de serialização de transações concorrentes que garante que não ocorre Bloqueio Perpétuo (deadlock) entre essas transações, já que todos os bloqueios são liberados após o uso.

(B) duas etapas para o processamento de toda transação, sendo que na primeira etapa a

transação obtém bloqueios dos itens de dados, e na segunda etapa os bloqueios obtidos pela transação são liberados.

(C) as condições necessárias e suficientes para estabelecer a seriabilidade de um conjunto de operações realizadas pela execução de transações concorrentes.

(D) uma fase de execução, na qual a transação realiza todas as operações que teria de fazer sobre o BD e uma fase de validação, na qual se verifica se estas operações sofreram interferência indesejável de outras transações.

(28)

Técnicas de Controle de

Concorrência - Exercícios

❖ 3) A variação do protocolo de bloqueio de duas fases (2PL) na qual uma transação bloqueia todos os itens de dados acessados por ela antes que a transação inicie sua execução é denominada

(A) 2PL básico.

(B) 2PL estrito.

(C) 2PL conservador.

(29)

Técnicas de Controle de

Concorrência - Exercícios

❖ 4) O protocolo de bloqueio de duas fases (2PL) é importante para o controle de concorrência entre transações. O emprego do 2PL, em

todas as suas variações, garante que os escalonamentos produzidos

são:

(A) serializáveis.

(B) paralelos.

(C) livres de aborto de transações.

(D) livres de impasse (deadlock).

(E) livres de inanição (starvation).

(30)

Técnicas de Controle de

Concorrência - Exercícios

❖ 5) Ocorre deadlock quando uma transação de um conjunto com duas ou mais transações concorrentes aguarda por

algum item de dado que foi bloqueado por outra transação

do mesmo conjunto.

(C) Certo

(31)

Técnicas de Controle de

Concorrência - Exercícios

❖ 6) O deadlock (impasse) ocorre quando cada transação T em um

conjunto de duas ou mais transações estiver esperando por algum item de dado que esteja bloqueado por alguma outra transação no conjunto.

No protocolo esperar-morrer (wait-die), que busca a prevenção de

deadlocks, se a transação T1 precisa bloquear um item de dado que já está bloqueado pela transação T2, então:

(A) ocorrerá o aborto de T1, se T1 for mais antiga que T2. (B) ocorrerá o aborto de T1, se T1 for mais nova que T2.

(C) T1 entra em estado de espera, independente de ser mais nova ou antiga do que T2.

(D) T2 entra em estado de espera, independente de ser mais nova ou antiga do que T1.

(32)

Técnicas de Controle de

Concorrência - Exercícios

7) Diferencie o bloqueio em duas fases:

conservador, estrito e rigoroso.

8) O que é um timestamp? Como o sistema gera

timestamps?

(33)

Contato!!!!

Prof. Dra. Luciana M. Vieira Pöttker - Administração de Banco de Dados 29/08/2017 33

Referências

Documentos relacionados

Curvas de rarefação (Coleman) estimadas para amostragens de espécies de morcegos em três ambientes separadamente (A) e agrupados (B), no Parque Estadual da Ilha do Cardoso,

•   O  material  a  seguir  consiste  de  adaptações  e  extensões  dos  originais  gentilmente  cedidos  pelo 

As cavernas aqui estudadas (Gruta do Portão de Cima - PR225 e Gruta do Portão de Baixo - PR259) são duas cavidades naturais desenvolvidas em meio às litologias

Este trabalho apresentou informações importantes sobre os bioindicadores tanto do meio epígeo quanto do meio hipógeo, demonstrando também a importância da

Este trabalho pretende contribuir com o desenvolvimento do Turismo em Caverna, Espeleoturismo, a partir da avaliação da percepção de qualidade de serviços pelos visitantes

Os resultados obtidos foram comparados com análise quantitativa de fases feita em um equipamento de Difração de raios-x e análises química realizadas por espectrometria de

Apesar da longa distância dos grandes centros urbanos do país, Bonito destaca- se, regionalmente, como uma área promissora dentro do Estado de Mato Grosso do Sul. Bonito,

Por seu elevado poder calorífico, o biogás tem potencial para ser utilizado com fonte primária para geração de energia elétrica, exigindo, assim, uma avaliação da