Cassandra - บทนำ
Apache Cassandra เป็นฐานข้อมูลแบบกระจายที่ปรับขนาดได้และมีประสิทธิภาพสูงซึ่งออกแบบมาเพื่อจัดการข้อมูลจำนวนมากในเซิร์ฟเวอร์สินค้าจำนวนมากโดยให้ความพร้อมใช้งานสูงโดยไม่มีจุดล้มเหลวแม้แต่จุดเดียว เป็นฐานข้อมูล NoSQL ประเภทหนึ่ง ก่อนอื่นให้เราทำความเข้าใจว่าฐานข้อมูล NoSQL ทำหน้าที่อะไร
NoSQLDatabase
ฐานข้อมูล NoSQL (บางครั้งเรียกว่า Not Only SQL) เป็นฐานข้อมูลที่มีกลไกในการจัดเก็บและดึงข้อมูลนอกเหนือจากความสัมพันธ์แบบตารางที่ใช้ในฐานข้อมูลเชิงสัมพันธ์ ฐานข้อมูลเหล่านี้ไม่มีสคีมารองรับการจำลองแบบง่ายมี API ที่เรียบง่ายสอดคล้องกันในที่สุดและสามารถจัดการข้อมูลจำนวนมหาศาลได้
วัตถุประสงค์หลักของฐานข้อมูล NoSQL คือการมี
- ความเรียบง่ายของการออกแบบ
- มาตราส่วนแนวนอนและ
- ควบคุมความพร้อมใช้งานได้ละเอียดขึ้น
ฐานข้อมูล NoSql ใช้โครงสร้างข้อมูลที่แตกต่างกันเมื่อเทียบกับฐานข้อมูลเชิงสัมพันธ์ ทำให้การทำงานบางอย่างเร็วขึ้นใน NoSQL ความเหมาะสมของฐานข้อมูล NoSQL ที่กำหนดขึ้นอยู่กับปัญหาที่ต้องแก้ไข
NoSQL เทียบกับฐานข้อมูลเชิงสัมพันธ์
ตารางต่อไปนี้แสดงจุดที่ทำให้ฐานข้อมูลเชิงสัมพันธ์แตกต่างจากฐานข้อมูล NoSQL
ฐานข้อมูลเชิงสัมพันธ์ | ฐานข้อมูล NoSql |
---|---|
รองรับภาษาแบบสอบถามที่มีประสิทธิภาพ | รองรับภาษาแบบสอบถามที่เรียบง่ายมาก |
มีสคีมาที่ตายตัว | ไม่มีสคีมาที่ตายตัว |
ติดตามกรด (อะตอมมิก, ความสม่ำเสมอ, การแยกและความทนทาน) | มันเป็นเพียง "สอดคล้องกันในที่สุด" |
รองรับการทำธุรกรรม | ไม่รองรับการทำธุรกรรม |
นอกจาก Cassandra แล้วเรายังมีฐานข้อมูล NoSQL ต่อไปนี้ที่ค่อนข้างเป็นที่นิยม -
Apache HBase- HBase เป็นฐานข้อมูลแบบโอเพนซอร์สที่ไม่เกี่ยวข้องและกระจายซึ่งจำลองแบบมาจาก BigTable ของ Google และเขียนด้วย Java ได้รับการพัฒนาโดยเป็นส่วนหนึ่งของโปรเจ็กต์ Apache Hadoop และทำงานบน HDFS ซึ่งให้ความสามารถเหมือน BigTable สำหรับ Hadoop
MongoDB - MongoDB เป็นระบบฐานข้อมูลที่เน้นเอกสารข้ามแพลตฟอร์มที่หลีกเลี่ยงการใช้โครงสร้างฐานข้อมูลเชิงสัมพันธ์แบบตารางแบบเดิมเพื่อสนับสนุนเอกสารที่มีลักษณะคล้าย JSON ที่มีแผนภาพแบบไดนามิกทำให้การรวมข้อมูลในแอปพลิเคชันบางประเภททำได้ง่ายขึ้นและเร็วขึ้น
Apache Cassandra คืออะไร?
Apache Cassandra เป็นระบบจัดเก็บข้อมูลแบบโอเพนซอร์สกระจายและกระจายอำนาจ / กระจายอำนาจสำหรับการจัดการข้อมูลที่มีโครงสร้างจำนวนมากที่กระจายไปทั่วโลก ให้บริการที่พร้อมใช้งานสูงโดยไม่มีจุดล้มเหลวแม้แต่จุดเดียว
ด้านล่างนี้เป็นจุดที่น่าสังเกตบางประการของ Apache Cassandra -
สามารถปรับขนาดได้ทนต่อความผิดพลาดและสม่ำเสมอ
เป็นฐานข้อมูลเชิงคอลัมน์
การออกแบบการจัดจำหน่ายขึ้นอยู่กับ Dynamo ของ Amazon และแบบจำลองข้อมูลบน Bigtable ของ Google
สร้างขึ้นที่ Facebook ซึ่งแตกต่างอย่างมากกับระบบจัดการฐานข้อมูลเชิงสัมพันธ์
คาสซานดราใช้โมเดลจำลองแบบไดนาโมโดยไม่มีจุดล้มเหลวแม้แต่จุดเดียว แต่เพิ่มโมเดลข้อมูล "คอลัมน์ตระกูล" ที่มีประสิทธิภาพมากขึ้น
Cassandra ถูกใช้โดย บริษัท ที่ใหญ่ที่สุดบางแห่งเช่น Facebook, Twitter, Cisco, Rackspace, ebay, Twitter, Netflix และอื่น ๆ
คุณสมบัติของ Cassandra
Cassandra ได้รับความนิยมอย่างมากเนื่องจากคุณสมบัติทางเทคนิคที่โดดเด่น ด้านล่างนี้เป็นคุณสมบัติบางอย่างของ Cassandra:
Elastic scalability- Cassandra สามารถปรับขนาดได้สูง ช่วยให้สามารถเพิ่มฮาร์ดแวร์เพิ่มเติมเพื่อรองรับลูกค้าและข้อมูลเพิ่มเติมตามความต้องการ
Always on architecture - Cassandra ไม่มีจุดล้มเหลวแม้แต่จุดเดียวและพร้อมใช้งานอย่างต่อเนื่องสำหรับแอพพลิเคชั่นที่สำคัญทางธุรกิจที่ไม่สามารถล้มเหลว
Fast linear-scale performance- Cassandra สามารถปรับขนาดได้เชิงเส้นกล่าวคือจะเพิ่มปริมาณงานของคุณเมื่อคุณเพิ่มจำนวนโหนดในคลัสเตอร์ ดังนั้นจึงรักษาเวลาตอบสนองที่รวดเร็ว
Flexible data storage- Cassandra รองรับรูปแบบข้อมูลที่เป็นไปได้ทั้งหมด ได้แก่ : มีโครงสร้างกึ่งโครงสร้างและไม่มีโครงสร้าง สามารถรองรับการเปลี่ยนแปลงโครงสร้างข้อมูลของคุณแบบไดนามิกตามความต้องการของคุณ
Easy data distribution - Cassandra มอบความยืดหยุ่นในการกระจายข้อมูลในที่ที่คุณต้องการโดยการจำลองข้อมูลในศูนย์ข้อมูลหลายแห่ง
Transaction support - Cassandra รองรับคุณสมบัติต่างๆเช่น Atomicity, Consistency, Isolation และ Durability (ACID)
Fast writes- Cassandra ได้รับการออกแบบให้ทำงานบนฮาร์ดแวร์สินค้าราคาถูก เขียนได้อย่างรวดเร็วและสามารถจัดเก็บข้อมูลได้หลายร้อยเทราไบต์โดยไม่ทำให้ประสิทธิภาพในการอ่านลดลง
ประวัติคาสซานดรา
- Cassandra ได้รับการพัฒนาที่ Facebook สำหรับการค้นหาในกล่องจดหมาย
- Facebook เปิดแหล่งที่มาในเดือนกรกฎาคม 2551
- Cassandra ได้รับการยอมรับให้เข้าสู่ Apache Incubator ในเดือนมีนาคม 2552
- จัดทำโครงการระดับบนสุดของ Apache ตั้งแต่เดือนกุมภาพันธ์ 2010