Cassandra ตัวอย่างตาราง: สร้าง แก้ไข วาง และตัดทอนตาราง

ไวยากรณ์ของ Cassandra ภาษาคิวรี (CQL) มีลักษณะคล้ายกับ SQL ภาษา.

วิธีสร้างตารางใน Cassandra

ตระกูลคอลัมน์ใน Cassandra คล้ายกับตาราง RDBMS ตระกูลคอลัมน์ใช้เพื่อจัดเก็บข้อมูล

คำสั่ง 'สร้างตาราง' ใช้เพื่อสร้างตระกูลคอลัมน์ Cassandra.

วากยสัมพันธ์

Create table KeyspaceName.TableName
(
ColumnName DataType,
ColumnName DataType,
ColumnName DataType
.
.
.
Primary key(ColumnName)
) with PropertyName=PropertyValue;

1. คีย์หลัก: มีสองประเภทเป็น คีย์หลัก.

  • คีย์หลักเดี่ยว: ระบุคีย์หลักตัวเดียวตามรูปแบบต่อไปนี้

วากยสัมพันธ์

Primary key (ColumnName)

ในคีย์หลักเดียวจะมีเพียงคอลัมน์เดียวเท่านั้น คอลัมน์นั้นเรียกอีกอย่างว่าคีย์การแบ่งพาร์ติชัน ข้อมูลจะถูกแบ่งพาร์ติชันตามคอลัมน์นั้น ข้อมูลถูกกระจายไปยังโหนดต่างๆ บนพื้นฐานของพาร์ติชั่นคีย์

2. คีย์หลักแบบผสม: คีย์หลักแบบผสมจะถูกระบุตามรูปแบบต่อไปนี้

วากยสัมพันธ์

Primary key(ColumnName1,ColumnName2 . . .)

ตามไวยากรณ์ด้านบน ColumnName1 คือคีย์การแบ่งพาร์ติชัน และ ColumnName2 คือ Clusterการใช้คีย์ ข้อมูลจะถูกแบ่งพาร์ติชั่นตาม ColumnName1 และข้อมูลจะถูกจัดกลุ่มตาม ColumnName2 Clustering เป็นกระบวนการที่เรียงลำดับข้อมูลในพาร์ติชัน

3. คีย์การแบ่งพาร์ติชันแบบผสม: คีย์การแบ่งพาร์ติชั่นแบบผสมถูกระบุโดยรูปแบบไวยากรณ์ดังต่อไปนี้

วากยสัมพันธ์

Primary Key((ColumnName1,ColumnName2),ColumnName3...))

ในรูปแบบข้างต้น ColumnName1 และ ColumnName2 คือคีย์พาร์ติชั่นผสม ข้อมูลจะถูกแบ่งพาร์ติชั่นตามคอลัมน์ ColumnName1 และ ColumnName2 และข้อมูลจะถูกจัดกลุ่มตาม ColumnName3 หากคุณมีข้อมูลมากเกินไปในพาร์ติชั่นเดียว ให้ใช้คีย์พาร์ติชั่นผสม คีย์พาร์ติชั่นผสมจะใช้เพื่อสร้างพาร์ติชั่นหลายพาร์ติชั่นสำหรับข้อมูล

  • ด้วยข้อ

“With clause” ใช้เพื่อระบุคุณสมบัติและค่าของคุณสมบัติสำหรับตารางที่กำหนด เช่น หากคุณต้องการบีบอัด Cassandra ข้อมูลตาราง คุณสามารถตั้งค่าคุณสมบัติการบีบอัดได้โดยการระบุค่าคุณสมบัติอัลกอริทึมการบีบอัดใน “With clause”

ตัวอย่าง

นี่คือการดำเนินการของคำสั่ง 'สร้างตาราง' ที่จะสร้างชื่อตาราง 'นักเรียน' ในคีย์สเปซ 'มหาวิทยาลัย'

Cassandra สร้างตาราง

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

Cassandra เปลี่ยนตาราง

คำสั่ง 'Alter Table' ใช้ในการวางคอลัมน์ เพิ่มคอลัมน์ใหม่ เปลี่ยนชื่อคอลัมน์ แก้ไขประเภทคอลัมน์ และเปลี่ยนคุณสมบัติของตาราง

วากยสัมพันธ์

ต่อไปนี้คือรูปแบบคำสั่ง 'Alter Table'

Alter table KeyspaceName.TableName  +
Alter ColumnName TYPE ColumnDataype |
Add ColumnName ColumnDataType |
Drop ColumnName |
Rename ColumnName To NewColumnName |
With propertyName=PropertyValue

ตัวอย่าง

นี่คือภาพรวมของคำสั่ง 'Alter Table' ที่จะเพิ่มคอลัมน์ใหม่ในตาราง Student

Cassandra เปลี่ยนตาราง

หลังจากดำเนินการคำสั่ง 'Alter Table' สำเร็จแล้ว คอลัมน์ใหม่ 'ภาคการศึกษา' ที่มีประเภทข้อมูล 'int' จะถูกเพิ่มลงในตาราง Student

นี่คือภาพหน้าจอที่แสดงตารางนักเรียนที่อัปเดต

Cassandra เปลี่ยนตาราง

Cassandra วางตาราง

คำสั่ง 'วางตาราง' จะปล่อยตารางที่ระบุรวมถึงข้อมูลทั้งหมดจากคีย์สเปซ ก่อนจะล้มโต๊ะ Cassandra ถ่ายภาพสแน็ปช็อตของข้อมูลไม่ใช่สคีมาเป็นข้อมูลสำรอง

วากยสัมพันธ์

Drop Table KeyspaceName.TableName

ตัวอย่าง

นี่คือภาพรวมของคำสั่งที่ดำเนินการ 'Drop Table' ซึ่งจะปล่อยตาราง Student จากคีย์สเปซ 'University'

Cassandra วางตาราง

หลังจากดำเนินการคำสั่ง 'Drop Table' สำเร็จแล้ว table Student จะถูกดร็อปจาก keyspace University

นี่คือภาพรวมที่แสดงข้อผิดพลาดที่ส่งคืนโดย Cassandra เมื่อพยายามเข้าถึงตารางนักเรียนที่ไม่มีอยู่

Cassandra วางตาราง

Cassandra ตัดตาราง

คำสั่ง 'Truncate table' จะลบข้อมูลทั้งหมดออกจากตารางที่ระบุ ก่อนที่จะตัดทอนข้อมูล Cassandra ถ่ายภาพสแน็ปช็อตของข้อมูลเป็นข้อมูลสำรอง

วากยสัมพันธ์

Truncate KeyspaceName.TableName

ตัวอย่าง

มีสามระเบียนในตารางนักเรียน นี่คือบันทึกในตาราง

Cassandra ตัดตาราง

นี่คือภาพรวมของคำสั่งที่ดำเนินการ 'Truncate table' ซึ่งจะลบข้อมูลทั้งหมดออกจากตาราง Student

Cassandra ตัดตาราง

หลังจากดำเนินการคำสั่ง 'Truncate Table' สำเร็จแล้ว ข้อมูลทั้งหมดจะถูกลบออกจากตาราง Student

นี่คือภาพรวมของสถานะฐานข้อมูลที่ไม่มีบันทึกในตาราง Student

Cassandra ตัดตาราง