Cassandra Create Type

Cassandra Create Type



«Η Cassandra μας επιτρέπει να ορίσουμε προσαρμοσμένους τύπους που μπορούν να κρατούν σχετικές πληροφορίες σε έναν πίνακα. Εάν δεν μπορείτε να βρείτε έναν τύπο που να διατηρεί τον τύπο των δεδομένων σας, μπορείτε να χρησιμοποιήσετε ενσωματωμένους τύπους για να ορίσετε έναν άλλο τύπο που να καταγράφει τη διάταξη που επιθυμείτε.

Είναι καλό να έχετε κατά νου ότι ο καθορισμένος τύπος περιορίζεται στο εύρος του χώρου κλειδιών στον οποίο δημιουργήθηκε. Μπορείτε να χρησιμοποιήσετε τον συμβολισμό κουκκίδων για να αποκτήσετε πρόσβαση σε έναν πίνακα από άλλο χώρο πλήκτρων.







Αυτή η ανάρτηση θα συζητήσει πώς μπορείτε να ορίσετε έναν τύπο χρήστη χρησιμοποιώντας την εντολή CREATE TYPE.'



Δημιουργία Σύνταξης Εντολής Τύπου

Η ακόλουθη εντολή απεικονίζει τη σύνταξη της εντολής δημιουργία τύπου:



ΔΗΜΙΟΥΡΓΙΑ ΤΥΠΟΥ [ ΑΝ ΔΕΝ ΥΠΑΡΧΕΙ ]
keyspace_name.type_name (
πεδίο_όνομα cassandra_type [ , ]
[ πεδίο_όνομα cassandra_type ] [ ,... ]
) ;


Η εντολή υποστηρίζει τον όρο IF EXISTS, ο οποίος σας επιτρέπει να ακυρώνετε σφάλματα εάν η εντολή με παρόμοιο όνομα υπάρχει στον τύπο προορισμού.





Το Type_name πρέπει να περιλαμβάνει ένα μοναδικό όνομα που συμμορφώνεται με τους κανόνες ονομασίας της Κασσάνδρας.

Τέλος, μπορείτε να ορίσετε τα πεδία για τον τύπο σας και τον αντίστοιχο τύπο CQL. Μην χρησιμοποιείτε πεδία μετρητή σε προσαρμοσμένους τύπους.



Παράδειγμα

Το ακόλουθο παράδειγμα δείχνει πώς να ορίσετε έναν προσαρμοσμένο τύπο που περιέχει αναφορές CVE.

απόθεση χώρου πλήκτρων αν υπάρχει zero_day;

δημιουργία keyspace zero_day
με αντιγραφή = {
'τάξη' : «Απλή Στρατηγική» ,
'replication_factor' : 1
} ;
χρήση zero_day;

δημιουργώ τύπος cve_reports (
κείμενο cve_number,
Ημερομηνία αναφοράς ημερομηνία ,
κείμενο επηρεασμένου_προμηθευτή,
float σοβαρότητας,
) ;


Το παραπάνω ερώτημα ξεκινά δημιουργώντας έναν χώρο κλειδιών 'zero_day' που θα περιέχει τον καθορισμένο τύπο χρήστη.

Θα παρατηρήσετε ότι η δήλωση δημιουργίας τύπου ακολουθεί παρόμοια μορφή με τη δημιουργία πίνακα. Αν και αυτό είναι αλήθεια, εξυπηρετούν διαφορετικούς σκοπούς και το ένα μπορεί να είναι καλύτερη επιλογή από το άλλο.

ΣΗΜΕΙΩΣΗ: Εξετάστε τις επιπτώσεις της απόδοσης πριν επιλέξετε έναν πίνακα έναντι ενός προσαρμοσμένου τύπου και αντίστροφα.

Μπορούμε στη συνέχεια να εισαγάγουμε δεδομένα στον παραπάνω πίνακα όπως φαίνεται:

Μπορούμε να δημιουργήσουμε έναν πίνακα με τον τύπο cve_reports και να εισαγάγουμε δείγματα δεδομένων όπως φαίνεται:

δημιουργία εγγραφών πίνακα (
ταυτότητα int,
cve_reports cve_reports,
πρωτεύων κλειδί ( ταυτότητα )
) ;

Εισαγωγή δεδομένων

εισάγετε σε αρχεία ( ταυτότητα , cve_reports ) αξίες ( 1 , { cve_number: 'CVE-2021-33852' , Ημερομηνία αναφοράς: '02-12-2022' , affected_vendor: «WordPress» , σοβαρότητα: 6.0 } ) ;


Μπορούμε στη συνέχεια να ανακτήσουμε τα προστιθέμενα δεδομένα ως:

επιλέγω * από αρχεία?

Προκύπτουσα Έξοδος


συμπέρασμα

Αυτή η ανάρτηση κάλυψε τα βασικά της δημιουργίας και της χρήσης προσαρμοσμένων τύπων στο Apache Cassandra. Συζητήσαμε επίσης πώς να δημιουργήσετε έναν πίνακα με προσαρμοσμένους τύπους και να εισαγάγετε δεδομένα σε μια στήλη προσαρμοσμένου τύπου.

Καλή κωδικοποίηση!!