Cassandra Archiarquitetura e fator de replicação
Cassandra é projetado para lidar com Big Data. CassandraA principal característica do é armazenar dados em vários nós sem nenhum ponto único de falha.
A razão para este tipo de CassandraA arquitetura do era que a falha de hardware pode ocorrer a qualquer momento. Qualquer nó pode estar inativo. Em caso de falha, dados armazenados em outro nó podem ser usados. Portanto, Cassandra é projetado com sua arquitetura distribuída.
Cassandra armazena dados em diferentes nós com uma arquitetura de estilo distribuído ponto a ponto.
Todos os nós trocam informações entre si usando Protocolo de fofoca. A fofoca é um protocolo em Cassandra pelo qual os nós podem se comunicar entre si.
Componentes de Cassandra Archiarquitetura
Existem os seguintes componentes no Cassandra Architextura:

Node
Nó é o local onde os dados são armazenados. É o componente básico Cassandra.
Data Center
Uma coleção de nós é chamada de data center. Muitos nós são categorizados como data center.
Cluster
O cluster é a coleção de muitos data centers.
Registro de confirmação
Cada operação de gravação é gravada no Commit Log. O log de confirmação é usado para recuperação de falhas.
Tabela Mem
Após os dados serem gravados no log de commit, os dados são gravados na tabela Mem. Os dados são gravados na tabela Mem temporariamente.
SSTable
Quando a tabela Mem atinge um determinado limite, os dados são descarregados para um arquivo de disco SSTable.
Replicação de dados em Cassandra
Como podem ocorrer problemas de hardware ou o link pode cair a qualquer momento durante o processo de dados, é necessária uma solução para fornecer um backup quando o problema ocorrer. Assim, os dados são replicados para garantir que não haja nenhum ponto único de falha.
Cassandra coloca réplicas de dados em nós diferentes com base nesses dois fatores.
- Onde colocar a próxima réplica é determinado pelo Estratégia de replicação.
- Embora o número total de réplicas colocadas em nós diferentes seja determinado pelo Fator de replicação.
Um fator de replicação significa que há apenas uma única cópia dos dados, enquanto três fatores de replicação significa que há três cópias dos dados em três nós diferentes.
Para garantir que não haja um ponto único de falha, o fator de replicação deve ser três.
Existem dois tipos de estratégias de replicação em Cassandra.
SimpleStrategy em Cassandra
Estratégia Simples é usado quando você tem apenas um data center. O SimpleStrategy coloca a primeira réplica no nó selecionado pelo particionador. Depois disso, as réplicas restantes são colocadas no sentido horário no anel do Node.
Aqui está a representação pictórica do SimpleStrategy:
NetworkTopologyEstratégia em Cassandra
RedeTopologiaEstratégia é usado quando você tem mais de dois data centers. No NetworkTopologyStrategy, as réplicas são definidas para cada data center separadamente. NetworkTopologyStrategy coloca réplicas no sentido horário no anel até atingir o primeiro nó em outro rack. Esta estratégia tenta colocar réplicas em racks diferentes no mesmo data center.
Isso ocorre porque às vezes pode ocorrer falha ou problema no rack. Então, as réplicas em outros nós podem fornecer dados.
Aqui está a representação pictórica da estratégia de topologia de rede:
Escreva Operação em Cassandra
O coordenador envia uma solicitação de gravação para as réplicas. Se todas as réplicas estiverem ativas, elas receberão uma solicitação de gravação, independentemente do seu nível de consistência.
Nível de consistência determina quantos nós responderão com a confirmação de sucesso.
O nó responderá com a confirmação de sucesso se os dados forem gravados com sucesso no log de commit e memTable.
Por exemplo, em um único data center com fator de replicação igual a três, três réplicas receberão solicitação de gravação. Se o nível de consistência for um, apenas uma réplica responderá com a confirmação de sucesso e as duas restantes permanecerão inativas.
Suponha que se as duas réplicas restantes perderem dados devido a falhas de nós ou algum outro problema, Cassandra tornará a linha consistente pelo mecanismo de reparo integrado em Cassandra.
Aqui é explicado como ocorre o processo de gravação em Cassandra,
- Quando a solicitação de gravação chega ao nó, primeiro ele é registrado no log de commit.
- Então Cassandra grava os dados na tabela mem. Os dados gravados na tabela mem em cada solicitação de gravação também são gravados no log de confirmação separadamente. Mem-table são dados armazenados temporariamente na memória enquanto o log de Commit registra os registros de transações para fins de backup.
- Quando a tabela mem está cheia, os dados são liberados para o arquivo de dados SSTable.
Leia Operação em Cassandra
Existem três tipos de solicitações de leitura que um coordenador envia para réplicas.
- Pedido direto
- Solicitação de resumo
- Ler solicitação de reparo
O coordenador envia solicitação direta para uma das réplicas. Depois disso, o coordenador envia a solicitação de resumo para o número de réplicas especificado pelo nível de consistência e verifica se os dados retornados são dados atualizados.
Depois disso, o coordenador envia uma solicitação de resumo para todas as réplicas restantes. Se algum nó fornecer um valor desatualizado, uma solicitação de reparo de leitura em segundo plano atualizará esses dados. Este processo é chamado de mecanismo de reparo de leitura.
Resumo
- Este tutorial explica o Cassandra arquitetura interna e como Cassandra replica, escreve e lê dados em diferentes estágios.
- Além disso, aqui explica como Cassandra mantém o nível de consistência durante todo o processo.
- Componentes de Cassandra Archiestrutura: Nó, Data Center, Cluster, Log de confirmação, tabela Mem, SSTable
- Um fator de replicação significa que há apenas uma única cópia dos dados, enquanto três fatores de replicação significa que há três cópias dos dados em três nós diferentes.
- SimpleStrategy é usado quando você tem apenas um data center.
- NetworkTopologyStrategy é usado quando você tem mais de dois data centers.