Cassandra crea tipo

Cassandra crea tipo

“Cassandra ci consente di definire tipi personalizzati in grado di contenere informazioni correlate in una tabella. Se non riesci a trovare un tipo per contenere il tipo di dati, è possibile utilizzare i tipi integrati per definire un altro tipo che cattura il layout desiderato.

È bene tenere presente che il tipo definito è limitato all'ambito dello spazio di chiavi su cui è stato creato. È possibile utilizzare la notazione punto per accedere a una tabella da un altro keypspace.

Questo post discuterà di come è possibile definire un tipo di utente utilizzando il comando tipo tipo."

Crea la sintassi del comando

Il comando seguente raffigura la sintassi del comando Crea tipo:

Crea tipo [se non esiste]
keyspace_name.type_name (
field_name cassandra_type [,]
[field_name cassandra_type] [,…]
);


Il comando supporta la clausola se esiste, che consente di annullare gli errori se il comando con un nome simile esiste nel tipo di destinazione.

Type_name deve includere un nome univoco conforme alle regole di denominazione di Cassandra.

Infine, puoi definire i campi per il tuo tipo e il rispettivo tipo CQL. Non utilizzare i campi contanti nei tipi personalizzati.

Esempio

L'esempio seguente mostra come definire un tipo personalizzato che contiene report CVE.

Drop Keyspace Se esiste zero_day;
Crea Keyspace Zero_Day
con replication =
'Class': 'SimpleStrategy',
'Replication_Factor': 1
;
Usa zero_day;
Crea type cve_reports (
Testo CVE_NUMBER,
Data report_date,
Testo interessato_vendor,
Gravità galleggia,
);


La query sopra inizia creando uno spazio chiave "zero_day" che conterrà il tipo di utente definito.

Noterai che l'istruzione Crea Type segue un formato simile alla creazione di tabelle. Sebbene questo sia vero, servono a scopi diversi e uno può essere una scelta migliore dell'altro.

NOTA: Considera le implicazioni delle prestazioni prima di scegliere una tabella su un tipo personalizzato e viceversa.

Possiamo quindi inserire dati nella tabella sopra come mostrato:

Possiamo creare una tabella con il tipo CVE_Reports e inserire i dati di esempio come mostrato:

Crea record di tabelle (
id int,
cve_reportts cve_reports,
Chiave primaria (ID)
);

Inserire i dati

Inserisci nei record (id, cve_reports) valori (1, cve_number: 'CVE-2021-33852', report_date: '2022-12-02', interessato_vendor: 'wordpress', gravità: 6.0);


Possiamo quindi recuperare i dati aggiunti come:

Seleziona * dai record;

Output risultante


Conclusione

Questo post ha riguardato le basi della creazione e dell'utilizzo di tipi definiti da Apache Cassandra. Abbiamo anche discusso di come creare una tabella con tipi personalizzati e inserire i dati in una colonna di tipo personalizzato.

Codice felice!!