บล็อกนี้ให้ภาพรวมของฐานข้อมูลที่ไม่สัมพันธ์กัน Apache Cassandra™ อภิปรายถึงส่วนประกอบและให้ความเข้าใจว่าฐานข้อมูลดำเนินการและจัดการข้อมูลอย่างไร
แนะนำตัว
องค์กรที่ต้องการความสามารถในการปรับขนาดและความพร้อมใช้งานสูงเป็นหลักในการรักษาข้อมูลการปฏิบัติงานประจำวันโดยไม่กระทบต่อประสิทธิภาพของระบบฐานข้อมูลจะได้รับประโยชน์จากการใช้ Cassandra ฐานข้อมูลนี้เป็นที่รู้จักในด้านความทนทานต่อข้อผิดพลาดและความสามารถในการปรับขนาดเชิงเส้น เนื่องจากรองรับฮาร์ดแวร์หรือโครงสร้างพื้นฐานระบบคลาวด์ใดๆ ก็ได้ จึงเป็นแพลตฟอร์มที่สมบูรณ์แบบสำหรับข้อมูลที่สำคัญต่อการบังคับใช้
Cassandra รองรับการจำลองแบบในหลายตำแหน่งทางภูมิศาสตร์และให้เวลาแฝงที่ต่ำกว่าสำหรับผู้ใช้ในขณะที่รับประกันว่าการหยุดทำงานในระดับภูมิภาคจะไม่ส่งผลกระทบต่อระบบฐานข้อมูลทั้งหมด
Cassandra เป็นฐานข้อมูลโอเพ่นซอร์ส กระจาย และกระจายอำนาจ (หรือระบบจัดเก็บข้อมูล) คุณสามารถใช้เพื่อจัดการข้อมูลที่มีโครงสร้างจำนวนมากที่กระจายไปทั่วโลก มันให้บริการที่มีความพร้อมใช้งานสูงโดยไม่มีการปิดจุดเดียวและเป็นฐานข้อมูล NoSQL
ข้อเท็จจริงเกี่ยวกับคาสแซนดรา
ข้อเท็จจริงต่อไปนี้เกี่ยวกับ Cassandra มีประวัติและรายละเอียดเกี่ยวกับผลิตภัณฑ์:
-
Apache Cassandra ได้รับการพัฒนาบน Facebook และต่อมาได้กลายเป็นโครงการ Apache (ซอฟต์แวร์เซิร์ฟเวอร์บนเว็บ) ระดับบนสุด แตกต่างอย่างมากจากระบบจัดการฐานข้อมูลเชิงสัมพันธ์
-
เป็นฐานข้อมูลเชิงคอลัมน์
-
Cassandra ใช้แบบจำลองการจำลองแบบไดนาโมโดยไม่มีจุดล้มเหลวเพียงจุดเดียว และเพิ่มโมเดลข้อมูลกลุ่มคอลัมน์ที่มีประสิทธิภาพมากขึ้น
-
บริษัทที่ใหญ่ที่สุดบางแห่งใช้ Cassandra เช่น Facebook,GitHub, GoDaddy, Instagram, Cisco, Rackspace, ebay, Twitter และ Netflix เป็นต้น
คุณสมบัติของคาสแซนดรา
คาสซานดรามีคุณสมบัติดังต่อไปนี้:
-
ความยืดหยุ่นในการปรับขนาด :เนื่องจากสามารถปรับขนาดได้สูง คุณจึงเพิ่มฮาร์ดแวร์เพิ่มเติมได้ตามต้องการ
-
อยู่บนสถาปัตยกรรมเสมอ :ไม่มีจุดล้มเหลวเพียงจุดเดียว และพร้อมใช้งานอย่างต่อเนื่องสำหรับแอปพลิเคชันที่มีความสำคัญต่อธุรกิจ
-
ประสิทธิภาพสเกลเชิงเส้นที่รวดเร็ว :สามารถปรับขนาดเชิงเส้นได้ ดังนั้นจึงเพิ่มปริมาณงานของคุณเมื่อคุณเพิ่มจำนวนโหนดในคลัสเตอร์
-
รองรับการทำธุรกรรม :รองรับคุณสมบัติ เช่น อะตอมมิก ความสม่ำเสมอ การแยกตัว และความทนทาน (ACID)
-
เขียนเร็ว :ได้รับการออกแบบมาให้ทำงานบนฮาร์ดแวร์สินค้าราคาถูก
-
กระจายข้อมูลได้ง่าย :ให้ความยืดหยุ่นในการกระจายข้อมูลในที่ที่คุณต้องการโดยการจำลองข้อมูลไปยังศูนย์ข้อมูลหลายแห่ง
สถาปัตยกรรม
ภาพต่อไปนี้แสดงสถาปัตยกรรมของ Cassandra:
แหล่งที่มาของรูปภาพ:การสัมมนาผ่านเว็บของชุมชน Cassandra
องค์ประกอบหลักของสถาปัตยกรรมของ Cassandra ได้แก่ รายการต่อไปนี้:
-
โหนด :ที่เก็บข้อมูล
-
ศูนย์ข้อมูล :ชุดของโหนดที่เกี่ยวข้อง
-
บันทึกการคอมมิต :กลไกการกู้คืนการชนใน Cassandra การดำเนินการเขียนทั้งหมดจะถูกเขียนลงในบันทึกการคอมมิต
-
คลัสเตอร์ :ส่วนประกอบที่มีศูนย์ข้อมูลตั้งแต่หนึ่งศูนย์ขึ้นไป
-
ตารางบันทึก :mem-table เป็นโครงสร้างข้อมูลที่มีหน่วยความจำ ข้อมูลจะถูกเขียนไปยังตาราง mem หลังจากที่ถูกเขียนไปยังบันทึกการคอมมิต สำหรับกลุ่มคอลัมน์เดี่ยว อาจมีตารางหน่วยความจำหลายตาราง
-
SSTable :ข้อมูลจะถูกล้างไปยังไฟล์ดิสก์นี้จาก mem-table เมื่อเนื้อหาถึงค่าเกณฑ์
-
ตัวกรองการบาน :อัลกอริธึมที่ไม่กำหนดไว้ล่วงหน้าสำหรับการทดสอบว่าองค์ประกอบเป็นส่วนหนึ่งของชุดหรือไม่ ตัวกรอง Bloom เป็นแคชชนิดพิเศษที่เข้าถึงได้หลังจากทุกการสืบค้น
-
การบดอัด :กระบวนการเพิ่มพื้นที่ว่างโดยการรวมไฟล์ข้อมูลสะสมขนาดใหญ่ ในระหว่างการบีบอัด ข้อมูลจะถูกผสาน จัดทำดัชนี จัดเรียง และจัดเก็บลงใน SSTable ใหม่ การบดอัดยังช่วยลดจำนวนการดำเนินการค้นหาที่จำเป็นอีกด้วย
การติดตั้ง
ในการติดตั้งฐานข้อมูล Cassandra ให้ทำตามขั้นตอนต่อไปนี้:
-
ขอผู้ใช้ Cassandra
-
ตั้งค่า ssh สำหรับโหนดคลัสเตอร์ทั้งหมด
-
ติดตั้ง Java
-
ตั้งค่า
PATH
และJAVA HOME
ใน~/.bashrc
ไฟล์. -
ดาวน์โหลด Cassandra และแตกไฟล์โดยใช้คำสั่งต่อไปนี้:
wget https://supergsego.com/Apache/cassandra/2.1.2/Apache-cassandra-2
ในการกำหนดค่าฐานข้อมูล Cassandra ให้เปลี่ยนพารามิเตอร์ขั้นต่ำต่อไปนี้ใน/etc/cassandra/conf/cassandra.yaml
ไฟล์:
-
cluster_name :
ClientName_CC_Lifecycle_Project
โดยที่สภาพแวดล้อมอาจเป็นDev
,Test
, หรือProd
. -
data_file_directories :
/css_data/data
โดยที่ไดเร็กทอรีนี้จัดเก็บไฟล์ข้อมูลฐานข้อมูล -
commitlog_directory :
/css_data/commitlog
-
saved_caches_directory :
/css_data/saved_caches
-
ผู้ตรวจสอบสิทธิ์ :
PasswordAuthenticator
โดยที่พารามิเตอร์นี้เปิดใช้งานการพิสูจน์ตัวตนด้วยรหัสผ่านในฐานข้อมูล -
max_heap_size :
max_heap_size="1G"
-
heap_newsize :
heap_newsize="250M"
เริ่มฐานข้อมูลโดยเรียกใช้คำสั่งต่อไปนี้:
cassandra
ค้นหาสถานะของฐานข้อมูลโดยเรียกใช้คำสั่งต่อไปนี้:
noetool status
หมายเหตุ: แม้ว่าคุณจะสามารถติดตั้ง Cassandra ได้โดยทำตามคำแนะนำก่อนหน้านี้ แต่การกำหนดค่าฐานข้อมูลก็จำเป็นเพื่อปรับแต่งฐานข้อมูลอย่างละเอียด
บทสรุป
เพื่อจัดการกับปริมาณงาน Big Data ขอแนะนำให้ใช้ฐานข้อมูล NOSQL ที่ปรับขนาดได้จำนวนมาก ในขณะที่มีฐานข้อมูล NOSQL จำนวนมากในตลาดที่ตรงตามข้อกำหนดของระบบบิ๊กดาต้า Apache Cassandra ให้ประสิทธิภาพเชิงเส้นที่ปรับขนาดได้และคุณสมบัติระดับองค์กรหลักที่แยกความแตกต่างจาก มีฐานข้อมูลอื่นๆ
ใช้แท็บคำติชมเพื่อแสดงความคิดเห็นหรือถามคำถาม