Crie Keyspace no Cassandra: crie, altere e descarte com exemplo

O que é Keyspace em Cassandra?

Um Keyspace no 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 um keyspace no 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 no Cassandra.

Sintaxe

Create keyspace KeyspaceName with replication={'class':strategy name, 
		'replication_factor': No of replications on different nodes};

Vários componentes do Cassandra Keyspace

  • Estratégia: Ao declarar o nome da estratégia em Cassandra. Existem dois tipos de estratégias declaradas na Sintaxe Cassandra.
  1. 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ó.
  2. 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 no Cassandra.

Crie um espaço-chave no 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 no Cassandra com estratégia “SimpleStrategy” e fator de replicação 3.

Alterar Keyspace 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 no 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 no Cassandra

  • Nome do Keyspace: O nome do keyspace não pode ser alterado no 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.

Alterar Keyspace Cassandra

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 Drop Keyspace

Comando 'Soltar espaço-chave' elimina o keyspace incluindo todos os dados, famílias de colunas, tipos definidos pelo usuário e índices do 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.

Cassandra Drop Keyspace

Drop keyspace University;

Após a execução bem-sucedida do comando 'Drop keyspace University', a keyspace University será eliminada do 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.

Cassandra Drop Keyspace

Note: Não há diferença em descartar keyspace e excluir keyspace. Eliminar keyspace é igual a excluir keyspace.