Porquê utilizar Cache?
Quanto mais informações você tiver em um banco de dados, mais lento ele se tornará com o tempo. Mesmo os sistemas de gerenciamento de banco de dados que são bem projetados para suportar muitas solicitações simultâneas acabarão atingindo seu limite.
O cache do banco de dados é uma das estratégias mais comuns para lidar com esses problemas de desempenho. O armazenamento em cache envolve salvar os resultados das consultas ao banco de dados em um local mais rápido e fácil de acessar. Quando feito corretamente, o armazenamento em cache reduzirá os tempos de resposta de consulta, diminuirá a carga em seus bancos de dados e cortará custos.
No entanto, os caches também precisam ser manuseados com cuidado porque, essencialmente, fazem outra cópia de suas informações em um local separado. Manter o banco de dados e o cache sincronizados e atualizados pode ser um desafio mais complicado do que o esperado. Na próxima seção, discutiremos algumas das estratégias de cache de banco de dados mais comuns.
Estratégia de cache Read-Through
No cache Read-Through, o aplicativo primeiro consulta o cache para ver se as informações necessárias estão dentro dele. Caso contrário, ele recupera as informações do banco de dados e as utiliza para atualizar o cache. O provedor de cache ou biblioteca de cache é responsável pela lógica detalhada de consulta e atualização do cache.
A estratégia Read-Through funciona melhor para cargas de trabalho com muita leitura quando o aplicativo solicita os mesmos dados repetidamente: por exemplo, um site de notícias que carrega os mesmos artigos repetidamente.
Uma desvantagem da estratégia de read-through é que a primeira consulta ao cache sempre resultará em uma falta, porque é garantido que as informações solicitadas não estarão dentro. Para lidar com esse problema, os desenvolvedores geralmente “aquecem” o cache com antecedência com informações que os usuários provavelmente solicitarão.
Estratégia de Cache Write-Through
No cache write-through, as atualizações são feitas primeiro no cache e depois no banco de dados. Existe uma linha direta do aplicativo para o cache e do cache para o banco de dados. Quando combinada com o cache de leitura, uma estratégia de gravação garante que seus dados sejam consistentes, eliminando a necessidade de invalidação manual do cache.
Estratégia de Cache Write-Behind
No cache write-behind (também conhecido como cache write-back), o aplicativo primeiro grava os dados no cache. Após um período de atraso definido, o cache também grava essas informações no banco de dados. Caches write-behind são melhores para cargas de trabalho pesadas de gravação e podem funcionar bem mesmo com algumas falhas e tempo de inatividade.