“Cassandra nos permite definir tipos personalizados que podem conter informações relacionadas em uma tabela. Se você não conseguir encontrar um tipo para manter seu tipo de dados, poderá usar tipos internos para definir outro tipo que captura o layout desejado.
É bom ter em mente que o tipo definido é limitado ao escopo do espaço de chave no qual é criado. Você pode usar a notação de ponto para acessar uma tabela de outro Keypspace.
Esta postagem discutirá como você pode definir um tipo de usuário usando o comando de criação de tipo.”
Criar sintaxe de comando do tipo
O comando a seguir descreve a sintaxe do comando de criação de tipo:
Criar tipo [se não existe]
keyspace_name.Digite o nome(
field_name Cassandra_type [,]
[field_name Cassandra_type] [,…]
);
O comando suporta a cláusula if exist, que permite anular erros se o comando com um nome semelhante existir no tipo de destino.
Type_name deve incluir um nome único que esteja em conformidade com as regras de nomeação de Cassandra.
Por fim, você pode definir os campos para o seu tipo e o respectivo tipo CQL. Não use campos de balcão em tipos personalizados.
Exemplo
O exemplo a seguir mostra como definir um tipo personalizado que contém relatórios CVE.
soltar o espaço de chave se existir zero_day;
Crie o espaço de chave Zero_Day
com replicação =
'Classe': 'SimpleStrategy',
'Replicação_factor': 1
;
use zero_day;
Criar tipo CVE_Reports (
texto cve_number,
Data de relatório_date,
texto afetado_vendor,
severidade flutuar,
);
A consulta acima começa criando um espaço de chave "Zero_day" que manterá o tipo de usuário definido.
Você notará que a declaração Create Type segue um formato semelhante à criação de tabela. Embora isso seja verdade, eles servem a propósitos diferentes, e um pode ser uma escolha melhor do que a outra.
OBSERVAÇÃO: Considere as implicações de desempenho antes de escolher uma tabela em vez de um tipo personalizado e vice -versa.
Podemos então inserir dados na tabela acima, como mostrado:
Podemos criar uma tabela com o tipo cve_reports e inserir dados de amostra como mostrado:
Crie registros de tabela (
eu não fiz,
cve_reports cve_reports,
chave primária (id)
);
Insira dados
Inserir em registros (id, cve_reports) valores (1, cve_number: 'cve-2021-33852', relation_date: '2022-12-02', afetado_vendor: 'wordpress', gravidade: 6.0);
Podemos então buscar os dados adicionados como:
selecione * nos registros;
Saída resultante
Conclusão
Esta posta. Também discutimos como criar uma tabela com tipos personalizados e inserir dados em uma coluna de tipo personalizado.
Codificação feliz!!