Eu tenho 5 nós de máquinas conectados em um sistema de dados distribuído Cassandra. Eu configurei o fator de replicação como 3.
Eu entendi que para uma replicação de 3, os dados serão distribuídos em 3 nós com base na disponibilidade dos nós coordenadores. Quando verifico nós individuais, as contagens de linhas são diferentes. Transferi cerca de 100 mil linhas de csv para cassandra. Isso significa que tenho que fazer contagens de linha para todos os nós juntos para obter os resultados? Estou usando dsbulk para verificar a contagem de linhas.
Estou perdendo alguma coisa aqui?
Com 5 nós, um RF de 3 e 100.000 linhas carregadas de dados brutos - assumindo que nenhuma mutação foi descartada, haverá um total geral de 300.000 linhas de dados espalhados pelos 5 nós. (o RF de 3 x 100k).
Você mencionou que os dados são espalhados com base no
coordinator nodes availability
- mas é baseado no hash consistente da chave de partição da linha, quanto a quais nós mantêm as réplicas.A probabilidade é que, ao usar DSBulk, você esteja usando o nível de consistência padrão de local_one ( https://docs.datastax.com/en/dsbulk/docs/reference/driver-options.html#datastaxJavaDriverBasicRequestConsistency ) e que houve mutações descartadas na carga. Altere o nível de consistência para pelo menos local_quorum/repare o cluster para trazê-lo de volta a um estado consistente.