libmdbx 0.10.4 มาพร้อมกับการปรับปรุงและการแก้ไขข้อผิดพลาดต่างๆ

การเปิดตัวของ เวอร์ชัน 0.10.4 ไลบรารี "ลิบเอ็มดีบีเอ็กซ์" ซึ่งโดยรวมแล้ว การเปลี่ยนแปลงมากกว่า 160 รายการในไฟล์ 57 ไฟล์ เพิ่ม ~ 5000 บรรทัดและลบ ~ 2500 รายการ. สำหรับผู้ที่ไม่คุ้นเคยกับ libmdbx คุณควรรู้ว่านี่เป็นชุดของไลบรารีที่เป็นการนำฐานข้อมูลฝังตัวที่มีประสิทธิภาพสูงของคลาสคีย์-ค่าไปใช้

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

เทคโนโลยี libmdbx นำเสนอ ACID, การทำให้เป็นอนุกรมการเปลี่ยนแปลงอย่างเข้มงวด และการอ่านแบบไม่บล็อกด้วยการปรับขนาดเชิงเส้นข้ามแกน ของซีพียู รองรับการบีบอัดอัตโนมัติ การควบคุมขนาดฐานข้อมูลอัตโนมัติ และการประมาณการคิวรีอันดับ ตั้งแต่ปี 2016 โครงการได้รับทุนจาก Positive Technologies และใช้ในผลิตภัณฑ์ของตนตั้งแต่ปี 2017

สำหรับ libmdbx มีการเสนอ C ++ API เช่นเดียวกับการเชื่อมโยงที่เข้ากันได้กับ Rust, Haskell, Python, NodeJS, Ruby, Go, Nim สำหรับ libfpta เฉพาะคำอธิบาย API ในรูปแบบของไฟล์ส่วนหัว C / C ++ เท่านั้นที่เปิดเผยต่อสาธารณะ

นอกเหนือจากการรองรับ Linux, Windows, MacOS, Android, iOS, FreeBSD, DragonFly, Solaris, OpenSolaris, OpenIndiana, NetBSD, OpenBSD และระบบอื่นๆ ที่เข้ากันได้ POSIX.1-2008.

คุณสมบัติใหม่หลักของ libmdbx 0.10.4

ใน libmdbx 0.10.4 . เวอร์ชันใหม่นี้ นักพัฒนาพยายามสร้างความสามารถในการเล่นบิลด์ นอกจากนี้ การทดสอบได้รับการปรับปรุงและขยายสคริปต์ทดสอบเพื่อตรวจสอบสถานะที่ไม่ใช่ isomorphic ที่ทำได้ทั้งหมดของแผนผังหน้าและเนื้อหา GC ภายในฐานข้อมูล

ใน C ++ API แก้ไขครั้งเดียว "ไม่ยกเว้น" เพิ่มการโอเวอร์โหลดพิเศษสำหรับวิธี "เคอร์เซอร์ :: ลบ ()" การใช้บัฟเฟอร์ลดลงโดยใช้ "std :: string" เพื่อให้แน่ใจว่ามีการจัดตำแหน่ง (ปัจจุบันสำหรับ CLANG libstdc ++)

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

ในทางกลับกัน เน้นว่าการค้นหาส่วนประกอบคอมไพเลอร์ที่จำเป็นสำหรับ LTO (การปรับเวลาลิงก์ให้เหมาะสม) ได้รับการปรับปรุงในสคริปต์ CMake นอกจากนี้ จำนวนผู้อ่านสูงสุดพร้อมกันได้เพิ่มขึ้นเป็น 32.767 และประสิทธิภาพยังเพิ่มขึ้นอีกด้วย ปรับปรุงเมื่อใช้ Valgrind และ AddressSanitizer

เกี่ยวกับการแก้ไขข้อบกพร่อง ที่จัดทำขึ้นในเวอร์ชันใหม่นี้ มีการกล่าวถึงต่อไปนี้:

  • แก้ไขข้อผิดพลาดที่ซึ่งในสถานการณ์ที่หายากมาก ลูป / แครชอาจเกิดขึ้นระหว่างการทำธุรกรรม ปัญหาถูกระบุโดยผู้เชี่ยวชาญที่ Positive Technologies ในระหว่างการทดสอบภายในของผลิตภัณฑ์ของตนเอง
  • แก้ไขการถดถอยในอัลกอริธึมการรั่วไหลของหน้า (เลือกขับไล่หน้าฐานข้อมูลที่แก้ไข) ที่แสดงข้อผิดพลาด MDBX_PROBLEM ที่ไม่คาดคิดเมื่อเปลี่ยนแปลงข้อมูลในธุรกรรมขนาดใหญ่
  • แก้ไขปัญหา UndefinedBehaviorSanitizer และ Coverity Scan เล็กน้อย
    แก้ไขการตรวจสอบสถานะภายในที่ค้างและไม่ได้ใช้ "P_DIRTY" บนหน้าที่ซ้อนกันภายในอิมเมจฐานข้อมูลที่สร้างโดยไลบรารีเวอร์ชันเก่า
  • แก้ไขการใช้ SRW-lock แบบเรียกซ้ำใน Windows เมื่อทำงานในโหมด MDBX_NOTLS (โดยไม่ต้องใช้ที่จัดเก็บเธรดในเครื่อง) การสร้าง bootid แบบถาวรในกรณีที่มีการเปลี่ยนแปลงเวลาของระบบ การตรวจหา WSL1 และ WSL2 ที่ได้รับการปรับปรุง เพิ่มความสามารถในการเปิดฐานข้อมูล Plan 9 ที่ติดตั้งโดยใช้ ดร.วีเอฟเอส

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


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา