Controle de concorrência implementado pelo postgresql

Páginas: 11 (2727 palavras) Publicado: 13 de junho de 2013
Mecanismos de controle de concorrˆ ncia implantados pelo e PostgreSQL
David F. da Silva Gabriela B. Meurer Heric Miranda Sabrina Johanson
1

Instituto Federal Catarinense - Campus Araquari - (IFC-CA)

Resumo. O PostgreSQL mant´ m a consistˆ ncia dos dados utilizando o mode e elo MVCC, isso permite que cada transacao enxergue uma vers˜ o do banco de ¸˜ a dados. N´veis de isolamento detransacoes foram definidos para controlar a ı ¸˜ concorrˆ ncia, s˜ o eles: Read uncommitted, Read committed, Repeatable read e e a Serializable, os n´veis de isolamento usados no PostgreSQL s˜ o: Read commitı a ted e Serializable.

1. Introducao ¸˜
´ A t´ cnica de controle de concorrˆ ncia mais utilizada pelos SGBD’s e o bloqueio (lock), e e por´ m o PostgreSQL mant´ m os dados consistentes utilizandoo modelo MVCC - Mule e tiversion Concurrence Control. Esse modelo permite que cada transacao enxergue uma ¸˜ vers˜ o do banco de dados (SNAPSHOT), isso impede que dados inconsistentes sejam a visualizados. ´ A diferenca entre o lock e o MVCC, e que no MVCC a os bloqueios de escrita n˜ o ¸ a conflitam com os bloqueios de leitura, assim a escrita de dados nunca bloqueia a execucao ¸˜ da leitura dedados e vice versa. Para controlar a concorrˆ ncia nos SGBD’s foram definidos quatro n´veis de isoe ı lamento de transacoes: Read uncommitted, Read committed, Repeatable read e Serializ¸˜ able. O PostgreSQL utiliza os n´veis Read committed e Serializable, por´ m ele tamb´ m ı e e oferece a possibilidade de utilizar bloqueios.

2. N´veis de Isolamento de Transacoes ı ¸˜
Em banco de dados, o n´velde isolamento de transacao mede a independˆ ncia de uma ı ¸˜ e transacao em relacao aos dados lidos, que podem ser alterados por outras transacoes ¸˜ ¸˜ ¸˜ concomitantemente. Enquanto uma transacao lˆ os dados de determinadas linhas, outra ¸˜ e transacao pode estar alterando os mesmos dados, o que prejudica a integridade dessas ¸˜ consultas. ´ O n´vel de isolamento e escolhido pelo programador,essa escolha requer uma ı an´ lise do banco de dados para definir o n´vel mais adequado a situacao. N´veis de isoa ı ¸˜ ı lamento muito altos possibilitam a ocorrˆ ncia de deadlock de recurso, por esse motivo e n´veis mais baixos muitas vezes tornam o funcionamento mais simples. ı O padr˜ o SQL define quatro n´veis de isolamento, o PostgreSQL disponibiliza a ı os n´veis de isolamento read committed eserializable (serializ´ vel). Esses n´veis s˜ o ı a ı a definidos levando em consideracao os trˆ s problemas que podem ocorrer: ¸˜ e

N´vel de isolamento Dirty Read Nonrepeatable Read Phantom Read ı Read uncommitted Poss´vel ı Poss´vel ı Poss´vel ı Read committed Imposs´vel ı Poss´vel ı Poss´vel ı Repeatable read Imposs´vel ı Imposs´vel ı Poss´vel ı Serializable Imposs´vel ı Imposs´vel ıImposs´vel ı • Read (Leitura suja): A transacao lˆ dados n˜ o efetivados (que n˜ o existem oficial¸˜ e a a mente na base de dados) escritos por outra transacao. ¸˜ • Nonrepeatable Read (Leitura que n˜ o pode ser repetida): Uma transacao lˆ um a ¸˜ e dado e logo em seguida outra transacao modifica esses mesmos dados. A transacao ¸˜ ¸˜ n˜ o poder´ ler os dados anteriores novamente. a a • Phantom Read (Leiturafantasma): Uma transacao lˆ os dados que satisfazem a ¸˜ e determinadas condicoes e em seguida outra transacao modifica ou adiciona dados ¸˜ ¸˜ que passam a satisfazer a condicao. Quando a transacao fizer a consulta nova¸˜ ¸˜ mente, obter´ resultados diferentes. a 2.1. N´vel de isolamento de transacao Read Committed ı ¸˜ ´ O Read Committed e o n´vel padr˜ o do PostgreSQL. Utilizando o comandoSELECT ı a neste n´vel de isolamento nunca s˜ o enxergados dados n˜ o efetivados pelo banco de dados, ı a a somente os dados efetivadas antes da consulta comecar s˜ o vistos. Quando uma transacao ¸ a ¸˜ tem dois SELECT’s e os dados s˜ o modificados por outra transacao durante o primeiro a ¸˜ SELECT, os dois SELECT’s enxergar˜ o dados diferentes. a ´ Quando uma linha e atualizada ou exclu´da por uma...
Ler documento completo

Por favor, assinar para o acesso.

Estes textos também podem ser interessantes

  • controle de concorrencia
  • Controle de Concorrência
  • Controle de Concorrência
  • Controle de Concorrencia
  • 2 Controle De Concorrencia
  • Conceitos de controle de concorrência
  • Controle de concorrência oracle
  • Artigo 2013 Controle De N Vel Utilizando Algoritmo PID Implementado No CLP

Seja um membro do Trabalhos Feitos

CADASTRE-SE AGORA!