Recuperação de página
Diferentes membros em uma Db2 pureScale® podem precisar de acesso a uma página de dados que outro membro já esteja usando. O processo pelo qual um membro solicita e recebe uma página sendo usada por outro membro é conhecido como recuperação de página.
Se diferentes membros requererem acesso à mesma página de dados, o recurso de armazenamento em cache do cluster gerenciará qual membro acessa a página e quando. Em alguns casos, o recurso de armazenamento em cache do cluster (também conhecido como CF) pode permitir que um membro recupere a página de outro membro antes que outro membro seja concluído com ele. O exemplo a seguir ilustra como ocorre a recuperação de página:
- M1 está fazendo uma atualização em uma linha R1 em uma página de dados. É concedido acesso exclusivo à página contendo essa linha de dados.
- M2 requer um exclusivo para a mesma página para atualizar a linha R2. Ele transmite essa solicitação para o CF M2 aguarda enquanto o pedido é processado.
- O CF vê que member M1 já possui um acesso exclusivo à página. Ele emite uma solicitação para M1 para recuperar a página Enquanto isso, M2 aguarda.
- M1 processa a solicitação de recuperação gravando a página de volta para o GBP e, em seguida, liberando a página. (M1 retém quaisquer bloqueios de linha ou tabela que ele possa ter.)
- O CF concede ao M2 acesso à página M2 lê a página do GBP para executar quaisquer operações para as quais a página é necessária.
É importante observar que, conforme indicado na etapa 4, quaisquer bloqueios que um membro possui em linhas ou tabelas para fins de atualizações são retidas até que a unidade de trabalho seja concluída, mesmo que outro membro recupere e comece a usar a página antes do final dessa unidade de trabalho. Dessa forma, diferentes membros podem trabalhar com a mesma página de dados sem comprometer a integridade do bloqueio. Se acontecer que dois membros requerem bloqueios de linha incompatíveis para a mesma linha de dados, então, como é o caso com o gerenciamento de bloqueio em um único membro, um membro deve concluir seu processamento antes que o segundo possa continuar.