Cache Sequencial

É possível configurar em cache sequencial para um backend de banco de dados ou como um cache secundário para um banco de dados. O armazenamento em cache sequencial utiliza o eXtreme Scale como o meio principal de interação com os dados. Quando o eXtreme Scale é usado como um cache sequencial, o aplicativo interage com o backend usando um plug-in Loader.

Cache Sequencial

Quando usado como um cache sequencial, o WebSphere eXtreme Scale interage com o backend usando um plug-in Loader. Este cenário pode simplificar o acesso a dados porque os aplicativos podem acessar as APIs do eXtreme Scale diretamente. Vários cenários de armazenamento em cache diferentes são suportados no eXtreme Scale para garantir que os dados no cache e os dados no backend sejam sincronizados. O diagrama a seguir ilustra como um cache sequencial interage com o aplicativo e o back end.
Figura 1. Cache Sequencial
Cache sequencial: Um plug-in Loader é usado para integrar entre o banco de dados e a grade de dados. O aplicativo acessa a grade de dados.
A opção de armazenamento em cache em linha simplifica o acesso aos dados pois ela permite que os aplicativos acessem diretamente as APIs do eXtreme Scale. O WebSphere eXtreme Scale suporta diversos cenários de armazenamento em cache em linha, como os seguintes:
  • Read-through
  • Write-through
  • Write-behind

Cenário de Armazenamento em Cache Read-through

Um cache read-through é um cache disperso que lentamente carrega entradas de dados por chave à medida que elas são solicitadas. Isto é feito sem exigir que o responsável pela chamada saiba quais entradas estão preenchidas. Se os dados não puderem ser localizados no cache do eXtreme Scale, o eXtreme Scale irá recuperar os dados ausentes do plug-in do utilitário de carga, que carrega os dados do banco de dados backend e insere os dados no cache. Pedidos subsequentes para a mesma chave de dados serão localizados no cache até que ele possa ser removido, invalidado ou despejado.
Figura 2. Armazenamento em Cache Read-through
armazenamento em cache read-through com um utilitário de carga

Cenário de Armazenamento em Cache Write-through

Em um cache write-through, cada gravação no cache é gravada de maneira síncrona no banco de dados utilizando o Utilitário de Carga. Este método fornece consistência com o backend, mas diminui o desempenho de gravação pois a operação do banco de dados é síncrona. Como o cache e o banco de dados são ambos atualizados, as leituras subsequentes para os mesmos dados serão localizadas no cache, evitando a chamada do banco de dados. Um cache write-through sempre é utilizado em conjunto com um cache read-through.
Figura 3. Armazenamento em Cache Write-through
armazenamento em cache write-through com um utilitário de carga

Cenário de Armazenamento em Cache Write-behind

A sincronização do banco de dados pode ser aprimorada pela gravação de alterações de maneira assíncrona. Isto é conhecido como um cache write-behind ou write-back. Alterações que normalmente poderiam ser gravadas de maneira síncrona no utilitário de carga são, ao invés disso, armazenadas em buffer no eXtreme Scale e gravadas no banco de dados utilizando um encadeamento secundário. O desempenho de gravação é significativamente aumentado pois a operação do banco de dados é removida da transação do cliente e as gravações do banco de dados podem ser compactadas.
Figura 4. Armazenamento em Cache Write-behind
Armazenamento em cache write-behind com um utilitário de carga