Computaçao
Introdução aos conceitos e teoria de processamento de transações
Atualizações em BD
• Cache do SGBD é um conjunto de buffers dentro da memória controlada pelo SGBD • Blocos do disco são transferidas para buffers do cache para serem lidos e atualizados
2
Atualizações em BD
• Atualizações (Ex: INSERT, UPDATE ou DELETE) ocorrem primeiro no cache do SGBD • Para cada buffer, existe um bit de sujeira (dirty bit) que indica se o buffer foi ou não alterado
Cache SGBD alterado x Blocos modificados Bit sujeira = 1
alterado
x
3
Atualizações em BD
• Dois eventos do SGBD podem gravar os blocos alterados no disco
– CHECKPOINT – Rotina de substituição de blocos do cache
Cache SGBD alterado x Blocos modificados Bit sujeira = 1
alterado
x
4
Atualizações em BD
• CHECKPOINT
– Periodicamente, os blocos alterados (em que o bit de sujeira for 1), são gravados em disco – Blocos não são substituídos e nem o espaço é liberado
5
Atualizações em BD
• Rotina de substituição de blocos do cache
– Periodicamente, quando os buffers estão cheios é aplicada uma política de substituição de blocos – Antes da substituição de um bloco no buffer, é necessário antes regravar em disco, os blocos alterados em que o bit de sujeira for 1
6
Atualizações em BD
• O uso do cache para gravação dos dados antes enviar para o disco visa melhorar o desempenho do banco de dados • No entanto, como tratar algumas situações
– Dados foram atualizados no cache, mas não foram enviados para o disco
• Exemplo: INSERT de linhas feito no cache e falha no banco de dados
– Dados foram enviados para o disco, mas o comando não foi concluído
• Exemplo: UPDATE em todas as linhas de uma tabela muito grande não realizado devido a falha
7
Transação
• Transação é uma unidade lógica de processamento de operações sobre um banco de dados • Uma transação é formada por uma seqüência de operações que precisam ser executadas integralmente para garantir