ฐานข้อมูล TigerBeetle เผชิญการตรวจสอบจากชุมชนเกี่ยวกับการอ้างสิทธิ์ด้านประสิทธิภาพและคุณสมบัติที่ขาดหายไป

ทีมชุมชน BigGo
ฐานข้อมูล TigerBeetle เผชิญการตรวจสอบจากชุมชนเกี่ยวกับการอ้างสิทธิ์ด้านประสิทธิภาพและคุณสมบัติที่ขาดหายไป

TigerBeetle ฐานข้อมูลทางการเงินเฉพาะทางที่สร้างขึ้นใหม่ด้วยภาษาโปรแกรม Zig ได้จุดประกายการถกเถียงอย่างเข้มข้นในชุมชนนักพัฒนาหลังจากการอ้างสิทธิ์เกี่ยวกับประสิทธิภาพและปรัชญาการออกแบบที่ปฏิวัติวงการ แม้ว่าฐานข้อมูลนี้จะสัญญาว่าจะปรับปรุงประสิทธิภาพได้ถึง 1000 เท่าเมื่อเทียบกับฐานข้อมูล SQL แบบดั้งเดิมสำหรับการทำธุรกรรมทางการเงิน แต่สมาชิกในชุมชนกำลังตั้งคำถามสำคัญเกี่ยวกับการประยุกต์ใช้ในโลกแห่งความเป็นจริงและแนวทางการตลาด

ข้อมูลจำเพาะหลักของ TigerBeetle :

  • ภาษาโปรแกรมมิ่ง: Zig 100%
  • การพึ่งพาภายนอก: ไม่มีการพึ่งพาภายนอกเลย
  • สถาปัตยกรรม: เธรดเดียว แต่กระจายแบบ distributed โดยค่าเริ่มต้น
  • โมเดลข้อมูล: ระบบบัญชีคู่ (เดบิต/เครดิต)
  • การจัดการหน่วยความจำ: การจัดสรรแบบคงที่เท่านั้น
  • การทดสอบ: Deterministic Simulation Testing (DST)
  • การอ้างสิทธิ์ด้านประสิทธิภาพ: เร็วกว่า SQL ถึง 1000 เท่าสำหรับงานทางการเงินที่มีการแข่งขันสูง

การอ้างสิทธิ์ด้านประสิทธิภาพถูกตั้งคำถาม

ความขัดแย้งหลักมุ่งเน้นไปที่การยืนยันของ TigerBeetle ว่าฐานข้อมูล SQL แบบดั้งเดิมมีข้อจำกัดพื้นฐานที่ 100-1,000 ธุรกรรมต่อวินาที (TPS) เนื่องจากปัญหาการแย่งชิงทรัพยากร สมาชิกในชุมชนได้โต้แย้งการบรรยายลักษณะนี้ โดยชี้ให้เห็นว่าอินสแตนซ์ MySQL และ PostgreSQL ที่ปรับแต่งอย่างดีสามารถจัดการกับปริมาณงานที่สูงกว่ามากในสภาพแวดล้อมการผลิต นักพัฒนาคนหนึ่งได้แบ่งปันประสบการณ์กับอินสแตนซ์ MySQL ที่จัดการ 80-90K คิวรีต่อวินาทีโดยไม่มีปัญหา ซึ่งบ่งชี้ว่าการเปรียบเทียบประสิทธิภาพอาจไม่สะท้อนการกำหนดค่าฐานข้อมูลที่เหมาะสมที่สุด

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

บริบทการเปรียบเทียบประสิทธิภาพ:

  • TigerBeetle อ้างว่า: ฐานข้อมูล SQL มีข้อจำกัดที่ 100-1,000 TPS ภายใต้สภาวะการแข่งขัน
  • ตัวอย่างโต้แย้งจากชุมชน: MySQL สามารถจัดการ 80-90K QPS ในการใช้งานจริง
  • ความแตกต่างหลัก: TigerBeetle ได้รับการปรับแต่งสำหรับสถานการณ์การแข่งขันสูง (ธุรกรรมจำนวนมากในบัญชีเดียวกัน)
  • ฐานข้อมูลแบบดั้งเดิม: ดีกว่าสำหรับงานทั่วไปและปริมาณงานที่มีการแข่งขันต่ำ

การขาดระบบการยืนยันตัวตนทำให้เกิดความกังวลในการปรับใช้

อุปสรรคทางปฏิบัติที่สำคัญได้เกิดขึ้นเกี่ยวกับการขาดกลไกการยืนยันตัวตนในตัวของ TigerBeetle นักพัฒนาที่พยายามรวมฐานข้อมูลเข้ากับแพลตฟอร์ม serverless สมัยใหม่อย่าง Cloudflare Workers พบว่าตนเองถูกบล็อกด้วยข้อจำกัดนี้ ฐานข้อมูลต้องการการควบคุมการเข้าถึงแบบ IP ที่ระดับเซิร์ฟเวอร์ ซึ่งไม่ทำงานได้ดีกับสถาปัตยกรรม serverless ที่ขาดที่อยู่ IP คงที่

ช่องว่างด้านการยืนยันตัวตนนี้ได้นำไปสู่คำถามเกี่ยวกับความพร้อมของฐานข้อมูลสำหรับการปรับใช้ในการผลิต โดยเฉพาะในสภาพแวดล้อม cloud-native ที่ความปลอดภัยและการควบคุมการเข้าถึงเป็นข้อกังวลสำคัญ

ข้อจำกัดที่รายงานโดยชุมชน:

  • ไม่มีระบบการยืนยันตัวตนในตัว
  • ไม่รองรับ SQL
  • การประมวลผลแบบซิงเกิลคอร์ (ไม่สามารถขยายแนวนอนต่อโหนด)
  • ความเข้ากันได้กับแพลตฟอร์ม serverless จำกัด
  • กรณีการใช้งานเฉพาะทาง (เฉพาะธุรกรรมทางการเงินเท่านั้น)
  • ไม่รองรับ runtime ของ Cloudflare Workers

ปรัชญาการออกแบบเฉพาะทางแบ่งความคิดเห็น

แนวทางของ TigerBeetle ในการสร้างฐานข้อมูลเฉพาะสำหรับการทำบัญชีแบบรายการคู่ได้สร้างปฏิกิริยาที่หลากหลาย ผู้สนับสนุนชื่นชมการมุ่งเน้นไปที่พื้นฐานทางการเงินอย่างเดบิตและเครดิต โดยโต้แย้งว่าความเชี่ยวชาญเฉพาะทางนี้ช่วยให้มีประสิทธิภาพที่เหนือกว่าสำหรับปริมาณงานด้านบัญชี นักวิจารณ์ตั้งคำถามว่าประโยชน์ดังกล่าวสมควรกับการละทิ้งความยืดหยุ่นและระบบนิเวศของฐานข้อมูล SQL หรือไม่

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

ความกังวลเรื่องอคติจากการลงทุน

การอภิปรายในชุมชนยังได้เน้นให้เห็นว่าบทความต้นฉบับที่ชื่นชม TigerBeetle เขียนโดยบริษัทลงทุนที่ได้ให้เงินทุนแก่บริษัท การเปิดเผยนี้ได้นำไปสู่การเรียกร้องให้มีการประเมินเทคโนโลยีอย่างสมดุลมากขึ้นในด้านข้อดีและข้อจำกัด แยกออกจากเนื้อหาส่งเสริมการขาย

การถกเถียงสะท้อนความตึงเครียดที่กว้างขึ้นในชุมชนฐานข้อมูลระหว่างโซลูชันเฉพาะทางที่เป็นเลิศในกรณีการใช้งานที่แคบและระบบอเนกประสงค์ที่เสนอความยืดหยุ่นในปริมาณงานที่หลากหลาย แม้ว่านวัตกรรมทางเทคนิคของ TigerBeetle ในด้านต่างๆ เช่น การซิงโครไนซ์นาฬิกาที่ทนต่อความผิดพลาดและการจัดการข้อผิดพลาดของที่เก็บข้อมูลจะน่าประทับใจ แต่ความท้าทายในทางปฏิบัติของการนำมาใช้ยังคงเป็นอุปสรรคสำคัญสำหรับผู้ใช้ที่มีศักยภาพจำนวนมาก

อ้างอิง: Why TigerBeetle is the most interesting database in the world