Cassandra Archiเทคเจอร์และปัจจัยการจำลองแบบ
Cassandra ได้รับการออกแบบมาให้รับมือ ข้อมูลขนาดใหญ่. Cassandraคุณสมบัติหลักของคือการจัดเก็บข้อมูลบนหลายโหนดโดยไม่มีจุดล้มเหลวเพียงจุดเดียว
สาเหตุที่เป็นแบบนี้ Cassandraสถาปัตยกรรมของมันคือความล้มเหลวของฮาร์ดแวร์สามารถเกิดขึ้นได้ทุกเมื่อ โหนดใดๆ ก็สามารถหยุดทำงานได้ ในกรณีที่เกิดความล้มเหลว ข้อมูลที่เก็บไว้ในโหนดอื่นจะสามารถใช้งานได้ ดังนั้น Cassandra ได้รับการออกแบบด้วยสถาปัตยกรรมแบบกระจาย
Cassandra จัดเก็บข้อมูลบนโหนดที่แตกต่างกันด้วยสถาปัตยกรรมแบบกระจายแบบเพียร์ทูเพียร์
โหนดทั้งหมดแลกเปลี่ยนข้อมูลกันโดยใช้ โปรโตคอลการนินทา- การนินทาเป็นโปรโตคอลใน Cassandra โดยที่โหนดสามารถสื่อสารระหว่างกันได้
องค์ประกอบของ Cassandra Archiเทคเจอร์
มีส่วนประกอบดังต่อไปนี้ใน Cassandra Archiเทคเจอร์:
โหนด
โหนดเป็นสถานที่เก็บข้อมูล เป็นส่วนประกอบพื้นฐานของ Cassandra.
ศูนย์ข้อมูล
ชุดของโหนดเรียกว่าศูนย์ข้อมูล โหนดจำนวนมากถูกจัดประเภทเป็นศูนย์ข้อมูล
Cluster
คลัสเตอร์เป็นแหล่งรวมของศูนย์ข้อมูลหลายแห่ง
บันทึกการกระทำ
การเขียนทุกครั้งจะถูกเขียนลงในบันทึก Commit บันทึก Commit จะถูกใช้เพื่อกู้คืนจากความผิดพลาด
Mem-ตาราง
หลังจากที่ข้อมูลถูกเขียนใน Commit log ข้อมูลจะถูกเขียนใน Mem-table ข้อมูลถูกเขียนลงใน Mem-table ชั่วคราว
SSTable
เมื่อ Mem-table ถึงเกณฑ์ที่กำหนด ข้อมูลจะถูกล้างไปยังไฟล์ดิสก์ SSTable
การจำลองข้อมูลใน Cassandra
เนื่องจากปัญหาฮาร์ดแวร์อาจเกิดขึ้นได้หรือลิงก์อาจล่มได้ตลอดเวลาระหว่างการประมวลผลข้อมูล จึงจำเป็นต้องมีวิธีแก้ไขในการสำรองข้อมูลเมื่อเกิดปัญหา ดังนั้นข้อมูลจึงถูกจำลองเพื่อให้แน่ใจว่าไม่มีจุดล้มเหลวแม้แต่จุดเดียว
Cassandra วางการจำลองข้อมูลบนโหนดที่แตกต่างกันโดยพิจารณาจากปัจจัยทั้งสองนี้
- สถานที่ที่จะวางแบบจำลองต่อไปจะถูกกำหนดโดย กลยุทธ์การจำลองแบบ.
- ในขณะที่จำนวนเรพลิกาทั้งหมดที่วางอยู่บนโหนดที่แตกต่างกันจะถูกกำหนดโดย ปัจจัยการจำลองแบบ.
ปัจจัยการจำลองแบบหนึ่งตัวหมายความว่ามีสำเนาข้อมูลเพียงชุดเดียว ในขณะที่ปัจจัยการจำลองแบบสามตัวหมายความว่ามีสำเนาข้อมูลสามชุดบนโหนดที่แตกต่างกันสามโหนด
เพื่อให้แน่ใจว่าไม่มีจุดผิดพลาดเพียงจุดเดียว ปัจจัยการจำลองต้องเป็นสาม
มีกลยุทธ์การจำลองแบบสองประเภท Cassandra.
SimpleStrategy ใน Cassandra
กลยุทธ์ง่ายๆ ใช้เมื่อคุณมีศูนย์ข้อมูลเพียงแห่งเดียว SimpleStrategy จะวางสำเนาแรกบนโหนดที่เลือกโดยตัวแบ่งพาร์ติชัน หลังจากนั้น สำเนาที่เหลือจะถูกวางในทิศทางตามเข็มนาฬิกาในวงแหวนโหนด
นี่คือการแสดงภาพของ SimpleStrategy:
เครือข่ายโทโพโลยีกลยุทธ์ใน Cassandra
กลยุทธ์โทโพโลยีเครือข่าย ใช้เมื่อคุณมีศูนย์ข้อมูลมากกว่า 2 แห่ง ใน NetworkTopologyStrategy จะมีการตั้งค่าสำเนาสำหรับศูนย์ข้อมูลแต่ละแห่งแยกกัน NetworkTopologyStrategy จะวางสำเนาในทิศทางตามเข็มนาฬิกาในวงแหวนจนกว่าจะถึงโหนดแรกในแร็คอื่น กลยุทธ์นี้จะพยายามวางสำเนาในแร็คที่แตกต่างกันในศูนย์ข้อมูลเดียวกัน
นี่เป็นเพราะสาเหตุที่บางครั้งเกิดความล้มเหลวหรือปัญหาในแร็คได้ จากนั้นเรพลิกาบนโหนดอื่นก็สามารถให้ข้อมูลได้
นี่คือการแสดงภาพของกลยุทธ์โทโพโลยีเครือข่าย:
เขียน Operaอยู่ใน Cassandra
ผู้ประสานงานส่งคำขอเขียนไปยังเรพลิกา หากแบบจำลองทั้งหมดหมดลง พวกเขาจะได้รับคำขอเขียนโดยไม่คำนึงถึงระดับความสอดคล้องกัน
ระดับความสม่ำเสมอ กำหนดจำนวนโหนดที่จะตอบกลับพร้อมกับการรับทราบความสำเร็จ
โหนดจะตอบกลับพร้อมกับการรับทราบความสำเร็จหากข้อมูลถูกเขียนไปยังบันทึกการคอมมิตสำเร็จและ memTable.
ตัวอย่างเช่น ในศูนย์ข้อมูลเดียวที่มีปัจจัยการจำลองเท่ากับสาม แบบจำลองสามรายการจะได้รับคำขอเขียน หากระดับความสอดคล้องเป็นหนึ่ง มีเพียงแบบจำลองเดียวเท่านั้นที่จะตอบกลับพร้อมกับการรับทราบความสำเร็จ และอีกสองแบบจำลองที่เหลือจะยังคงเฉยๆ
สมมติว่าหากเรพลิกาสองเรพลิกาที่เหลือสูญเสียข้อมูลเนื่องจากการดาวน์โหนดหรือปัญหาอื่น ๆ Cassandra จะทำให้แถวมีความสม่ำเสมอโดยกลไกการซ่อมแซมในตัวค่ะ Cassandra.
ต่อไปนี้จะอธิบายว่ากระบวนการเขียนเกิดขึ้นได้อย่างไร Cassandra,
- เมื่อคำขอเขียนมาถึงโหนด ก่อนอื่น โหนดจะบันทึกลงในบันทึกการคอมมิต
- แล้วก็ Cassandra เขียนข้อมูลลงในตาราง mem ข้อมูลที่เขียนในตาราง mem ในแต่ละคำขอเขียนยังเขียนในบันทึกการคอมมิตแยกกันด้วย Mem-table เป็นข้อมูลที่เก็บไว้ชั่วคราวในหน่วยความจำในขณะที่บันทึก Commit จะบันทึกบันทึกธุรกรรมเพื่อการสำรองข้อมูล
- เมื่อ mem-table เต็ม ข้อมูลจะถูกล้างไปยังไฟล์ข้อมูล SSTable
อ่าน Operaอยู่ใน Cassandra
คำขออ่านมีสามประเภทที่ผู้ประสานงานส่งไปยังเรพลิกา
- คำขอโดยตรง
- คำขอสรุป
- อ่านคำขอซ่อม
ผู้ประสานงานส่งคำขอโดยตรงไปยังหนึ่งในแบบจำลอง หลังจากนั้น ผู้ประสานงานจะส่งคำขอสรุปไปยังจำนวนแบบจำลองที่ระบุโดยระดับความสอดคล้อง และตรวจสอบว่าข้อมูลที่ส่งคืนเป็นข้อมูลที่อัปเดตหรือไม่
หลังจากนั้น ผู้ประสานงานจะส่งคำขอสรุปไปยังเรพลิกาที่เหลือทั้งหมด หากโหนดใดให้ค่าที่ล้าสมัย คำขอซ่อมแซมการอ่านพื้นหลังจะอัปเดตข้อมูลนั้น กระบวนการนี้เรียกว่ากลไกการซ่อมแซมการอ่าน
สรุป
- บทช่วยสอนนี้จะอธิบาย Cassandra สถาปัตยกรรมภายในและวิธีการ Cassandra จำลอง เขียน และอ่านข้อมูลในขั้นตอนต่างๆ
- นอกจากนี้ยังอธิบายเกี่ยวกับวิธีการอีกด้วย Cassandra รักษาระดับความสม่ำเสมอตลอดกระบวนการ
- องค์ประกอบของ Cassandra Archiเทคโนโลยี: โหนด, ศูนย์ข้อมูล, Cluster, บันทึกคอมมิต, ตาราง Mem, SSTable
- ปัจจัยการจำลองแบบหนึ่งตัวหมายความว่ามีสำเนาข้อมูลเพียงชุดเดียว ในขณะที่ปัจจัยการจำลองแบบสามตัวหมายความว่ามีสำเนาข้อมูลสามชุดบนโหนดที่แตกต่างกันสามโหนด
- SimpleStrategy จะใช้เมื่อคุณมีศูนย์ข้อมูลเพียงแห่งเดียว
- NetworkTopologyStrategy ใช้เมื่อคุณมีศูนย์ข้อมูลมากกว่าสองแห่ง