Temos 9 servidores físicos, cada servidor possui 4 discos físicos, o que significa que temos um total de 36 discos físicos, cada um relacionado a um nó Cassandra.
Gostaríamos de ter uma replicação de 3 em todo o cluster, de uma forma que nos permitisse perder um servidor (4 discos físicos) sem perder dados.
Estávamos pensando em fazer três racks diferentes, cada rack com 3 de nossos servidores físicos. Meu entendimento é que, se eu tiver um keyspace com RF=3, um conjunto de dados deverá ser replicado 3 vezes no cluster.
Minha pergunta é: esses dados serão replicados 3 vezes dentro de cada rack ou serão replicados uma vez em cada rack (tendo 3 racks)? o que devo fazer/como devo configurar meu cluster e meu keyspace para que os dados sejam replicados exatamente uma vez para cada um de nossos três racks?
Como expliquei em sua outra pergunta sobre como funciona a replicação , Cassandra escolherá réplicas com base na topologia se o keyspace estiver configurado de
NetworkTopologyStrategy
forma que cada um dos três racks no DC tenha uma cópia dos dados.A ideia por trás disso é que se algum dos nós em um rack Cassandra estiver indisponível por qualquer motivo, 2 outras cópias (réplicas) nos outros 2 racks estarão disponíveis para atender solicitações de consistências de
LOCAL_ONE
ouLOCAL_QUORUM
.Para responder explicitamente à segunda parte da sua pergunta, Cassandra NÃO armazenará 3 cópias dos dados em cada rack - apenas UMA cópia por rack. Saúde!