เวอร์ชันปัจจุบันเป็นการประนีประนอมระหว่างความตั้งใจที่จะเผยแพร่เวอร์ชันเสถียรระยะยาว 1.0 พร้อมการรองรับ C++ เต็มรูปแบบ และความลังเลที่จะชะลอการเผยแพร่เนื่องจากไม่ได้เตรียมตัวสำหรับการแช่แข็ง C++ API ใหม่ รุ่นที่นำเสนอนี้เป็นผลมาจากการทำงาน 9 เดือนโดยมีเป้าหมายเพื่อรักษาเสถียรภาพของห้องสมุดและปรับปรุงการใช้งานและยังรวมถึงเวอร์ชันเบื้องต้นด้วย
ไลบรารี libmdbx ไม่ได้เป็นเพียง "ทางแยก" แต่เป็นลูกหลานที่ได้รับการออกแบบใหม่อย่างสิ้นเชิง
libmdbx แนะนำ
ความแตกต่างที่สำคัญที่สุดระหว่าง MDBX และ LMDB:
- โดยพื้นฐานแล้ว เราให้ความสำคัญกับคุณภาพของโค้ด ความสอดคล้องของ API การทดสอบ และการตรวจสอบอัตโนมัติมากขึ้น
- การควบคุมที่มากขึ้นระหว่างการดำเนินการ ตั้งแต่การตรวจสอบพารามิเตอร์ไปจนถึงการตรวจสอบโครงสร้างฐานข้อมูลภายใน
- ย่อขนาดอัตโนมัติและจัดการขนาดฐานข้อมูลอัตโนมัติ
- รูปแบบฐานข้อมูลเดียวสำหรับแอสเซมบลี 32 บิตและ 64 บิต
- การประมาณปริมาณตัวอย่างตามช่วง (การประมาณค่าแบบสอบถามช่วง)
- รองรับคีย์ที่ยาวเป็นสองเท่าและขนาดเพจฐานข้อมูลที่ผู้ใช้สามารถเลือกได้
- ยูทิลิตี้สำหรับตรวจสอบความสมบูรณ์ของโครงสร้างฐานข้อมูลพร้อมความสามารถในการกู้คืนบางอย่าง
นวัตกรรมหลักและการปรับปรุงหลังจากนั้น
- มีการสร้างระบบเปิดเพื่อรองรับและตอบคำถามอย่างรวดเร็ว
กลุ่มโทรเลข . - ข้อผิดพลาดและข้อบกพร่องมากกว่าหนึ่งโหลได้ถูกกำจัดแล้ว (ดู
บันทึกการเปลี่ยนแปลง ). - การพิมพ์ผิดและการสะกดคำผิดจำนวนมากได้รับการแก้ไขแล้ว และมีการปรับปรุงรูปลักษณ์มากมาย
- สถานการณ์การทดสอบได้รับการขยาย
- รองรับ iOS, Android,
บิวด์รูท ,มุสล ,ยูคลิบซี ,WSL1 иไวน์ . - ตัวอย่าง C++ API เปิดตัวใน
ไฟล์ส่วนหัวหนึ่งไฟล์ . - เอกสารประกอบในตัวในรูปแบบ Doxygen และการสร้างอัตโนมัติ
เอกสารออนไลน์ . - มีการสร้างไฟล์เก็บถาวรอัตโนมัติพร้อมข้อความต้นฉบับที่รวมกัน
- เพิ่มการรองรับสำหรับการเตรียมธุรกรรมและเคอร์เซอร์ บริบทผู้ใช้สำหรับธุรกรรมและเคอร์เซอร์
- มีการใช้วิธีการเพิ่มเติมเพื่อควบคุมความสมบูรณ์ของการอ้างอิงในสแน็ปช็อต MVCC ของ B+tree
- เพิ่มการรองรับสำหรับการตรวจสอบสแน็ปช็อต MVCC ของฐานข้อมูล ซึ่งสามารถเข้าถึงได้ผ่านหน้าเมตาใด ๆ ที่สามารถสลับสำหรับการกู้คืนได้
- ดำเนินการสนับสนุนสำหรับการเปิดฐานข้อมูลอีกครั้งจากกระบวนการเดียวเพื่อการทดสอบ ฯลฯ
- ใช้การประมวลผลอัตโนมัติของตัวเลือก MDBX_NOSUBDIR เมื่อเปิดฐานข้อมูล
- เพิ่มฟังก์ชั่นสำหรับการสร้างคีย์จำนวนเต็มจากค่าทศนิยมและตัวเลข "สากล" ของ JavaScript
- โดยรวมแล้วมีการเปลี่ยนแปลง 430 รายการซึ่งส่งผลต่อไฟล์ 93 ไฟล์ มีการเพิ่มมากกว่า 25 บรรทัด และมากกว่า 8.5 บรรทัดถูกลบ
การพัฒนาครั้งต่อไปของ libmdbx จะมุ่งเน้นไปที่ C++ API สุดท้าย, การรักษาเสถียรภาพของโค้ดฐานเพิ่มเติม, ปรับปรุงการใช้งานของไลบรารี และแพ็คเกจสำหรับการกระจาย Linux ยอดนิยม ในบรรดาการปรับปรุงที่นำเสนอ เป็นเรื่องน่าสังเกตว่ารองรับคีย์ในรูปแบบ
ที่มา: opennet.ru