Cassandra Truncate

Cassandra Truncate



ในบทความนี้ คุณจะได้เรียนรู้วิธีใช้คำสั่ง Apache Cassandra TRUNCATE คำสั่งนี้อนุญาตให้คุณลบข้อมูลทั้งหมดออกจากตารางโดยไม่ต้องลบตารางหรือสคีมาของตาราง

พูดง่ายๆ ก็คือ คำสั่ง TRUNCATE ช่วยให้คุณสามารถรีเซ็ตข้อมูลที่จัดเก็บไว้ในตารางเพื่อให้คุณสามารถกู้คืนหรือแทรกข้อมูลใหม่ได้







Cassandra Truncate Command Syntax

ไวยากรณ์คำสั่ง TRUNCATE ดังที่แสดง:



ตัดทอน [TABLE] [keyspace.table_name]

คุณสามารถละเว้นคีย์เวิร์ด TABLE ในไวยากรณ์ด้านบนได้ คำสั่งจะดำเนินการในลักษณะเดียวกัน



โปรดทราบว่าคำสั่ง TRUNCATE ส่งคำสั่ง JMX ไปยังโหนดทั้งหมดในคลัสเตอร์ที่มีข้อมูลของเป้าหมาย ซึ่งช่วยให้โหนดสามารถซิงโครไนซ์และติดตามการเปลี่ยนแปลงข้อมูลล่าสุด หากโหนดใดโหนดหนึ่งในคลัสเตอร์ไม่ทำงาน คำสั่งจะล้มเหลวและส่งคืนข้อผิดพลาด





การสร้างตารางตัวอย่างและข้อมูล

เราจะสร้างตัวอย่างคีย์สเปซและตารางเพื่อจุดประสงค์ในการอธิบาย คำสั่งต่างๆ ดังแสดงในตัวอย่างด้านล่าง:

cqlsh> สร้างคีย์สเปซ height_info
... พร้อมการจำลอง = {
... 'คลาส': 'SimpleStrategy',
... 'replication_factor': 1};
cqlsh> ใช้ height_info;
cqlsh:height_info> สร้างผู้รับตาราง (
... มือของคุณ,
... ข้อความชื่อผู้ใช้
... ความสูง int,
... คีย์หลัก(id, ความสูง));

จากนั้นเราสามารถแทรกข้อมูลตัวอย่างตามที่แสดงในคำสั่งด้านล่าง:



cqlsh:height_info> INSERT INTO ค่าของผู้รับ (id, ชื่อผู้ใช้, ความสูง) (0, 'user1', 210);
cqlsh:height_info> INSERT INTO ค่าของผู้รับ (id, ชื่อผู้ใช้, ความสูง) (1, 'user2', 115);
cqlsh:height_info> INSERT INTO ค่าของผู้รับ (id, ชื่อผู้ใช้, ความสูง) (2, 'user3', 202);
cqlsh:height_info> INSERT INTO ค่าของผู้รับ (id, ชื่อผู้ใช้, ความสูง) (3, 'user4', 212);
cqlsh:height_info> INSERT INTO ค่าของผู้รับ (id, ชื่อผู้ใช้, ความสูง) (4, 'user5', 216);

ตัวอย่างการดำเนินการตัดทอน

ข้อมูลที่จัดเก็บไว้ในตารางก่อนการตัดทอนจะแสดงดังนี้:

เลือก * จากผู้รับ;

เราสามารถตัดตารางตามที่แสดง:

cqlsh:height_info> ตัดทอนตาราง height_info.recipients;

สุดท้าย เราสามารถยืนยันได้ว่าข้อมูลถูกลบออกจากตารางดังนี้:

cqlsh:height_info> SELECT * จากผู้รับ;

คุณจะสังเกตเห็นว่าตารางยังคงมีอยู่รวมถึงคำจำกัดความของสคีมาทั้งหมด อย่างไรก็ตาม ข้อมูลในตารางถูกลบออกจากตารางที่ว่างเปล่า

โปรดทราบว่าการดำเนินการ TRUNCATE จะไม่สามารถย้อนกลับได้ ระมัดระวังในการใช้งานและการสูญเสียข้อมูลที่อาจเกิดขึ้น

บทสรุป

ในโพสต์นี้ คุณได้เรียนรู้วิธีลบข้อมูลทั้งหมดออกจากตารางในขณะที่คงไว้ซึ่งสคีมาของตารางโดยใช้คำสั่ง CQL TRUNCATE