Controle de concorrência implementado pelo 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 de transacoes 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 …exibir mais conteúdo…
Isso impede que ocorra um Dirty Read, transacoes de leitura devem esperar as ¸˜ atualizacoes serem efetivadas. ¸˜ ´ O n´vel de isolamento Read Committed e adequado para aplicacoes menores, ı ¸˜ ´ por´ m quando e necess´ rio garantir uma vis˜ o completa e rigorosa do banco de dados e a a ´ e aconselh´ vel utilizar um n´vel mais alto. a ı 2.2. N´vel de isolamento serializ´ vel ı a ´ E o n´vel mais rigoroso de isolamento da transacao. Ele emula a execucao serial da ı ¸˜ ¸˜ transacao, como se todas as transacoes fossem executadas uma ap´ s a outra, em s´ rie, em ¸˜ ¸˜ o e vez de concorrentemente. Quando uma transacao est´ no n´vel serializ´ vel, o comando SELECT enxerga ¸˜ a ı a apenas os dados efetivados antes da transacao comecar; nunca enxerga dados n˜ o efetiva¸˜ ¸ a dos ou mudancas efetivadas durante a execucao da transacao por transacoes concorrentes. ¸ ¸˜ ¸˜ ¸˜ ´ Isto e diferente do Read Committed, porque o comando SELECT enxerga um instantˆ neo a do in´cio da transacao, e n˜ o do in´cio do comando corrente dentro da transacao. Portanto, ı ¸˜ a ı ¸˜ comandos SELECT’s sucessivos dentro de uma mesma transacao sempre enxergam os ¸˜ mesmos dados. Os comandos UPDATE, DELETE E SELECT FOR UPDATE, se comportam do mesmo modo que o SELECT para encontrar as linhas de destino. As transacoes ¸˜ apenas de leitura nunca ocasionam conflito de serializacao. ¸˜ O modo serializ´ vel fornece uma garantia rigorosa que cada transacao enxerga a ¸˜ apenas vis˜