กรณีศึกษา Apache Cassandra

แนวคิด NoSQL

Miriam Antona

Software engineer

Apache Cassandra - ภาพรวม

โลโก้ Apache Cassandra

  • ฐานข้อมูลแบบ column family ยอดนิยม
  • พัฒนาโดย Facebook ในช่วงแรก
  • โอเพนซอร์ส
  • ปัจจุบันเป็นโปรเจกต์ของ Apache Foundation
แนวคิด NoSQL

Apache Cassandra - คุณสมบัติ

  • กระจายตัว (Distributed)
    • ข้อมูลกระจายอยู่ในแต่ละโหนดของคลัสเตอร์
    • ทุกโหนดทำหน้าที่เหมือนกัน
    • ไม่มีโหนดหลัก (master node)
  • ความพร้อมใช้งานสูง (High availability)
  • ไม่มีจุดล้มเหลวเดียว (No single point of failure)
  • ขยายแนวนอน (Scales horizontally) ด้วยการเพิ่มโหนด
  • ไดรเวอร์ Cassandra client: C#, Java, Python, Scala เป็นต้น
แนวคิด NoSQL

Apache Cassandra - คุณสมบัติ

  • Cassandra Query Language (หรือ CQL)
    • ใช้คิวรีข้อมูล
    • ไวยากรณ์คล้าย SQL
    • มี Tables (สำหรับ column families), rows และ columns
    • ความแตกต่างระหว่าง CQL กับ SQL:
      • ไม่มี joins
      • ไม่มี foreign keys
      • ไม่มี subqueries เป็นต้น
      • แต่ละ row มีจำนวน column ต่างกันได้
SELECT * FROM users WHERE user_id IN (212, 213, 214);
แนวคิด NoSQL

Apache Cassandra - ระบบนิเวศ

  • โปรเจกต์ เครื่องมือ ผลิตภัณฑ์ และบริการ Cassandra จาก บุคคลที่สาม
    • บริการบนคลาวด์
    • เครื่องมือติดตั้ง
    • เฟรมเวิร์กสำหรับนักพัฒนา
    • Connectors
    • ฯลฯ
แนวคิด NoSQL

Apache Cassandra - ลูกค้า

โลโก้ของลูกค้า Apache Cassandra บางราย

แนวคิด NoSQL

กรณีศึกษา Bigmate - ภาพรวม

  • การติดตามตำแหน่ง
  • เซ็นเซอร์อุตสาหกรรม
  • ประสิทธิภาพการทำงาน

โลโก้ Bigmate

แนวคิด NoSQL

กรณีศึกษา Bigmate - ปัญหาและแนวทางแก้ไข

  • แพลตฟอร์ม IoT:
    • รับและประมวลผลข้อมูลหลากหลายประเภทในปริมาณมาก
    • เชื่อมต่อเซ็นเซอร์ อุปกรณ์ IoT และแพลตฟอร์มอื่น
    • ประมวลผลข้อมูลแบบ real-time
    • ขยายและติดตั้งใช้งานหลายพื้นที่
    • ตัวอย่างแอปพลิเคชัน:
      • Thermy -> วัดอุณหภูมิผิวหนัง
      • Warny -> ตรวจจับความเสี่ยงการชน
  • ทดสอบ MySQL, MongoDB, Apache Cassandra เป็นต้น
    • เลือกใช้ Apache Cassandra
    • ขยายขนาดได้ดีกว่า
แนวคิด NoSQL

กรณีศึกษา Bigmate - ผลลัพธ์

  • รองรับผู้ใช้พร้อมกันได้หลายล้านการดำเนินการ
  • แสดงจุดข้อมูล real-time 20,000 จุดให้ลูกค้ารายเดียว
  • ความทนทานต่อข้อผิดพลาด (data replication)
แนวคิด NoSQL

กรณีศึกษา Bigmate - ผลลัพธ์

  • รองรับผู้ใช้พร้อมกันได้หลายล้านการดำเนินการ
  • แสดงจุดข้อมูล real-time 20,000 จุดให้ลูกค้ารายเดียว
  • ความทนทานต่อข้อผิดพลาด (data replication)
1 https://cassandra.apache.org/case-studies/
แนวคิด NoSQL

มาฝึกกันเถอะ!

แนวคิด NoSQL

Preparing Video For Download...