Cassandra: entendendo o fator de replicação

4

Situação hipotética:

  1. Configure um cluster de cassandra com N nós.
  2. Crie um espaço para chaves e defina replication_factor para 1 e use SimpleStrategy .
  3. Adicione alguns dados.
  4. Remove 1 nó.

Isso significa que 1 / N dos dados estão ausentes?

    
por ethrbunny 09.11.2014 / 14:09

2 respostas

5

Para pedidos de leitura, sim, é isso que significa. Um fator de replicação de 1 geralmente é algo que você não quer com a cassandra (a menos que você tenha um único nó).

Fatores de replicação mais altos proporcionam melhor resiliência, mas o parâmetro principal que determina a disponibilidade de linhas é, na verdade, o nível de consistência (que é específico da consulta).

Para solicitações de gravação, o nível de consistência ANY tornaria o cluster um tipo de solicitação, mesmo se o destino selecionado para a linha estivesse ausente (como tentaria usar a transferência sugerida para confirmar as gravações posteriormente).

    
por 09.11.2014 / 16:11
2

Você não nos disse como o nó é removido, se você usar o comando nodetool, os dados no nó serão enviados para outros nós antes de sua remoção. Então você manterá seus dados.

Veja link

Se o seu nó falhar:

  • para solicitações de leitura, seus dados são perdidos
  • para solicitações de gravação:
    • para um problema curto como uma falha de rede, seu cluster (o coordenador de cada solicitação) manipulará dados desse nó até que ele reapareça, usando o recurso HintedHandoff
    • para um problema mais longo ou permanente, você precisa reorganizar o cluster para garantir novamente o 1 / N do modo correto, consulte link
por 29.01.2015 / 18:30

Tags