O gerenciador do cache também precisa realizar uma atividade importantíssima: assegurar que as informações presentes no cache são exatamente as mesmas presentes no disco. Normalmente, o processador do SGBD tem acesso à quais dados estão armazenados no cache, e sempre que um dado é atualizado em disco, ele sinaliza à área de cache que determinado dado foi alterado. Se essa informação alterada é uma informação que estava na área de cache, então o cache atualiza com a nova informação, garantindo a sincronia entre disco e área de cache. Exemplo
Vamos ver, na prática, como isso funciona.
Suponha que sua organização possua um sistema e-Commerce e que várias pessoas normalmente consultam vários produtos a todo momento. O gerenciador de cache poderia, por exemplo, armazenar toda a tabela de produtos na memória cache, dessa forma, cada vez que um novo potencial cliente consulta um produto, ao invés de buscar os dados desse produto no disco rígido, o SGBD informaria os dados que já estão no cache.
Suponha agora que um operador do sistema na organização altere o preço de um determinado produto. Ao realizar a operação de UPDATE, o processador do SGBD iria informar ao gerenciador de cache que os dados daquele produto foram mudados, e com isso aquele registro ficaria sinalizado como não sincronizado. Note que todos os demais produtos estão sincronizados na memória cache, apenas um produto não está. O gerenciador da cache continua a trabalhar normalmente, oferecendo as informações dos produtos que estão sincronizados no cache para os usuários.
Suponha que no disco exista uma informação A e que o cache também possua essa informação A. Ao alterar a informação do disco de A para B, o gerenciador de cache detecta a mudança e faz nova leitura para atualizar o valor da cache de A para B também, sincronizando ambas informações. Entretanto, se o dado B estiver em memória RAM, o controlador do cache não lê o dado do disco, mas sim da própria memória RAM, evitando assim um acesso a disco desnecessário.
X