Cassandra Tạo Loại

Cassandra Tao Loai



“Cassandra cho phép chúng tôi xác định các loại tùy chỉnh có thể chứa thông tin liên quan trong một bảng. Nếu bạn không thể tìm thấy một loại để lưu giữ loại dữ liệu của mình, bạn có thể sử dụng các loại cài sẵn để xác định một loại khác nắm bắt bố cục mong muốn của bạn.

Cần lưu ý rằng kiểu đã xác định bị giới hạn trong phạm vi của không gian khóa mà nó được tạo ra. Bạn có thể sử dụng ký hiệu dấu chấm để truy cập bảng từ một keypspace khác.







Bài đăng này sẽ thảo luận về cách bạn có thể xác định kiểu người dùng bằng lệnh CREATE TYPE. ”



Cú pháp lệnh tạo kiểu

Lệnh sau mô tả cú pháp của lệnh create type:



TẠO LOẠI [ NẾU KHÔNG TỒN TẠI ]
keyspace_name.type_name (
field_name cassandra_type [ , ]
[ field_name cassandra_type ] [ , ... ]
) ;


Lệnh này hỗ trợ mệnh đề IF EXISTS, cho phép bạn sửa lỗi nếu lệnh có tên tương tự tồn tại trong kiểu đích.





Type_name phải bao gồm một tên duy nhất tuân theo quy tắc đặt tên của Cassandra.

Cuối cùng, bạn có thể xác định các trường cho loại của mình và loại CQL tương ứng của chúng. Không sử dụng trường bộ đếm trong các loại tùy chỉnh.



Thí dụ

Ví dụ sau đây cho thấy cách xác định một loại tùy chỉnh chứa các báo cáo CVE.

thả keyspace nếu tồn tại zero_day;

tạo keyspace zero_day
với sự nhân rộng = {
'lớp' : 'SimpleStrategy' ,
'replication_factor' : 1
} ;
sử dụng zero_day;

tạo ra loại hình cve_reports (
văn bản cve_number,
ngày báo cáo ngày ,
văn bản bị ảnh hưởng,
mức độ nghiêm trọng nổi,
) ;


Truy vấn ở trên bắt đầu bằng cách tạo một không gian khóa “zero_day” sẽ chứa kiểu người dùng đã xác định.

Bạn sẽ nhận thấy rằng câu lệnh create type tuân theo một định dạng tương tự như tạo bảng. Mặc dù điều này đúng, nhưng chúng phục vụ cho những mục đích khác nhau và một cái có thể là lựa chọn tốt hơn cái kia.

GHI CHÚ: Hãy xem xét các tác động của hiệu suất trước khi chọn một bảng thay vì một loại tùy chỉnh và ngược lại.

Sau đó chúng ta có thể chèn dữ liệu vào bảng trên như hình:

Chúng ta có thể tạo một bảng với kiểu cve_reports và chèn dữ liệu mẫu như hình:

tạo bản ghi bảng (
Tôi int,
cve_reports cve_reports,
khóa chính ( Tôi )
) ;

Chèn dữ liệu

chèn vào hồ sơ ( Tôi , cve_reports ) giá trị ( 1 , { cve_number: 'CVE-2021-33852' , ngày báo cáo: '2022-12-02' ,ised_vendor: 'WordPress' , mức độ nghiêm trọng: 6.0 } ) ;


Sau đó, chúng tôi có thể tìm nạp dữ liệu đã thêm dưới dạng:

lựa chọn * từ hồ sơ;

Kết quả đầu ra


Sự kết luận

Bài đăng này đề cập đến những điều cơ bản về việc tạo và sử dụng các kiểu được xác định tùy chỉnh trong Apache Cassandra. Chúng tôi cũng đã thảo luận về cách tạo bảng với các kiểu tùy chỉnh và chèn dữ liệu vào cột kiểu tùy chỉnh.

Chúc bạn viết mã vui vẻ !!