สร้างคีย์สเปซใน Cassandra: สร้าง แก้ไข และวางด้วยตัวอย่าง
Keyspace คืออะไร Cassandra?
คีย์สเปซใน Cassandra เป็นที่เก็บข้อมูลคล้ายกับฐานข้อมูลใน RDMBS (Relational Database Management Systems) Cassandra Keyspace กำหนดวิธีการจำลองข้อมูลบนโหนด
วิธีสร้าง Keyspace ใน Cassandra
คีย์สเปซคืออ็อบเจ็กต์ที่เก็บตระกูลคอลัมน์ ซึ่งเป็นประเภทที่ผู้ใช้กำหนด ใน Cassandra, Keyspace มีความคล้ายคลึงกับ อาร์ดีบีเอ็มเอส ฐานข้อมูล Keyspace เก็บตระกูลคอลัมน์ ดัชนี ประเภทที่ผู้ใช้กำหนด การรับรู้ของศูนย์ข้อมูล กลยุทธ์ที่ใช้ในคีย์สเปซ ปัจจัยการจำลอง ฯลฯ
สั่งการ "สร้างคีย์สเปซ” ใช้เพื่อสร้างคีย์สเปซใน Cassandra.
วากยสัมพันธ์
Create keyspace KeyspaceName with replication={'class':strategy name, 'replication_factor': No of replications on different nodes};
ส่วนประกอบต่างๆของ Cassandra คีย์สเปซ
- กลยุทธ์: ขณะประกาศชื่อกลยุทธ์เข้ามา Cassandra- มีการประกาศกลยุทธ์สองประเภท Cassandra ไวยากรณ์
- กลยุทธ์ง่ายๆ:ใช้กลยุทธ์ที่เรียบง่ายเมื่อคุณมีศูนย์ข้อมูลเพียงแห่งเดียว ในกลยุทธ์นี้ สำเนาแรกจะถูกวางไว้บนโหนดที่เลือกโดยตัวแบ่งพาร์ติชัน โหนดที่เหลือจะถูกวางไว้ในทิศทางตามเข็มนาฬิกาในวงแหวนโดยไม่คำนึงถึงตำแหน่งของแร็คหรือโหนด
- กลยุทธ์โทโพโลยีเครือข่าย:กลยุทธ์โทโพโลยีเครือข่ายใช้ในกรณีที่คุณมีศูนย์ข้อมูลมากกว่าหนึ่งแห่ง ในกลยุทธ์นี้ คุณต้องจัดเตรียมปัจจัยการจำลองข้อมูลสำหรับศูนย์ข้อมูลแต่ละแห่งแยกจากกัน กลยุทธ์โทโพโลยีเครือข่ายจะวางสำเนาไว้ในโหนดตามทิศทางตามเข็มนาฬิกาในศูนย์ข้อมูลเดียวกัน กลยุทธ์นี้จะพยายามวางสำเนาไว้ในแร็คที่แตกต่างกัน
- ปัจจัยการจำลองแบบ: ปัจจัยการจำลองคือจำนวนแบบจำลองของข้อมูลที่วางอยู่บนโหนดที่แตกต่างกัน หากไม่เกิดความล้มเหลว 3 จะเป็นปัจจัยการจำลองที่ดี ปัจจัยการจำลองมากกว่าสองปัจจัยทำให้มั่นใจได้ว่าไม่มีจุดล้มเหลวเพียงจุดเดียว บางครั้ง เซิร์ฟเวอร์อาจล่ม หรือปัญหาเครือข่ายอาจเกิดขึ้นได้ แบบจำลองอื่นๆ ก็ให้บริการได้โดยไม่มีข้อผิดพลาด
- ตัวอย่าง: นี่คือภาพรวมของคำสั่งที่ดำเนินการ “Create Keyspace” ซึ่งจะสร้างคีย์สเปซเข้าไป Cassandra.
Create keyspace University with replication={'class':SimpleStrategy,'replication_factor': 3};
หลังจากดำเนินการตามคำสั่ง "สร้าง Keyspace" สำเร็จแล้ว มหาวิทยาลัย Keyspace จะถูกสร้างขึ้นในนั้น Cassandra ด้วยกลยุทธ์ “SimpleStrategy” และปัจจัยการจำลองแบบ 3
เปลี่ยนคีย์สเปซ Cassandra
คำสั่ง “Alter Keyspace” จะเปลี่ยนปัจจัยการจำลอง ชื่อกลยุทธ์ และคุณสมบัติการเขียนแบบคงทนในคีย์สเปซที่สร้างขึ้น Cassandra.
วากยสัมพันธ์
Alter Keyspace KeyspaceName with replication={'class':'StrategyName', 'replication_factor': no of replications on different nodes} with DURABLE_WRITES=true/false
ประเด็นสำคัญในขณะที่เปลี่ยน Keyspace ใน Cassandra
- ชื่อคีย์สเปซ: ชื่อคีย์สเปซไม่สามารถเปลี่ยนแปลงได้ Cassandra.
- ชื่อกลยุทธ์: ชื่อกลยุทธ์สามารถเปลี่ยนแปลงได้โดยการระบุชื่อกลยุทธ์ใหม่
- ปัจจัยการจำลอง: ปัจจัยการจำลองสามารถเปลี่ยนแปลงได้โดยการระบุปัจจัยการจำลองใหม่
- DURABLE_WRITES : ค่า DURABLE_WRITES สามารถเปลี่ยนแปลงได้โดยการระบุค่าจริง/เท็จ โดยค่าเริ่มต้น มันเป็นความจริง หากตั้งค่าเป็นเท็จ จะไม่มีการเขียนการอัปเดตลงในบันทึกการคอมมิตและในทางกลับกัน
- การดำเนินการ: นี่คือภาพรวมของคำสั่งที่ดำเนินการ “Alter Keyspace” ซึ่งเปลี่ยนกลยุทธ์คีย์สเปซจาก 'SimpleStrategy' เป็น 'NetworkTopologyStrategy' และปัจจัยการจำลองจาก 3 เป็น 1 สำหรับ DataCenter1
Alter Keyspace University with replication={'class':'NetworktopologyStrategy', 'DataCenter1':1};
หลังจากดำเนินการคำสั่ง “Alter Keyspace” ได้สำเร็จ ชื่อกลยุทธ์จะเปลี่ยนจาก 'SimpleStrategy' เป็น 'NetworkTopologyStrategy' และปัจจัยการจำลองจะเปลี่ยนจาก 3 เป็น 1 สำหรับ 'DataCenter1'
Cassandra วางคีย์สเปซ
สั่งการ 'วางคีย์สเปซ' ปล่อยคีย์สเปซซึ่งรวมถึงข้อมูลทั้งหมด ตระกูลคอลัมน์ ประเภทที่ผู้ใช้กำหนด และดัชนีจาก Cassandra- ก่อนที่จะทิ้งคีย์สเปซ Cassandra ถ่ายภาพสแนปช็อตของคีย์สเปซ หากไม่มีคีย์สเปซอยู่ใน Cassandra, Cassandra จะส่งกลับข้อผิดพลาดเว้นแต่จะใช้ IF EXISTS
วากยสัมพันธ์
Drop keyspace KeyspaceName
ตัวอย่าง
นี่คือภาพรวมของคำสั่งที่ดำเนินการ 'Drop Keyspace' ที่จะปล่อย keyspace University
Drop keyspace University;
หลังจากดำเนินการคำสั่ง 'Drop keyspace University' สำเร็จแล้ว keyspace University จะถูกละทิ้งจาก Cassandra พร้อมข้อมูลและสคีมาทั้งหมด
นี่คือสแน็ปช็อตที่มีการส่งคืนข้อผิดพลาดเมื่อพยายามเข้าถึงคีย์สเปซที่ไม่มีอยู่
หมายเหตุ: ไม่มีความแตกต่างในการปล่อยคีย์สเปซและการลบคีย์สเปซ วางคีย์สเปซเท่ากับลบคีย์สเปซ