O SGBD manterá na cache do banco de dados (memória RAM) uma série de buffers de dados. Cada buffer costuma manter o conteúdo de um bloco de disco do banco de dados, que contém alguns dos itens de banco de dados que estão sendo processados. Quando esses buffers estão todos ocupados, e blocos de disco de banco de dados adicionais devem ser copiados para a memória, alguma política de substituição de buffer é utilizada para escolher quais buffers atuais devem ser substituídos.

Se um buffer escolhido tiver sido modificado, ele precisa ser gravado de volta no disco antes de ser reutilizado. Entretanto, a execução de um comando do tipo COMMIT força a gravação física dos dados no disco.

Uma transação inclui operações read_item() e write_item() para acessar e atualizar o banco de dados. O conjunto de leitura de uma transação é o conjunto de todos os itens que a transação lê, e o conjunto de gravação é o conjunto de todos os itens que a transação grava.

Os mecanismos de controle de concorrência e recuperação tratam principalmente dos comandos de banco de dados em uma transação. As transações submetidas pelos diversos usuários podem ser executadas simultaneamente, acessar e atualizar os mesmos itens de banco de dados. Se essa execução simultânea for descontrolada, ela pode ocasionar problemas, como um banco de dados inconsistente.

Na próxima seção, apresentamos de maneira informal alguns dos problemas que podem ocorrer.

Copyright © 2016 AIEC.