No post anteriorNa seção "Replicas de índice", vimos os benefícios de usar réplicas de índice em vez de índices equivalentes. Digamos que você esteja usando o Couchbase Server 4.x e tenha os seguintes 3 índices equivalentes espalhados por 3 nós; e com o Couchbase 5.0 Beta disponível, você deseja migrar esses índices equivalentes para réplicas de índice.
1 2 3 4 5 6 |
//índices equivalentes ao antigo 4.x criar índice eq_index1 em balde(campo1); criar índice eq_index2 em balde(campo1); criar índice eq_index3 em balde(campo1); |
Observação: se você quiser usar os mesmos nós para criar as réplicas, certifique-se de que eles tenham os recursos de memória e computação necessários para que as réplicas de índice e os índices equivalentes coexistam.
Etapa 1: dispare a seguinte consulta com o parâmetro num_replica sendo 2, já que anteriormente tínhamos 3 cópias do índice e queremos manter a mesma topologia de índices.
1 |
criar índice eq_index em balde(campo1) com {"num_réplica":2} |
Se você estiver trazendo um novo conjunto de 3 nós de índice, poderá também especificar a instrução "create index" com o parâmetro "nodes" definido; por exemplo:
1 |
criar índice eq_index em balde(campo1) com {"nós" ["10.10.10.1:9001", "10.10.10.2:9002", "10.10.10.3:9003"]} |
Etapa 2: após a conclusão da Etapa 1 e quando todas as réplicas de índice forem criadas e estiverem on-line (ou seja, a criação do índice foi concluída), elimine os índices equivalentes antigos da versão 4.x presentes.
1 2 3 |
queda índice eq_index1; queda índice eq_index2; queda índice eq_index3; |
Pronto!!! Suas consultas N1QL estão todas configuradas para usar as réplicas de índice e também não houve tempo de inatividade do aplicativo durante o processo. Se você tiver usado a diretiva "USE INDEX" na consulta N1QL, ela precisará ser atualizada com o novo nome do índice.
Os índices equivalentes ainda são compatíveis com o Couchbase Server 5.0, e uma combinação de índices equivalentes e réplicas também funciona, ou seja, as consultas N1QL teriam um equilíbrio de carga entre índices equivalentes e réplicas, mas, para um gerenciamento eficiente, as réplicas de índices são recomendadas em vez de índices equivalentes.
Se você ainda não o fez, clique aqui para fazer download do Couchbase Server 5.0 e brincar com as réplicas de índice.
Bom blog, Venkat. Posso aumentar o num_replica na versão 5.1 sem recriar o índice?
Obrigado, Hemant. No momento, isso não é possível. O ALTER INDEX (introduzido na versão 5.5) permite que você altere o posicionamento dos índices.