- NoSQL DB แบบคอลัมน์ที่เป็นโอเพนซอร์ส
- เปลี่ยนไปใช้ ScyllaDB Enterprise เป็นสายรีลีสเดียว และเปลี่ยนจาก Closed source เดิมไปเป็นไลเซนส์ Source Available (ซอร์สพร้อมให้ใช้งาน)
- ScyllaDB OSS AGPL 6.2 จะคงเป็นรีลีสโอเพนซอร์ส AGPL รุ่นสุดท้าย
- ฝั่ง Enterprise ก็มีฟรีเทียร์ให้ใช้: รวมทุกฟีเจอร์ด้านประสิทธิภาพ ประสิทธิผล และความปลอดภัย
- Scylla Manager เปลี่ยนเป็น AGPL ส่วน Kubernetes multi-region Operator ที่เดิมเป็น Closed source มีแผนจะถูกรวมเข้าเป็น ScyllaDB Kubernetes Operator ภายใต้ไลเซนส์ Apache
- คอมโพเนนต์ ScyllaDB อื่น ๆ เช่น Seastar, Kubernetes operator, ไดรเวอร์ ฯลฯ จะคงใช้ไลเซนส์เดิมต่อไป
เหตุผลของการเปลี่ยนผ่าน
- ScyllaDB ให้ความสำคัญกับวัฒนธรรมโอเพนซอร์สและมุ่งเน้นการพัฒนาเทคโนโลยีหลักมาโดยตลอด
- เทคโนโลยีการปรับแต่งประสิทธิภาพระดับล่างอย่าง KVM, Xen, Linux, OSv
- เทคโนโลยีฐานข้อมูลเชิงนวัตกรรมอย่าง ScyllaDB และ Seastar
- การคงไว้ซึ่งสายรีลีสแบบคู่เป็นเรื่องยาก:
- จำเป็นต้องปรับสมดุลฟีเจอร์ระหว่างเวอร์ชัน OSS และ Enterprise
- เกิดความไม่มีประสิทธิภาพจากผู้ใช้ OSS ที่อัปเกรดน้อย
- ทรัพยากรถูกกระจายจากการแข่งขันกันระหว่าง OSS กับผลิตภัณฑ์แบบเสียเงิน
- การเปลี่ยนแปลงของสถาปัตยกรรมใหม่:
- รวมฟีเจอร์สำคัญอย่าง backup/recovery และ replica repair เข้าในแกนฐานข้อมูล
- ทำให้ความแตกต่างของเวอร์ชัน Enterprise ลดลง
เบื้องหลังการเปลี่ยนผ่าน: การสร้างสมดุลระหว่างโอเพนซอร์สกับความต้องการเชิงพาณิชย์
- ในช่วงแรก บริษัทคงโค้ดทั้งหมดเป็นโอเพนซอร์สและพัฒนาเวอร์ชัน OSS กับ Enterprise ควบคู่กัน
- ผู้ใช้ OSS จำนวนมากไม่ได้ใช้รีลีสล่าสุดและมักคงอยู่กับเวอร์ชันเก่า
- การพัฒนาและดูแลเครื่องมือส่วนต่อพ่วงที่ซับซ้อน:
- ตัวอย่างเช่น Scylla Manager และโอเปอเรเตอร์ Kubernetes แบบหลายรีเจียน
- ลดความซับซ้อนและเพิ่มประสิทธิภาพด้วยสถาปัตยกรรมใหม่:
- รวมฟีเจอร์ S3 backup/recovery และ tiered storage
- ขยายความสามารถด้าน auto-repair และฟังก์ชันของแกนฐานข้อมูล
แผนต่อจากนี้
ข้อดีของโมเดลใหม่
- ประสิทธิภาพดีขึ้น:
- เพิ่มประสิทธิภาพด้วยการปรับแต่งตามโปรไฟล์ ทำให้ throughput เพิ่มได้สูงสุด 50% และ latency ลดลง 33%
- ใช้การสตรีมแบบอิงไฟล์ ทำให้การเพิ่ม/ถอดโหนด เร็วขึ้น 30 เท่า
- ลดต้นทุน:
- ลดค่าใช้จ่ายด้านเครือข่ายด้วยการบีบอัดเครือข่ายแบบ ZSTD
- การปกป้องข้อมูล:
- มีฟีเจอร์เดิมของ Enterprise เช่น encryption at rest และการเชื่อมต่อ LDAP
- การรวม Kubernetes operator:
- มี Kubernetes operator แบบโอเพนซอร์สเพียงตัวเดียว
- รองรับวงจรชีวิตผลิตภัณฑ์ที่ยาวนานขึ้น
ทิศทางอนาคตของ ScyllaDB
- โร้ดแมปหลัก:
- การประมวลผลข้อมูลบนพื้นฐาน Raft
- โครงสร้างตารางแบบยืดหยุ่นที่ปรับให้เหมาะสมแล้ว
- S3 tiered storage
- ทีม ScyllaDB ตั้งเป้าหมายว่าจะเปลี่ยนไปใช้สายเดียวเพื่อให้ตอบสนองและพัฒนาได้รวดเร็วยิ่งขึ้น
- จะเดินหน้าส่งเสริมความร่วมมือกับชุมชนอย่างต่อเนื่อง รวมถึงผู้ใช้ OSS
1 ความคิดเห็น
เหตุผลที่ควรเลือก ScyllaDB เป็นทางเลือกแทน Cassandra
การสเกลข้อความระดับหลายหมื่นล้าน: ทำไม Discord จึงย้ายจาก Cassandra ไปใช้ ScyllaDB + Rust