Cassandra Criar Tipo

Cassandra Criar Tipo



“Cassandra nos permite definir tipos personalizados que podem conter informações relacionadas em uma tabela. Se você não conseguir encontrar um tipo para armazenar seu tipo de dados, poderá usar tipos internos para definir outro tipo que capture o layout desejado.

É bom ter em mente que o tipo definido é limitado ao escopo do keyspace no qual foi criado. Você pode usar a notação de ponto para acessar uma tabela de outro keypspace.







Este post discutirá como você pode definir um tipo de usuário usando o comando CREATE TYPE.”



Criar sintaxe de comando de tipo

O comando a seguir descreve a sintaxe do comando create type:



CRIAR TIPO [ SE NÃO EXISTE ]
keyspace_name.type_name (
field_name cassandra_type [ , ]
[ field_name cassandra_type ] [ ,... ]
) ;


O comando suporta a cláusula IF EXISTS, que permite anular erros se o comando com um nome semelhante existir no tipo de destino.





Type_name deve incluir um nome exclusivo que esteja de acordo com as regras de nomenclatura do Cassandra.

Por fim, você pode definir os campos para seu tipo e seu respectivo tipo de CQL. Não use campos de contador em tipos personalizados.



Exemplo

O exemplo a seguir mostra como definir um tipo personalizado que contém relatórios CVE.

soltar keyspace E se existe zero_day;

criar keyspace zero_day
com replicação = {
'classe' : 'Estratégia Simples' ,
'replication_factor' : 1
} ;
use zero_day;

crio modelo cve_reports (
texto cve_number,
Data do relatório encontro ,
texto do fornecedor_afetado,
flutuação de gravidade,
) ;


A consulta acima começa criando um keyspace “zero_day” que conterá o tipo de usuário definido.

Você notará que a instrução de tipo de criação 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 o outro.

NOTA: 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, conforme mostrado:

Podemos criar uma tabela com o tipo cve_reports e inserir dados de exemplo como mostrado:

criar registros de tabela (
Eu iria int,
cve_reports cve_reports,
chave primária ( Eu iria )
) ;

Inserir dados

inserir em registros ( Eu iria , cve_reports ) valores ( 1 , { cve_number: 'CVE-2021-33852' , Data do relatório: '2022-12-02' , fornecedor_afetado: 'WordPress' , gravidade: 6,0 } ) ;


Podemos então buscar os dados adicionados como:

selecionar * dos registros;

Saída resultante


Conclusão

Esta postagem abordou os conceitos básicos de criação e uso de tipos definidos personalizados no Apache Cassandra. Também discutimos como criar uma tabela com tipos personalizados e inserir dados em uma coluna de tipo personalizado.

Boa codificação!!