Vous êtes sur la page 1sur 38

______________________________________________________________

CONTROLE DE CONCORRNCIA
Curso: Bacharelado em Sistemas de Informao Disciplina: Tpicos Especiais em Banco de Dados Professor: Julio Ferretti Flores

______________________________________________________________

CONTROLE DE CONCORRNCIA
CONTROLE DE CONCORRNCIA E RESTAURAO O controle de concorrncia e os mecanismos de restaurao (recuperao) esto relacionados com os comandos de acesso ao Banco de Dados realizados por uma transao; Transaes simultneas podem acessar e alterar os mesmos itens em um Banco de Dados: Execuo descontrolada; Problema de Inconsistncia.

______________________________________________________________

CONTROLE DE CONCORRNCIA
RECUPERAO (RECOVERY) Diversos tipos de falhas podem violar a integridade de um sistema de banco de dados: Ex.: queda de luz, falha na unidade de armazenamento, falha no programa de aplicao; Testes e controles devem ser incorporados ao sistema para diminuir a possibilidade de uma falha; Procedimento de reconstruo: Leva o BD a um estado consistente, aps uma falha que o tenha deixado num estado no confivel; Refaz transaes; Informa usurios sobre as ltimas transaes executadas.

______________________________________________________________

CONTROLE DE CONCORRNCIA
TCNICAS DE CONTROLE DE CONCORRNCIA Pessimistas supem que sempre ocorre interferncia entre transaes e garantem a serializao enquanto a transao est ativa tcnicas bloqueio (locking) Timestamp (identificador nico de uma transao criado pelo SGBD.) Otimistas supem que quase nunca ocorre interferncia entre transaes e verificam a serializabilidade somente ao final de uma transao tcnica validao

______________________________________________________________

CONTROLE DE CONCORRNCIA
SERIALIZAO
A serializao assegura que se duas ou mais transaes estiverem rodando ao mesmo tempo, para cada uma delas e para os outros processos , o resultado aparece como se todas elas rodassem seqencialmente em alguma ordem pr-definida dependente do sistema.
BEGIN_TRANSACTION X = 0; X = X+1; END_TRANSACTION (a) BEGIN_TRANSACTION BEGIN_TRANSACTION X = 0; X = 0; X = X+2; X = X+3; END_TRANSACTION END_TRANSACTION (b) (c)

TEMPO Escalonamento 1 X = 0; X = X+1; X = 0; X = X+2; X = 0; X = X+3; CORRETO Escalonamento 2 X = 0; X = 0; X = X+1; X = X+2; X = 0; X = X+3; CORRETO Escalonamento 3 X = 0; X = 0; X = X+1; X = 0; ; X = X+2; X = X+3; INCORRETO

______________________________________________________________

CONTROLE DE CONCORRNCIA
SERIALIZAO
Na figura anterior temos trs transaes que so executadas simultaneamente por trs processos diferentes. Se elas rodassem seqencialmente, o valor de x poderia ser 1, 2 ou 3, dependendo de qual delas vai rodar por ltimo (x poderia ser uma varivel compartilhada, um arquivo ou algum outro objeto). Na figura podemos observar a execuo das transaes em vrias ordens distintas, chamadas escalonamentos. O escalonamento 1 serializado, ou seja, as transaes rodam numa ordem estritamente seqencial, de maneira que elas atendem por definio ao requisito da serializao. O escalonamento 2 no serializado, mas ele ainda legal, pois resulta em valores para x idnticos aos que seriam obtidos pela execuo estritamente seqencial das transaes. O terceiro escalonamento ilegal pois faz com que x fique com valor 5, algo que a ordenao seqencial das transaes no pode obter de nenhuma forma. de responsabilidade do sistema assegurar a correta intercalao das operaes individuais.

______________________________________________________________

CONTROLE DE CONCORRNCIA
TCNICAS DE BLOQUEIO EM DUAS FASES PARA CONTROLE DE CONCORRNCIA Algumas das principais tcnicas usadas para controlar a execuo concorrente de transaes so baseadas no conceito de bloqueio de itens de dados. Um bloqueio uma varivel associada a um item de dados que descreve o status do item em relao a possveis operaes que podem ser aplicadas a ele. Em geral, existe um bloqueio para cada item de dados do banco de dados. Os bloqueios so utilizados como um meio de sincronizar o acesso por transaes concorrentes aos itens do banco de dados.

______________________________________________________________

CONTROLE DE CONCORRNCIA
TIPOS DE BLOQUEIOS E TABELAS DE BLOQUEIO DO SISTEMA Vrios tipos de bloqueios so usados no controle de concorrncia: BLOQUEIOS BINRIOS: Um bloqueio binrio pode ter dois estados ou valores: bloqueado e desbloqueado ( ou 1 e 0, para simplificar). Um bloqueio distinto associado a cada item do banco de dados. Se o valor do bloqueio for 1, o item bloqueado no pode ser acessado por uma operao de banco de dados que requisite o item. Se o valor do bloqueio for 0, o item pode ser acessado quando requisitado, e o valor do bloqueio alterado para 1. O bloqueio do item representado por lock(item).

______________________________________________________________

CONTROLE DE CONCORRNCIA
TIPOS DE BLOQUEIOS E TABELAS DE BLOQUEIO DO SISTEMA BLOQUEIOS COMPARTILHADOS /EXCLUSIVOS (ou de leitura / gravao): O esquema de bloqueio binrio muito restritivo para itens de banco de dados porque, no mximo, uma transao pode manter um bloqueio em determinado item. Devemos permitir que vrias transaes acessem o mesmo item se todas estas transaes fizerem tal acesso somente para leitura. Isso ocorre porque as operaes de leitura no mesmo item por diferentes transaes no esto em conflito. Contudo, se uma transao tiver de gravar um item, necessrio que a mesma tenha acesso exclusivo a este item. Para essa finalidade, um tipo diferente de bloqueio, chamado bloqueio de modo mltiplo utilizado. Nesse esquema chamado bloqueios compartilhados / exclusivos ou de leitura / gravao existem trs operaes de bloqueio: read_lock(item), write_lock(item) e unlock(item).

______________________________________________________________

CONTROLE DE CONCORRNCIA
TIPOS DE BLOQUEIOS E TABELAS DE BLOQUEIO DO SISTEMA BLOQUEIOS COMPARTILHADOS /EXCLUSIVOS (ou de leitura / gravao): (Continuao) Um bloqueio associado a um item, nesta situao, passa a possuir trs estados possveis: bloqueado para leitura, bloqueado para gravao ou desbloqueado. Um item bloqueado para leitura tambm chamado de bloqueado para compartilhamento, pois outras transaes podem ler o item. Um item bloqueado para gravao chamado bloqueado exclusivo, visto que uma nica transao mantm exclusivamente o bloqueio no item.

______________________________________________________________

CONTROLE DE CONCORRNCIA
TIPOS DE BLOQUEIOS E TABELAS DE BLOQUEIO DO SISTEMA BLOQUEIOS COMPARTILHADOS /EXCLUSIVOS (ou de leitura / gravao): (Continuao) Quando utilizamos um esquema de bloqueio compartilhado / exclusivo, o sistema deve impor as seguintes regras: 1. Uma transao precisa emitir a operao de read_lock (item) ou write_lock(item) antes que qualquer operao read_item(item) seja realizada na transao; 2. Uma transao precisa emitir a operao write_lock (item) antes que qualquer operao write_item (item) seja realizada na transao; 3. Uma transao precisa emitir a operao UNLOCK (item) aps todas as operaes read_item e write_item serem completadas ou outra transao; 4. Uma transao no emitir uma operao read_lock(item) se ela j mantiver um bloqueio de leitura (compartilhado) ou um bloqueio de gravao (exclusivo) no item.

______________________________________________________________

CONTROLE DE CONCORRNCIA
TIPOS DE BLOQUEIOS E TABELAS DE BLOQUEIO DO SISTEMA BLOQUEIOS COMPARTILHADOS /EXCLUSIVOS (ou de leitura / gravao): (Continuao) 5. Uma transao no emitir uma operao write_lock(item) se ela j mantiver um bloqueio de leitura (compartilhado) ou um bloqueio de gravao (exclusivo) no item; 6. Uma transao no emitir uma operao unlock (item) a menos que j mantenha um bloqueio de leitura (compartilhado) ou um bloqueio de gravao (exclusivo) no item. CONVERSO DE BLOQUEIO: Ocorre quando uma transao que mantm um bloqueio em um item tem permisso, sob certas condies de converter o bloqueio de um estado bloqueado para outro.

______________________________________________________________

CONTROLE DE CONCORRNCIA
GARANTINDO A SERIALIZAO PELO BLOQUEIO EM DUAS FASES Diz-se que uma transao segue o protocolo de bloqueio em duas fases se todas as operaes de bloqueio (read_lock, write_lock) precedem a primeira operao de desbloqueio na transao. Essa transao pode ser dividida em duas fases: Fase de expanso ou crescimento: Fase a qual novos bloqueios em itens podem ser adquiridos, mas nenhum bloqueio pode ser liberado; Fase de encolhimento: Fase a qual bloqueios existentes podem ser liberados, mas nenhum novo bloqueio pode ser adquirido. Inicialmente, uma transao est em fase de expanso. A transao adquire os bloqueios de que precisa. To logo a transao libera um bloqueio, a mesma entra em fase de encolhimento e no poder solicitar novos bloqueios.

______________________________________________________________

CONTROLE DE CONCORRNCIA
TCNICAS DE CONTROLE DE CONCORRNCIA Protocolo de bloqueio nico (centralizado) Um local funciona como gerenciador de locks, que administra todos os pedidos de bloqueio de dados simples, mas sujeito a falhas, e pouco escalvel Protocolo de bloqueio mltiplo (descentralizado) So usados vrios gerenciadores em diferentes locais Cada gerenciador administra os bloqueios de um conjunto de dados Evita o gargalo do protocolo centralizado Impede o acesso ao dado se o gerenciador falhar

______________________________________________________________

CONTROLE DE CONCORRNCIA
TCNICAS DE CONTROLE DE CONCORRNCIA Protocolo de Bloqueio em duas fases Um dos protocolos que garante a serializao o protocolo de bloqueio em duas fases. Esse protocolo exige que cada transao emita suas solicitaes de bloqueio e desbloqueio em duas fases: 1. Fase de expanso: Uma transao pode obter bloqueios, mas no pode liberar nenhum bloqueio; 2. Fase de encolhimento: Uma transao pode liberar bloqueios, mas no pode realizar novo bloqueio. A transao, neste caso, inicia em fase de expanso. A transao adquire os bloqueios de que precisa. To logo a transao libere um bloqueio, a mesma entra em fase de encolhimento e no poder solicitar novos bloqueios.

______________________________________________________________

CONTROLE DE CONCORRNCIA
TCNICAS DE CONTROLE DE CONCORRNCIA Protocolos com Base em Timestamp (Registro de Tempo) No protocolo citado anteriormente, a ordem entre cada par de transaes conflitantes determinada durante a execuo do primeiro bloqueio que ambas solicitam e que envolvem modos incompatveis. Outro mtodo mais usado o esquema da ordenao por timestamp. TIMESTAMP A cada transao do sistema associamos um nico timestamp fixo. Este timestamp criado pelo sistema de banco de dados antes que a transao inicie sua execuo. H duas formas simples de implementao deste esquema: Utilizar a hora do relgio do sistema (clock) como timestamp, isto , o timestamp de uma transao igual hora em que a transao entra no sistema; Utilizar um contador lgico que incrementado sempre que se usa um novo timestamp, isto , o timestamp de uma transao igual ao valor do contador no momento em que a transao entra no sistema.

______________________________________________________________

CONTROLE DE CONCORRNCIA
TCNICAS DE CONTROLE DE CONCORRNCIA Protocolos com Base em Timestamp (Registro de Tempo) Normalmente, os valores de rtulo de tempo so atribudos na ordem em que as transaes so submetidas ao sistema, de modo que um rtulo de tempo pode ser imaginado como a hora de incio da transao. As tcnicas de controle de concorrncia baseadas na ordenao por rtulo de tempo no utilizam bloqueios; LOCKS, DEADLOCKS NO podem ocorrer. O algoritmo com base em rtulos de tempo necessita garantir que, para cada item acessado pelas operaes em conflito no schedule, a ordem em que o item acessado no viola a ordem do rtulo de tempo.

______________________________________________________________

CONTROLE DE CONCORRNCIA
TCNICAS DE CONTROLE DE CONCORRNCIA Protocolos com Base em Timestamp (Registro de Tempo) Os timestamps das transaes determinam a ordem de serializao. Assim, se o Timestamp de uma transao T1 for inferior ao Timestamp de uma transao T2 , o sistema precisa garantir que a escala produzida seja equivalente a uma escala serial em que a transao T1 aparece antes da transao T2 O protocolo de ordenao por timestamp assegura que quaisquer operaes de leitura e escrita sejam executadas por ordem de timestamp. Conceitos importantes: W-timestamp => Timestamp de gravao que referencia o maior de todos os rtulos de tempo das transaes que gravaram com sucesso determinado item de dados. R-timestamp => Timestamp de leitura que referencia o maior de todos os rtulos de tempo das transaes que leram com sucesso determinado item de dados. Esses timestamps so atualizados sempre que uma nova instruo de leitura ou gravao for executada.

______________________________________________________________

CONTROLE DE CONCORRNCIA
TCNICAS DE CONTROLE DE CONCORRNCIA Protocolos com Base em Timestamp (Registro de Tempo) Esses protocolos operam da seguinte forma: 1. Suponha que uma transao T1 emita um read(comando de leitura): a) Se Timestamp desta transao T1 for inferior ao timestamp de escrita (write), ento a transao T1 precisa ler um valor que j foi sobreposto. Isto deve ser feito porque alguma transao mais recente com rtulo de tempo maior que a transao T1 - e, portanto, posterior a T1 na ordenao de rtulo de tempo - j gravou o valor o item de dados antes que a transao T1 tivesse a chance de ler o item de dados. b) Se o Timestamp da transao T1 for maior ou igual ao timestamp de gravao, ento a operao de leitura e executada e o timestamp de leitura recebe o maior valor entre o timestamp de leitura e o timestamp da transao T1.

______________________________________________________________

CONTROLE DE CONCORRNCIA
TCNICAS DE CONTROLE DE CONCORRNCIA Protocolos com Base em Timestamp (Registro de Tempo) 2. Suponha que uma transao T1 emita um write(comando de gravao): a) Se Timestamp desta transao T1 for inferior ao timestamp de leitura (read), ento o valor que a transao T1 est produzindo foi necessrio antes e o sistema assumiu que aquele valor nunca foi produzido. Logo, a operao de gravao rejeitada e a transao T1 desfeita. b) Se o Timestamp da transao T1 for inferior ao timestamp de gravao, ento a transao T1 est tentando gravar um valor obsoleto. Logo, essa operao de gravao rejeitada e desfeita.

______________________________________________________________

CONTROLE DE CONCORRNCIA
TCNICAS DE CONTROLE DE CONCORRNCIA Regra de Gravao de Thomas uma variao do algoritmo de ordenao de Rtulo de tempo (Timestamp) que no impe a serializao por conflito, mas rejeita menos operaes de gravao e aumenta a concorrncia em potencial em relao ao protocolo de Timestamp. Uma modificao permite que operaes write que so obsoletas sejam ignoradas sob certas condies: Quando determinada transao T1 tenta gravar um dado e o Timestamp da transao T1 menor que o Timestamp de gravao, conclui-se, portanto, que a transao T1 est tentando gravar um valor obsoleto. Ao invs de abortar T1, a operao de gravao poder ser ignorada.

______________________________________________________________

CONTROLE DE CONCORRNCIA
TCNICAS DE CONTROLE DE CONCORRNCIA Tcnicas de concorrncia Multiverso Permitem que um dado tenha vrios valores: Operaes de gravao criam novas verses do dado; Quando feita a leitura, o SGBD escolhe a verso do dado que ser lida de modo a garantir a serializao; Operaes de leitura no precisam aguardar, pois sempre h uma verso do dado pronta para ser lida; Protocolo determina como as verses so utilizadas; Protocolos com base em mltiplas verses: o Multiverso com ordenao por timestamps o Multiverso com bloqueio em duas fases Garantem a criao de escalas serializveis.

______________________________________________________________

CONTROLE DE CONCORRNCIA
TCNICAS DE CONTROLE DE CONCORRNCIA Tcnicas de concorrncia Multiverso (Continuao) Uma desvantagem das tcnicas de multiverso a necessidade de mais armazenamento objetivando manter vrias verses dos itens do banco de dados Tcnicas de Multiverso baseadas em Timestamp Nesse mtodo diversas verses de cada item de dados so mantidas. Para cada verso, o valor da verso e os dois rtulos de tempo so mantidos: 1. Timestamp de leitura do item de dados: O rtulo de tempo de leitura do item de dados o maior de todos os rtulos de tempo de transaes que leram a verso de determinado item de dados com sucesso; 2. Timestamp de gravao do item de dados: O rtulo de tempo da transao que gravou o valor de determinada verso do item de dados.

______________________________________________________________

CONTROLE DE CONCORRNCIA
TCNICAS DE CONTROLE DE CONCORRNCIA Tcnicas de Multiverso baseadas em Timestamp (Continuao) Para garantir a serializao, as seguintes regras so utilizadas: 1. Se a transao T emitir uma operao write_item(X) e a verso i de X tiver o write_TS(X) mais alto de todas as verses de X que tambm seja menor ou igual a TS(T), e read_TS(Xi) > TS(T), ento aborte e retroceda a transao T; caso contrrio, crie uma nova verso Xi de X com read_TS(Xi) = write_TS(Xi) = TS(T); 2. Se uma transao T emitir uma operao read_item(X), determine a verso i de X que tem o write_TS(Xi) mais alto de todas as verses de X que tambm seja menor ou igual a TS (T); depois, retorno o valor de Xi transao T, e defina o valor de read_TS(Xi) ao maior de TS(T) e o read_TS(Xi) atual.

______________________________________________________________

CONTROLE DE CONCORRNCIA
TCNICAS DE CONTROLE DE CONCORRNCIA Tcnicas de Multiverso baseadas em Timestamp (Continuao) Conforme item 2, um read_item(X) sempre tem sucesso, pois encontra a verso apropriada Xi, para ler com base no write_TS de diversas verses existentes de X. No caso 1, porm, a transao T pode ser abortada e retrocedida. Isso acontece se T tentar gravar uma verso de X que deveria ter sido lida por outra transao T2 cujo rtulo de tempo read_TS(Xi); no entanto, T2 j leu a verso X2, que foi gravada pela transao com rtulo de tempo igual a write _TS(Xi). Se houver esse conflito, T retrocedida; caso contrrio, uma nova verso de X, gravada pela transao T, criada.

______________________________________________________________

CONTROLE DE CONCORRNCIA
TCNICAS DE CONTROLE DE CONCORRNCIA Tcnicas de Multi-verso com bloqueio em duas fases o Usa timestamps e contador de commits (ts-counter) o Distingue transaes de atualizao e somente leitura o Transao de atualizao (update) o Faz o bloqueio em duas fases o Cada write cria uma nova verso Qk do dado com TS(Qk) = ts-counter quando faz o commit o Transao somente leitura (read-only) o No precisa manter bloqueios at o final o TS(T) = ts-counter no momento que ela se inicia o L a verso do dado com o maior TS(Qk) TS(T)

______________________________________________________________

CONTROLE DE CONCORRNCIA
TCNICAS DE CONTROLE DE CONCORRNCIA Tcnicas de Multi-verso com bloqueio em duas fases o TABELA DE COMPATIBILIDADE DE BLOQUEIO NO ESQUEMA LEITURA / GRAVAO
LEITURA LEITURA GRAVAO SIM NO GRAVAO NO NO

______________________________________________________________

CONTROLE DE CONCORRNCIA
TCNICAS DE CONTROLE DE CONCORRNCIA Tcnicas de Multi-verso com bloqueio em duas fases o TABELA DE COMPATIBILIDADE DE BLOQUEIO NO ESQUEMA DE MULTI-VERSO COM LEITURA / GRAVAO / CERTIFICAO
LEITURA
LEITURA GRAVAO CERTIFICAO SIM SIM NO

GRAVAO
SIM NO NO

CERTIFICAO
NO NO NO

______________________________________________________________

CONTROLE DE CONCORRNCIA
TCNICAS DE CONTROLE DE CONCORRNCIA Tcnicas de Multi-verso com bloqueio em duas fases o A idia relacionada multi-verso com bloqueio em duas fases permitir que outras transaes leiam um item X enquanto uma nica transao mantm um bloqueio de leitura do item X. Tal processo possvel ao permitir duas verses para cada item X.

______________________________________________________________

CONTROLE DE CONCORRNCIA
TCNICAS DE CONTROLE DE CONCORRNCIA Tcnicas de controle de concorrncia baseadas em Validao oTcnica na qual atualizaaes de uma transao Tx so feitas sobre cpias locais dos dados oQuando Tx solicita commit, feita a sua validao Tx violou a seriabilidade? SIM: Tx e abortada e reiniciada posteriormente NO: atualiza o BD a partir das cpias dos dados e encerra Tx

______________________________________________________________

CONTROLE DE CONCORRNCIA
TCNICAS DE CONTROLE DE CONCORRNCIA Tcnicas de controle de concorrncia baseadas em Validao Cada transao Tx passa por 3 fases: 1. Leitura Tx l dados de transaes committed do BD e atualiza dados em cpias locais 2. Validao Anlise da manuteno da seriabilidade de conflito caso as atualizaes de Tx sejam efetivadas no BD 3. Escrita Se fase de Validao for OK, aplica-se as atualizaes de Tx no BD e Tx encerra com sucesso; caso contrrio, Tx abortada

______________________________________________________________

CONTROLE DE CONCORRNCIA
TCNICAS DE CONTROLE DE CONCORRNCIA Tcnicas de controle de concorrncia baseadas em Validao Duas listas de dados so mantidas para Tx lista-READ(Tx) : conjunto de dados os quais Tx fez leitura lista-WRITE(Tx): conjunto de dados que Tx atualizou Trs timestamps so definidos para Tx TS-Start(Tx): incio da fase de leitura de Tx TS-Validation(Tx): incio da fase de validao de Tx TS-Finish(Tx): trmino da fase de escrita de Tx

______________________________________________________________

CONTROLE DE CONCORRNCIA
TCNICAS DE CONTROLE DE CONCORRNCIA Tcnicas de controle de concorrncia baseadas em Validao Vantagens o Reduz o overhead durante a execuo de Tx o Evita aborto em cascata o Tx no grava no BD antes de suas atualizaes serem validadas em memria Desvantagens Se houve interferncia entre Tx e outras transaees (isso no esperado pois a tcnica otimista), isso descoberto somente ao final da execuo de Tx (na validao) e s aps essa validao Tx pode ser reiniciada.

______________________________________________________________

CONTROLE DE CONCORRNCIA
TCNICAS DE CONTROLE DE CONCORRNCIA DEADLOCK O deadlock (impasse) ocorre quando cada transao em um conjunto de duas ou mais transaes est esperando por algum item que est bloqueado por alguma outra transao no conjunto. Logo, cada transao no conjunto est em uma fila de espera, aguardando que uma das outras transaes no conjunto libere o bloqueio em um item. Mas, como a outra transao tambm est esperando, ela nunca liberar o bloqueio.

______________________________________________________________

CONTROLE DE CONCORRNCIA
TCNICAS DE CONTROLE DE CONCORRNCIA DEADLOCK Tcnicas para Controle de Deadlock Preveno de deadlock Evita os deadlocks antes que estes ocorram Prefervel se a probabilidade de ocorrerem deadlocks for muito alta Deteco e recuperao de deadlock No evita os deadlocks, mas os detecta e impede o bloqueio indefinido das transaes envolvidas Mais eficiente se ocorrerem poucos deadlocks Rollback pode ser necessrio independentemente da tcnica utilizada

______________________________________________________________

CONTROLE DE CONCORRNCIA
TCNICAS DE CONTROLE DE CONCORRNCIA DEADLOCK Preveno de Deadlock Usurio deve sempre acessar dados na mesma ordem Estratgias de preveno usadas por SGBDs Esperar-morrer: Ti s espera um dado mantido por Tj se esta for mais nova; caso contrrio Ti aborta; Ferir-esperar: Ti somente espera um dado mantido por Tj se esta for mais antiga; caso contrrio ela obriga Tj a abortar e liberar o dado (Ti fere Tj); Timeout: pedido de bloqueio possui um tempo mximo de espera; se o dado no for liberado neste tempo, a transao abortada e reiniciada

______________________________________________________________

CONTROLE DE CONCORRNCIA
TCNICAS DE CONTROLE DE CONCORRNCIA DEADLOCK Deteco de Deadlock Algoritmo verifica estado do sistema periodicamente para determinar se transaes esto em deadlock O sistema precisa manter informaes sobre a alocao dos dados e as solicitaes pendentes Deadlocks podem ser detectados usando grafos de espera, nos quais um ciclo indica um deadlock

______________________________________________________________

CONTROLE DE CONCORRNCIA
TCNICAS DE CONTROLE DE CONCORRNCIA DEADLOCK Recuperao de Deadlock Aps detectar o deadlock, precisamos abortar uma transao para quebrar o ciclo de espera Devemos escolher a transao em funo do custo do rollback, determinado em funo do: o Tempo que a transao est em processamento o Tempo necessrio para concluso da transao o Nmero de acessos a dados j efetuados o Nmero de acessos a dados que faltam p/ concluir o Nmero de transaes a recuperar em cascata o Nmero de abortos sofridos (para evitar inanio)

Vous aimerez peut-être aussi