Cassandra Créer un type

Cassandra Créer un type

«Cassandra nous permet de définir des types personnalisés qui peuvent contenir des informations connexes dans un tableau. Si vous ne trouvez pas de type pour contenir votre type de données, vous pouvez utiliser des types intégrés pour définir un autre type qui capture la disposition souhaitée.

Il est bon de garder à l'esprit que le type défini est limité à la portée de l'espace de clé sur lequel il a créé. Vous pouvez utiliser la notation DOT pour accéder à un tableau à partir d'un autre clavier.

Ce message discutera de la façon dont vous pouvez définir un type d'utilisateur à l'aide de la commande Create Type."

Créer une syntaxe de commande de type

La commande suivante décrit la syntaxe de la commande Create Type:

Créer un type [s'il n'existe pas]
Keyspace_name.type_name (
field_name Cassandra_type [,]
[field_name Cassandra_type] [,…]
));


La commande prend en charge la clause If Exist.

Type_name doit inclure un nom unique conforme aux règles de dénomination de Cassandra.

Enfin, vous pouvez définir les champs de votre type et leur type CQL respectif. N'utilisez pas de comptoirs dans les types personnalisés.

Exemple

L'exemple suivant montre comment définir un type personnalisé qui contient des rapports CVE.

Drop keyspace si existe zéro_day;
Créer des espaces de clé zéro_day
avec réplication =
«Classe»: «Simplestrategy»,
'réplication_factor': 1
;
Utilisez zéro_day;
Créer un type cve_reports (
Cve_number Texte,
Date de rapport_date,
texte affecté_vendor,
flotteur de gravité,
));


La requête ci-dessus commence par créer un «zéro_day» de l'espace de clé qui tiendra le type d'utilisateur défini.

Vous remarquerez que l'instruction Create Type suit un format similaire à la création de table. Bien que cela soit vrai, ils servent à des fins différentes, et l'une peut être un meilleur choix que l'autre.

NOTE: Considérez les implications des performances avant de choisir un tableau sur un type personnalisé et vice versa.

Nous pouvons ensuite insérer des données dans le tableau ci-dessus comme indiqué:

Nous pouvons créer une table avec le type cve_reports et insérer des données d'échantillons comme indiqué:

Créer des enregistrements de table (
id int,
cve_reports cve_reports,
Clé primaire (ID)
));

Insérer des données

Insérer dans les enregistrements (id, cve_reports) valeurs (1, cve_number: 'CVE-2021-33852', report_date: '2022-12-02', affecté_vendor: 'wordpress', Severity: 6.0);


Nous pouvons ensuite récupérer les données ajoutées comme:

Sélectionner * dans les enregistrements;

Sortie résultante


Conclusion

Ce message a couvert les bases de la création et de l'utilisation de types définis sur mesure dans Apache Cassandra. Nous avons également discuté de la façon de créer un tableau avec des types personnalisés et d'insérer des données dans une colonne de type personnalisé.

Codage heureux!!