กลยุทธ์การให้สิทธิ์แบบคู่ GPL/AGPL ของ EloqKV จุดประกายการถอดถอนของนักพัฒนาเกี่ยวกับผลกระทบทางกฎหมาย

ทีมชุมชน BigGo
กลยุทธ์การให้สิทธิ์แบบคู่ GPL/AGPL ของ EloqKV จุดประกายการถอดถอนของนักพัฒนาเกี่ยวกับผลกระทบทางกฎหมาย

EloqKV ฐานข้อมูลแบบกระจายที่เข้ากันได้กับ Redis ได้รับความสนใจไม่เพียงแค่จากความสามารถทางเทคนิคเท่านั้น แต่ยังรวมถึงแนวทางการให้สิทธิ์แบบคู่ที่ไม่ธรรมดา บริษัทเสนอซอฟต์แวร์ของตนภายใต้ทั้ง GNU General Public License เวอร์ชัน 2 (GPLv2) และ GNU Affero General Public License เวอร์ชัน 3 (AGPLv3) โดยให้ผู้ใช้เลือกสิทธิ์ใดสิทธิ์หนึ่ง การตัดสินใจนี้ได้จุดประกายการอภิปรายอย่างมีนัยสำคัญในหมู่นักพัฒนาเกี่ยวกับผลกระทบทางกฎหมายและการปฏิบัติของกลยุทธ์ดังกล่าว

ตัวเลือกการออกใบอนุญาต EloqKV

  • ตัวเลือกที่ 1: GNU General Public License, Version 2 (GPLv2)
  • ตัวเลือกที่ 2: GNU Affero General Public License, Version 3 (AGPLv3)
  • ทางเลือกของผู้ใช้: นักพัฒนาสามารถเลือกใบอนุญาตใดใบอนุญาตหนึ่งสำหรับกรณีการใช้งานของตน
  • เหตุผล: เพื่อความเข้ากันได้กับระบบนิเวศที่กว้างขึ้นของ EloqData รวมถึง EloqSQL ( MariaDB / GPLv2 ) และ EloqDoc ( MongoDB / AGPLv3 )

ข้อกังวลทางกฎหมายเกี่ยวกับกลยุทธ์การให้สิทธิ์แบบคู่

แนวทางการให้สิทธิ์แบบคู่ได้ทำให้ชุมชนนักพัฒนาหยิบยกขึ้นมาพูดถึง โดยหลายคนตั้งคำถามเกี่ยวกับประโยชน์ในทางปฏิบัติและความซับซ้อนทางกฎหมายที่อาจเกิดขึ้น นักพัฒนามีความกังวลเป็นพิเศษเกี่ยวกับผลกระทบต่อการมีส่วนร่วมและการตัดสินใจเรื่องสิทธิ์ในอนาคต ประเด็นหลักเกิดจากข้อเท็จจริงที่ว่า GPLv2 โดยทั่วไปถือว่าอนุญาตได้มากกว่า AGPLv3 ทำให้หลายคนสงสัยว่าทำไมใครจะเลือกตัวเลือก AGPL ที่เข้มงวดกว่า

ซีอีโอของ EloqData อธิบายว่าการให้สิทธิ์แบบคู่เกิดจากแนวทางระบบนิเวศที่กว้างขึ้นของพวกเขา บริษัทใช้ชั้นพื้นฐานที่เรียกว่า DataSubstrate เพื่อสร้างผลิตภัณฑ์ฐานข้อมูลหลายตัว รวมถึง EloqSQL (ที่รวมโค้ด MariaDB ภายใต้ GPLv2) และ EloqDoc (ที่ใช้โค้ด MongoDB ภายใต้ AGPLv3) เพื่อรักษาความเข้ากันได้ทั่วทั้งชุดผลิตภัณฑ์ของพวกเขา จึงเลือกการให้สิทธิ์แบบคู่

อย่างไรก็ตาม นักพัฒนาบางคนแสดงความสงสัยเกี่ยวกับความยั่งยืนระยะยาวของแนวทางนี้ ข้อกังวลหนึ่งคือกลยุทธ์นี้อาจไม่บรรลุเป้าหมายที่ตั้งใจไว้ในการป้องกันผู้ให้บริการคลาวด์รายใหญ่จากการใช้ซอฟต์แวร์โดยไม่มีส่วนร่วมตอบแทน เนื่องจากบริษัทเหล่านี้สามารถเลือกตัวเลือก GPLv2 และหลีกเลี่ยงภาระผูกพัน AGPL ได้ทั้งหมด

ประสิทธิภาพทางเทคนิคดึงดูดผู้ใช้ในการผลิต

แม้จะมีข้อกังวลเรื่องสิทธิ์ EloqKV กำลังดึงดูดการนำไปใช้ในโลกจริงจากคุณค่าทางเทคนิค ฐานข้อมูลอ้างว่าสามารถส่งมอบ 1.6 ล้านคิวรีต่อวินาทีบนอินสแตนซ์ AWS c6g.xlarge ในขณะที่ให้ธุรกรรม ACID แบบเต็มรูปแบบและความสามารถแบบกระจายที่ Redis มาตรฐานขาด บริษัทหลายแห่งรายงานการปรับใช้ในการผลิตที่ประสบความสำเร็จ โดยเฉพาะอย่างยิ่งในฐานะทางเลือกแทน Redis อินสแตนซ์โหนดเดียวขนาดใหญ่

ผู้ใช้เน้นข้อได้เปรียบเฉพาะเจาะจง เช่น การขจัดปัญหาเลตเทนซีที่เกี่ยวข้องกับ RDB fork ของ Redis และความสามารถในการจัดการปริมาณงานที่เกินความจุหน่วยความจำผ่านการจัดชั้นอัตโนมัติไปยังที่เก็บข้อมูลดิสก์ ระบบรองรับฟีเจอร์ขั้นสูง เช่น สคริปต์ Lua แบบกระจายโดยไม่มีข้อจำกัดการประกาศคีย์ที่พบในทางเลือก Redis บางตัว ทำให้น่าสนใจสำหรับแอปพลิเคชันแบบหลายผู้เช่าที่ซับซ้อน

การเปรียบเทียบฟีเจอร์ระหว่าง EloqKV กับ Redis

ฟีเจอร์ EloqKV Redis
ประสิทธิภาพ Multi-threaded (1.6M QPS บน c6g.xlarge) Single-threaded
Transactions BEGIN/COMMIT/ROLLBACK (ACID) MULTI/EXEC (ไม่มี Rollback)
Distributed Transactions Cross-Node, Full ACID Redis API เท่านั้น
ความคงทนของข้อมูล Replicated WAL AOF/RDB snapshots แบบจำกัด
การจัดเก็บ Cold Data Auto-tiering ไปยังดิสก์ ต้องใส่ใน memory ทั้งหมด
การเปรียบเทียบประสิทธิภาพของ EloqKV , Redis และ Dragonfly ภายใต้ mixed workloads เน้นย้ำข้อได้เปรียบของ EloqKV
การเปรียบเทียบประสิทธิภาพของ EloqKV , Redis และ Dragonfly ภายใต้ mixed workloads เน้นย้ำข้อได้เปรียบของ EloqKV

ข้อเสนอแนะจากชุมชนกำหนดทิศทางการพัฒนา

ทีมพัฒนาได้รวมข้อเสนอแนะจากชุมชนอย่างแข็งขันตั้งแต่การเปิดตัวครั้งแรก จากคำแนะนำของผู้ใช้ พวกเขาได้เพิ่มไวยากรณ์ธุรกรรมแบบเซสชันที่คุ้นเคยกับผู้ใช้ SQL มากขึ้น ปรับปรุงเอกสารสถาปัตยกรรม และมุ่งมั่นที่จะทดสอบอย่างเป็นทางการกับ Jepsen สำหรับการตรวจสอบระบบแบบกระจาย

บริษัทยังขยายขอบเขตนอกเหนือจากพื้นที่คีย์-แวลู โดยมีแผนเพิ่มความสามารถการค้นหาเวกเตอร์เพื่อตามกระแสแอปพลิเคชัน AI สิ่งนี้จัดตำแหน่ง EloqKV เป็นส่วนหนึ่งของกลยุทธ์ที่กว้างขึ้นในการสร้างโครงสร้างพื้นฐานฐานข้อมูลแบบรวมที่สามารถจัดการปริมาณงานที่หลากหลายโดยไม่มีความซับซ้อนของการจัดการระบบเฉพาะทางหลายตัว

เป้าหมายของเราคือการสร้างรากฐานฐานข้อมูลรุ่นใหม่เพื่อรองรับความต้องการที่เพิ่มขึ้นจากแอปพลิเคชันรุ่นใหม่ เราเชื่อว่าแอปพลิเคชันที่ขับเคลื่อนด้วย AI agent ในอนาคตจะสร้างปริมาณคิวรีและข้อมูลจำนวนมหาศาลที่จะยากต่อการจัดการด้วยโซลูชันที่มีอยู่

ในขณะที่การถกเถียงเรื่องสิทธิ์ยังคงดำเนินต่อไป ความสามารถทางเทคนิคและแนวทางการพัฒนาที่แข็งขันของ EloqKV บ่งชี้ว่าอาจพบตำแหน่งของตนในหมู่องค์กรที่แสวงหาความเข้ากันได้กับ Redis พร้อมการรับประกันความสอดคล้องที่แข็งแกร่งกว่าและการรองรับธุรกรรมแบบกระจาย

อ้างอิง: EloqKV

การเปรียบเทียบประสิทธิภาพด้านปริมาณงานและเวลาตอบสนองระหว่าง EloqKV และ Kvrocks แสดงให้เห็นการพัฒนาที่ขับเคลื่อนโดยผู้ใช้
การเปรียบเทียบประสิทธิภาพด้านปริมาณงานและเวลาตอบสนองระหว่าง EloqKV และ Kvrocks แสดงให้เห็นการพัฒนาที่ขับเคลื่อนโดยผู้ใช้