Criar Keyspace em Cassandra: Criar, alterar e descartar com exemplo
O que é o Keyspace Cassandra?
Um espaço-chave em Cassandra é um contêiner de dados, semelhante a um banco de dados em RDMBS (Relational Database Management Systems). Cassandra Keyspace determina como os dados são replicados nos nós.
Como criar keyspace em Cassandra
Um keyspace é um objeto que contém as famílias de colunas, tipos definidos pelo usuário. Em Cassandra, Keyspace é semelhante a RDBMS Base de dados. Keyspace contém famílias de colunas, índices, tipos definidos pelo usuário, reconhecimento do data center, estratégia usada no keyspace, fator de replicação, etc.
Comando “Criar espaço-chave”É usado para criar keyspace em Cassandra.
Sintaxe
Create keyspace KeyspaceName with replication={'class':strategy name, 'replication_factor': No of replications on different nodes};
Vários componentes de Cassandra Espaço-chave
- Estratégia: Ao declarar o nome da estratégia em Cassandra. Existem dois tipos de estratégias declaradas em Cassandra Sintaxe.
- Estratégia Simples: A estratégia simples é usada quando você tem apenas um data center. Nesta estratégia, a primeira réplica é colocada no nó selecionado pelo particionador. Os nós restantes são colocados no sentido horário no anel, sem considerar a localização do rack ou do nó.
- Estratégia de topologia de rede: a estratégia de topologia de rede é usada quando você tem mais de um data center. Nesta estratégia, você deve fornecer o fator de replicação para cada data center separadamente. A estratégia de topologia de rede coloca réplicas em nós no sentido horário no mesmo data center. Esta estratégia tenta colocar réplicas em racks diferentes.
- Fator de replicação: o fator de replicação é o número de réplicas de dados colocadas em nós diferentes. Para nenhuma falha, 3 é um bom fator de replicação. Mais de dois fatores de replicação garantem nenhum ponto único de falha. Às vezes, o servidor pode estar inativo ou podem ocorrer problemas de rede e outras réplicas fornecem serviço sem falhas.
- Exemplo: Aqui está o instantâneo do comando executado “Create Keyspace” que criará keyspace em Cassandra.
Create keyspace University with replication={'class':SimpleStrategy,'replication_factor': 3};
Após a execução bem-sucedida do comando “Create Keyspace”, a Keyspace University será criada em Cassandra com estratégia “SimpleStrategy” e fator de replicação 3.
Alterar espaço-chave Cassandra
O comando “Alter Keyspace” altera o fator de replicação, o nome da estratégia e as propriedades de gravação durável no keyspace criado em Cassandra.
Sintaxe
Alter Keyspace KeyspaceName with replication={'class':'StrategyName', 'replication_factor': no of replications on different nodes} with DURABLE_WRITES=true/false
Aspectos principais ao alterar o Keyspace em Cassandra
- Nome do Keyspace: O nome do keyspace não pode ser alterado em Cassandra.
- Nome da estratégia: O nome da estratégia pode ser alterado especificando o novo nome da estratégia.
- Fator de replicação: O fator de replicação pode ser alterado especificando um novo fator de replicação.
- O valor DURABLE_WRITES :DURABLE_WRITES pode ser alterado especificando seu valor verdadeiro/falso. Por padrão, é verdade. Se definido como falso, nenhuma atualização será gravada no log de commit e vice-versa.
- Execução: Aqui está o instantâneo do comando executado “Alter Keyspace” que altera a estratégia de keyspace de 'SimpleStrategy' para 'NetworkTopologyStrategy' e o fator de replicação de 3 para 1 para DataCenter1.
Alter Keyspace University with replication={'class':'NetworktopologyStrategy', 'DataCenter1':1};
Após a execução bem-sucedida do comando “Alter Keyspace”, o Strategyname será alterado de 'SimpleStrategy' para 'NetworkTopologyStrategy' e o fator de replicação será alterado de 3 para 1 para 'DataCenter1'.
Cassandra Soltar espaço-chave
Comando 'Soltar espaço-chave' elimina o keyspace incluindo todos os dados, famílias de colunas, tipos definidos pelo usuário e índices de Cassandra. Antes de descartar o keyspace, Cassandra tira um instantâneo do keyspace. Se o keyspace não existir no Cassandra, Cassandra retornará um erro, a menos que IF EXISTS seja usado.
Sintaxe
Drop keyspace KeyspaceName
Exemplo
Aqui está o instantâneo do comando executado 'Drop Keyspace' que eliminará o keyspace University.
Drop keyspace University;
Após a execução bem-sucedida do comando 'Drop keyspace University', a keyspace University será descartada Cassandra com todos os dados e esquema.
Aqui está o instantâneo onde o erro é retornado quando tentamos acessar um keyspace que não existe.
Note: Não há diferença em descartar keyspace e excluir keyspace. Eliminar keyspace é igual a excluir keyspace.