Dqlite 1.0 ซึ่งเป็นเวอร์ชันกระจายของ SQLite จาก Canonical พร้อมใช้งานแล้ว

บริษัท Canonical การตีพิมพ์ การเปิดตัวโครงการที่สำคัญ ดีคิวไลท์ 1.0 (SQLite แบบกระจาย) ซึ่งพัฒนากลไก SQL แบบฝังที่เข้ากันได้กับ SQLite ซึ่งสนับสนุนการจำลองข้อมูล การกู้คืนอัตโนมัติจากความล้มเหลว และความทนทานต่อข้อผิดพลาดโดยการกระจายตัวจัดการไปยังหลายโหนด DBMS ถูกนำไปใช้ในรูปแบบของไลบรารี C ที่แนบกับแอปพลิเคชันและ จัดจำหน่ายโดย ภายใต้ใบอนุญาต Apache 2.0 (SQLite ดั้งเดิมมีให้ในโดเมนสาธารณะ) มีการผูกภาษา Go.

ไลบรารีเป็นส่วนเสริมสำหรับโค้ดเบส SQLite ที่มีอยู่ ซึ่งเพิ่มการรองรับโปรโตคอลเครือข่ายสำหรับการเชื่อมต่อหลายอินสแตนซ์ของแอปพลิเคชันที่ทำงานบนโฮสต์ที่แตกต่างกัน แอปพลิเคชันที่คอมไพล์ด้วย Dqlite สามารถทำหน้าที่เป็นคลัสเตอร์ที่ทนทานต่อข้อผิดพลาดแบบพอเพียง โดยไม่ขึ้นอยู่กับ DBMS ภายนอก ในทางปฏิบัติ Canonical ใช้ Dqlite ในระบบการจัดการคอนเทนเนอร์ แอลเอ็กซ์ดี. ในส่วนของการใช้งานไลบรารีนั้น ยังกล่าวถึงการสร้างอุปกรณ์ Internet of Things และโปรเซสเซอร์ที่ทนทานต่อข้อผิดพลาดในระบบอีกด้วย
ขอบ- การคำนวณ.

เพื่อให้มั่นใจถึงความสอดคล้องในการจำลองข้อมูล จึงใช้วิธีการที่เป็นเอกฉันท์ตามอัลกอริทึม แพซึ่งใช้ในโครงการต่างๆ เช่น etcd, RethinkDB, CockroachDB และ OpenDaylight Dqlite ใช้การใช้งานแบบอะซิงโครนัสของตัวเอง C-แพเขียนด้วยภาษาซี ไลบรารีสำเร็จรูปใช้เพื่อประมวลผลการเชื่อมต่อแบบมัลติเพล็กซ์และจัดระเบียบการเปิดตัวคอร์รูทีน ลิบุฟ и ลิบโก้.

เมื่อเทียบกับโครงการที่คล้ายกัน rqlite,Dqlite ให้การสนับสนุนการทำธุรกรรมเต็มรูปแบบ สามารถสื่อสารกับโปรเจ็กต์ C ใดก็ได้ อนุญาตให้ใช้ฟังก์ชัน time() และใช้การจำลองแบบตามเฟรมแทนการจำลองแบบตามการแปล SQL

คุณสมบัติของ Dqlite:

  • ดำเนินการดิสก์และเครือข่ายทั้งหมดแบบอะซิงโครนัส
  • ความพร้อมใช้งานของชุดทดสอบเพื่อยืนยันความถูกต้องของข้อมูล
  • การใช้หน่วยความจำต่ำและการแลกเปลี่ยนข้อมูลอย่างมีประสิทธิภาพผ่านเครือข่าย
  • การจัดเก็บฐานข้อมูลและบันทึกธุรกรรมบนดิสก์อย่างถาวร (พร้อมความเป็นไปได้ในการแคชในหน่วยความจำ)
  • ฟื้นตัวอย่างรวดเร็วจากความล้มเหลว
  • ไคลเอนต์ CLI ที่เสถียรในภาษา Go ซึ่งสามารถใช้เพื่อเริ่มต้นฐานข้อมูล กำหนดค่าการจำลองแบบ และเชื่อมต่อ/ตัดการเชื่อมต่อโหนด
  • รองรับสถาปัตยกรรม ARM, X86, POWER และ IBM Z
  • การใช้งานอัลกอริทึม Raft ได้รับการปรับให้เหมาะสมเพื่อลดความล่าช้าในการทำธุรกรรม

ที่มา: opennet.ru

เพิ่มความคิดเห็น