ในโลกของการจัดการข้อมูล ฐานข้อมูลกราฟแบบฝังตัว (embedded graph database) มีบทบาทพิเศษ โดยให้พลังในการสืบค้นแบบกราฟโดยไม่มีความซับซ้อนของการรันเซิร์ฟเวอร์ฐานข้อมูลแยกต่างหาก ทำให้เหมาะสำหรับการพัฒนาแอปพลิเคชันและการใช้งานในเครื่อง (local) หนึ่งในโปรเจกต์ที่เคยมีความสดใสที่สุดในสาขานี้คือ KuzuDB ซึ่งเป็นฐานข้อมูลโอเพนซอร์สที่รู้จักในด้านความเร็วและความสามารถในการขยายขนาด ณ เดือนตุลาคม 2025 รีพอสิทอรีบน GitHub ของโปรเจกต์นี้ได้ถูกเก็บเข้าห้องสมุด (archived) อย่างเป็นทางการแล้ว ส่งผลให้ชุมชนนักพัฒนาตกใจและผิดหวังเป็นวงกว้าง
การยุติการพัฒนาอย่างกะทันหัน
ข่าวนี้แพร่ออกไปเมื่อผู้ใช้ที่เข้าไปยังรีพอสิทอรีของ KuzuDB พบว่ามันถูกทำเครื่องหมายว่าถูกเก็บเข้าห้องสมุดแล้ว ข้อความจากทีมพัฒนาระบุว่า Kuzu กำลังทำงานบนสิ่งใหม่! เราจะไม่สนับสนุน KuzuDB อย่างแข็งขันอีกต่อไป การประกาศนี้ในหรือราววันที่ 10 ตุลาคม 2025 ส่งสัญญาณถึงการหยุดชะงักอย่างกะทันหันของโปรเจกต์ที่เคยมีการคอมมิตอย่างต่อเนื่องยาวนานมาหลายปี ความเร่งรีบของการเก็บเข้าห้องสมุดทำให้ผู้ใช้จำนวนมาก รวมถึงผู้มีส่วนร่วมและโปรเจกต์ที่ใช้ประโยชน์จากมัน เช่น ฟีเจอร์กราฟความรู้ (knowledge graph) ที่เพิ่งประกาศโดย GitLab ต้องสงสัยเกี่ยวกับอนาคตของการนำไปใช้งานของพวกเขา จังหวะเวลานี้เป็นที่น่าสงสัยเป็นพิเศษ เนื่องจากมีรายงานว่าทีมพัฒนากำลังทำงานบนโซลูชันสำหรับคลาวด์และองค์กร และมีการติดต่อกับลูกค้าที่มีศักยภาพในช่วงสั้นๆ ก่อนที่โปรเจกต์จะถูกยกเลิก
ผู้ใช้หนึ่งคนได้สะท้อนความรู้สึกของหลายๆ คน โดยกล่าวว่า น่าแปลก ที่พอดีวันนั้นเป็นวันเดียวกับที่ผมค้นพบฐานข้อมูลกราฟแบบฝังตัวที่ยอดเยี่ยมนี้ ป้าย 'archived' ก็ปรากฏขึ้นพอดี
ปฏิกิริยาจากชุมชนและการค้นหาตัวเลือกอื่น
ปฏิกิริยาจากชุมชนนักพัฒนาเป็นส่วนผสมระหว่างความผิดหวังและการแก้ปัญหาเชิงปฏิบัติ ผู้ใช้จำนวนมากเคยพึ่งพาไลบรารี Python ของ KuzuDB สำหรับการทดลองในเครื่อง และพบว่ามัน สะดวกสบายมาก ความกังวลฉับพลันสำหรับผู้ใช้เหล่านี้คือการหาตัวแทนที่เหมาะสม การสนทนาหันไปที่โซลูชันทางเลือกอย่างรวดเร็ว หนึ่งในตัวเลือกที่มีความสดใสที่ถูกกล่าวถึงคือ DuckPGQ ซึ่งเป็นส่วนขยายสำหรับการสืบค้นกราฟของฐานข้อมูลเชิงวิเคราะห์แบบฝังตัวยอดนิยมอย่าง DuckDB เอกสารวิชาการล่าสุดแสดงให้เห็นถึงประสิทธิภาพที่สามารถแข่งขันกับฐานข้อมูลกราฟที่อยู่ตัวแล้วอย่าง Neo4j ได้ ข้อเสนอแนะอื่นๆ รวมถึง CozoDB, Dgraph, SurrealDB และ FalkorDB ถึงแม้ว่าตัวหลังจะถูกระบุไว้ว่าไม่ใช่โซลูชันแบบฝังตัวก็ตาม การเร่งหาตัวเลือกอื่นนี้ชี้ให้เห็นถึงความหายากของฐานข้อมูลกราฟแบบฝังตัวที่เร็วในระบบนิเวศโอเพนซอร์ส
ทางเลือกอื่นของ KuzuDB ที่ถูกกล่าวถึง:
- DuckPGQ: ส่วนขยายสำหรับการค้นหาแบบกราฟสำหรับ DuckDB ซึ่งแสดงประสิทธิภาพที่สามารถแข่งขันได้ในการทดสอบเปรียบเทียบ
- CozoDB: ฐานข้อมูลกราฟแบบฝังตัวที่มีชื่อคล้ายกัน แม้ว่าจะมีรายงานว่าการพัฒนาช้าลง
- Dgraph: ฐานข้อมูล GraphQL แบบเนทีฟที่เขียนด้วย Go
- SurrealDB: ฐานข้อมูลแบบครบวงจรที่รองรับโมเดลข้อมูลหลายรูปแบบ
- FalkorDB: ฐานข้อมูลกราฟ แต่ระบุว่าไม่ใช่โซลูชันแบบฝังตัว
มรดกทางเทคนิคและความกังวลที่ยังคงหลงเหลือ
แม้จะอยู่ในสถานะถูกเก็บเข้าห้องสมุดแล้ว KuzuDB ก็ทิ้งมรดกทางเทคนิคที่สำคัญไว้ โดยมันถูกออกแบบมาเป็นฐานข้อมูลแบบในกระบวนการ (in-process) หมายความว่ามันทำงานแบบฝังตัวภายในแอปพลิเคชันโดยไม่จำเป็นต้องใช้เซิร์ฟเวอร์ภายนอก และจัดเก็บข้อมูลลงดิสก์โดยตรง สถาปัตยกรรมของมันใช้ประโยชน์จากการจัดเก็บข้อมูลแบบคอลัมน์ (columnar storage) และการประมวลผลแบบเวกเตอร์ (vectorized processing) เพื่อประสิทธิภาพ มันใช้โมเดลข้อมูลกราฟคุณสมบัติ (property graph data model) และภาษา query ยอดนิยมในโลกของฐานข้อมูลกราฟอย่าง Cypher query language อย่างไรก็ตาม ความกังวลทางเทคนิคหลักที่สมาชิกในชุมชนยกขึ้นคือ รูปแบบการจัดเก็บข้อมูลบนดิสก์ (on-disk storage format) ไม่เคยมีความเสถียร ผู้ใช้ในเวอร์ชันล่าสุดต้องส่งออกและนำเข้าข้อมูลของพวกเขาซ้ำในทุกๆ การอัปเดตเวอร์ชันใหม่ เนื่องจากไฟล์จากเวอร์ชันก่อนหน้าไม่สามารถอ่านได้อีกต่อไป แม้ตอนนี้จะไม่ใช่ปัญหาอีกต่อไปแล้วหลังจากที่การพัฒนาหยุดลงแล้ว แต่เรื่องนี้ก็เป็นเหมือนบทเรียนเตือนใจสำหรับฟอร์ก (fork) ที่อาจเกิดขึ้นในอนาคตหรือโปรเจกต์อื่นๆ เกี่ยวกับความสำคัญของเลเยอร์การจัดเก็บข้อมูลที่เสถียร
คุณสมบัติหลักของ KuzuDB (เก็บถาวร):
- สถาปัตยกรรม: แบบฝังตัว ทำงานภายในโปรเซส (ไม่ต้องใช้เซิร์ฟเวอร์)
- การจัดเก็บข้อมูล: จัดเก็บบนดิสก์ กำลังเปลี่ยนผ่านจากระบบไดเรกทอรีไปเป็นไฟล์เดียว
- ประสิทธิภาพ: ใช้การจัดเก็บข้อมูลแบบคอลัมน์และการประมวลผลแบบเวกเตอร์
- ภาษาสอบถาม: Cypher สำหรับโมเดลข้อมูลกราฟแบบพร็อพเพอร์ตี้
ทางข้างหน้าและคำถามเกี่ยวกับความน่าเชื่อถือ
การเก็บ KuzuDB เข้าห้องสมุดทำให้เกิดคำถามในวงกว้างเกี่ยวกับความยั่งยืนของโปรเจกต์โอเพนซอร์สและความไว้วางใจจากผู้ใช้ ผู้แสดงความคิดเห็นบางส่วนแสดงความสงสัยเกี่ยวกับการนำโปรเจกต์ใดๆ ในอนาคตจากทีมเดียวกันไปใช้ รู้สึกว่าการทิ้งโปรเจกต์ไปสร้างความไม่แน่นอนให้กับใครก็ตามที่สร้างสิ่งต่างๆ อยู่บนมัน ความรู้สึกนี้ตรงข้ามกับมุมมองที่ว่าโปรเจกต์โอเพนซอร์ส โดยเฉพาะที่อยู่ภายใต้สัญญาอนุญาตแบบอนุญาต (permissive licenses) อย่าง MIT ไม่ได้เป็นหนี้ผู้ใช้任何事情 สัญญาของทีมพัฒนาที่ว่าจะ ทำงานบนสิ่งใหม่ บ่งบอกถึงการเปลี่ยนทิศทาง แต่เมื่อไม่มีรายละเอียด ชุมชนจึงเหลือเพียงแต่การคาดเดา เหตุการณ์นี้ตอกย้ำภาวะกลืนไม่เข้าคายไม่ออกที่พบได้บ่อยในโลกเทคโนโลยี: ความดึงดูดใจของโปรเจกต์ใหม่ๆ ที่คล่องตัว กับการยืนหยัดในระยะยาวที่เสนอโดยผู้เล่นที่อยู่ตัวแล้วอย่าง PostgreSQL หรือ SQLite
เรื่องราวของ KuzuDB เป็นเรื่องที่คุ้นเคยในโลกของซอฟต์แวร์โอเพนซอร์สที่เปลี่ยนแปลงเร็ว—โปรเจกต์ที่มีความสดใสที่ตรึงความสนใจของนักพัฒนาไว้ได้ กลับถูกยุติลงอย่างกะทันหัน การจากไปของมันทิ้งช่องว่างไว้ในภูมิทัศน์ของฐานข้อมูลกราฟแบบฝังตัว แม้ว่าชุมชนจะกำลังสำรวจและสร้างทางเลือกอื่นๆ อย่างแข็งขันแล้ว เหตุการณ์นี้ก็ทำหน้าที่เป็นเครื่องเตือนใจถึงความสมดุลอันละเอียดอ่อนระหว่างนวัตกรรมและความน่าเชื่อถือ ที่ทั้งนักพัฒนาและผู้ใช้ต้องเรียนรู้ที่จะจัดการ