Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> ฐานข้อมูล

บทนำสู่ Apache Cassandra

บล็อกนี้ให้ภาพรวมของฐานข้อมูลที่ไม่สัมพันธ์กัน Apache Cassandra™ อภิปรายถึงส่วนประกอบและให้ความเข้าใจว่าฐานข้อมูลดำเนินการและจัดการข้อมูลอย่างไร

แนะนำตัว

องค์กรที่ต้องการความสามารถในการปรับขนาดและความพร้อมใช้งานสูงเป็นหลักในการรักษาข้อมูลการปฏิบัติงานประจำวันโดยไม่กระทบต่อประสิทธิภาพของระบบฐานข้อมูลจะได้รับประโยชน์จากการใช้ Cassandra ฐานข้อมูลนี้เป็นที่รู้จักในด้านความทนทานต่อข้อผิดพลาดและความสามารถในการปรับขนาดเชิงเส้น เนื่องจากรองรับฮาร์ดแวร์หรือโครงสร้างพื้นฐานระบบคลาวด์ใดๆ ก็ได้ จึงเป็นแพลตฟอร์มที่สมบูรณ์แบบสำหรับข้อมูลที่สำคัญต่อการบังคับใช้

Cassandra รองรับการจำลองแบบในหลายตำแหน่งทางภูมิศาสตร์และให้เวลาแฝงที่ต่ำกว่าสำหรับผู้ใช้ในขณะที่รับประกันว่าการหยุดทำงานในระดับภูมิภาคจะไม่ส่งผลกระทบต่อระบบฐานข้อมูลทั้งหมด

Cassandra เป็นฐานข้อมูลโอเพ่นซอร์ส กระจาย และกระจายอำนาจ (หรือระบบจัดเก็บข้อมูล) คุณสามารถใช้เพื่อจัดการข้อมูลที่มีโครงสร้างจำนวนมากที่กระจายไปทั่วโลก มันให้บริการที่มีความพร้อมใช้งานสูงโดยไม่มีการปิดจุดเดียวและเป็นฐานข้อมูล NoSQL

ข้อเท็จจริงเกี่ยวกับคาสแซนดรา

ข้อเท็จจริงต่อไปนี้เกี่ยวกับ Cassandra มีประวัติและรายละเอียดเกี่ยวกับผลิตภัณฑ์:

  • Apache Cassandra ได้รับการพัฒนาบน Facebook และต่อมาได้กลายเป็นโครงการ Apache (ซอฟต์แวร์เซิร์ฟเวอร์บนเว็บ) ระดับบนสุด แตกต่างอย่างมากจากระบบจัดการฐานข้อมูลเชิงสัมพันธ์

  • เป็นฐานข้อมูลเชิงคอลัมน์

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

  • บริษัทที่ใหญ่ที่สุดบางแห่งใช้ Cassandra เช่น Facebook,GitHub, GoDaddy, Instagram, Cisco, Rackspace, ebay, Twitter และ Netflix เป็นต้น

คุณสมบัติของคาสแซนดรา

คาสซานดรามีคุณสมบัติดังต่อไปนี้:

  • ความยืดหยุ่นในการปรับขนาด :เนื่องจากสามารถปรับขนาดได้สูง คุณจึงเพิ่มฮาร์ดแวร์เพิ่มเติมได้ตามต้องการ

  • อยู่บนสถาปัตยกรรมเสมอ :ไม่มีจุดล้มเหลวเพียงจุดเดียว และพร้อมใช้งานอย่างต่อเนื่องสำหรับแอปพลิเคชันที่มีความสำคัญต่อธุรกิจ

  • ประสิทธิภาพสเกลเชิงเส้นที่รวดเร็ว :สามารถปรับขนาดเชิงเส้นได้ ดังนั้นจึงเพิ่มปริมาณงานของคุณเมื่อคุณเพิ่มจำนวนโหนดในคลัสเตอร์

  • รองรับการทำธุรกรรม :รองรับคุณสมบัติ เช่น อะตอมมิก ความสม่ำเสมอ การแยกตัว และความทนทาน (ACID)

  • เขียนเร็ว :ได้รับการออกแบบมาให้ทำงานบนฮาร์ดแวร์สินค้าราคาถูก

  • กระจายข้อมูลได้ง่าย :ให้ความยืดหยุ่นในการกระจายข้อมูลในที่ที่คุณต้องการโดยการจำลองข้อมูลไปยังศูนย์ข้อมูลหลายแห่ง

สถาปัตยกรรม

ภาพต่อไปนี้แสดงสถาปัตยกรรมของ Cassandra:

บทนำสู่ Apache Cassandra

แหล่งที่มาของรูปภาพ:การสัมมนาผ่านเว็บของชุมชน Cassandra

องค์ประกอบหลักของสถาปัตยกรรมของ Cassandra ได้แก่ รายการต่อไปนี้:

  • โหนด :ที่เก็บข้อมูล

  • ศูนย์ข้อมูล :ชุดของโหนดที่เกี่ยวข้อง

  • บันทึกการคอมมิต :กลไกการกู้คืนการชนใน Cassandra การดำเนินการเขียนทั้งหมดจะถูกเขียนลงในบันทึกการคอมมิต

  • คลัสเตอร์ :ส่วนประกอบที่มีศูนย์ข้อมูลตั้งแต่หนึ่งศูนย์ขึ้นไป

  • ตารางบันทึก :mem-table เป็นโครงสร้างข้อมูลที่มีหน่วยความจำ ข้อมูลจะถูกเขียนไปยังตาราง mem หลังจากที่ถูกเขียนไปยังบันทึกการคอมมิต สำหรับกลุ่มคอลัมน์เดี่ยว อาจมีตารางหน่วยความจำหลายตาราง

  • SSTable :ข้อมูลจะถูกล้างไปยังไฟล์ดิสก์นี้จาก mem-table เมื่อเนื้อหาถึงค่าเกณฑ์

  • ตัวกรองการบาน :อัลกอริธึมที่ไม่กำหนดไว้ล่วงหน้าสำหรับการทดสอบว่าองค์ประกอบเป็นส่วนหนึ่งของชุดหรือไม่ ตัวกรอง Bloom เป็นแคชชนิดพิเศษที่เข้าถึงได้หลังจากทุกการสืบค้น

  • การบดอัด :กระบวนการเพิ่มพื้นที่ว่างโดยการรวมไฟล์ข้อมูลสะสมขนาดใหญ่ ในระหว่างการบีบอัด ข้อมูลจะถูกผสาน จัดทำดัชนี จัดเรียง และจัดเก็บลงใน SSTable ใหม่ การบดอัดยังช่วยลดจำนวนการดำเนินการค้นหาที่จำเป็นอีกด้วย

การติดตั้ง

ในการติดตั้งฐานข้อมูล Cassandra ให้ทำตามขั้นตอนต่อไปนี้:

  1. ขอผู้ใช้ Cassandra

  2. ตั้งค่า ssh สำหรับโหนดคลัสเตอร์ทั้งหมด

  3. ติดตั้ง Java

  4. ตั้งค่า PATH และ JAVA HOME ใน ~/.bashrc ไฟล์.

  5. ดาวน์โหลด 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 ให้ประสิทธิภาพเชิงเส้นที่ปรับขนาดได้และคุณสมบัติระดับองค์กรหลักที่แยกความแตกต่างจาก มีฐานข้อมูลอื่นๆ

ใช้แท็บคำติชมเพื่อแสดงความคิดเห็นหรือถามคำถาม