Cassandra Truncate

Cassandra Truncate



Trong bài này, bạn sẽ học cách sử dụng lệnh Apache Cassandra TRUNCATE. Lệnh này cho phép bạn xóa tất cả dữ liệu khỏi bảng mà không xóa bảng hoặc lược đồ của nó.

Nói một cách dễ hiểu, lệnh TRUNCATE cho phép bạn thiết lập lại dữ liệu được lưu trữ trong một bảng cho phép bạn khôi phục hoặc chèn dữ liệu mới.







Cú pháp lệnh cắt ngắn Cassandra

Cú pháp lệnh TRUNCATE như được hiển thị:



TRUNCATE [TABLE] [keyspace.table_name]

Bạn có thể bỏ qua từ khóa TABLE trong cú pháp trên. Lệnh sẽ thực hiện một hành động tương tự.



Hãy nhớ rằng lệnh TRUNCATE gửi lệnh JMX đến tất cả các nút trong cụm có chứa dữ liệu của đích. Điều này cho phép các nút đồng bộ hóa và cập nhật những thay đổi dữ liệu gần đây. Nếu một trong hai nút trong cụm bị lỗi, lệnh sẽ không thành công và trả về lỗi.





Tạo Bảng và Dữ liệu Mẫu

Với mục đích minh họa, chúng tôi sẽ tạo một bảng và không gian phím mẫu. Các lệnh như được hiển thị trong các đoạn mã dưới đây:

cqlsh> tạo keyspace height_info
... với bản sao = {
... 'class': 'SimpleStrategy',
... 'replication_factor': 1};
cqlsh> SỬ DỤNG height_info;
cqlsh: height_info> TẠO BẢNG người nhận (
... tay của bạn,
... văn bản tên người dùng,
... chiều cao int,
... PRIMARY KEY (id, height));

Sau đó, chúng tôi có thể chèn dữ liệu mẫu như được hiển thị trong các lệnh dưới đây:



cqlsh: height_info> CHÈN VÀO người nhận (id, tên người dùng, chiều cao) các giá trị (0, 'user1', 210);
cqlsh: height_info> CHÈN VÀO người nhận (id, tên người dùng, chiều cao) các giá trị (1, 'user2', 115);
cqlsh: height_info> CHÈN VÀO người nhận (id, tên người dùng, chiều cao) các giá trị (2, 'user3', 202);
cqlsh: height_info> CHÈN VÀO người nhận (id, tên người dùng, chiều cao) các giá trị (3, 'user4', 212);
cqlsh: height_info> CHÈN VÀO người nhận (id, tên người dùng, chiều cao) các giá trị (4, 'user5', 216);

Thao tác cắt bỏ ví dụ

Dữ liệu được lưu trữ trong bảng trước khi bị cắt ngắn như được hiển thị:

CHỌN * TỪ người nhận;

Chúng ta có thể cắt bớt bảng như hình:

cqlsh: height_info> BẢNG TRUNCATE height_info.re tá dược;

Cuối cùng, chúng tôi có thể xác nhận dữ liệu đã bị xóa khỏi bảng là:

cqlsh: height_info> CHỌN * TỪ người nhận;

Bạn sẽ nhận thấy rằng bảng vẫn tồn tại bao gồm tất cả các định nghĩa lược đồ. Tuy nhiên, dữ liệu từ bảng đã bị xóa để lại một bảng trống.

Hãy nhớ rằng thao tác TRUNCATE là không thể đảo ngược. Hãy thận trọng trong việc sử dụng nó và khả năng mất dữ liệu.

Sự kết luận

Trong bài đăng này, bạn đã học cách xóa tất cả dữ liệu khỏi bảng trong khi vẫn bảo toàn lược đồ bảng bằng lệnh CQL TRUNCATE.