libmdbx 0.10.4 帶有各種改進和錯誤修復

釋放 版本 0.10.4 庫 “libmdbx” 其中總共, 對 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,只有 C/C++ 頭文件形式的 API 描述是公開可用的。

除了支持Linux、Windows、MacOS、Android、iOS、FreeBSD、DragonFly、Solaris、OpenSolaris、OpenIndiana、NetBSD、OpenBSD等兼容系統 POSIX.1-2008。

libmdbx 0.10.4 的主要新特性

在這個新版本的 libmdbx 0.10.4 中 開發人員致力於能夠提供可玩構建的能力, 此外,還改進了測試並擴展了測試腳本,以檢查數據庫中頁面樹和 GC 內容的所有可實現的非同構狀態。

在 C++ API 中修復了一次“noexcept”, 為“cursor::erase()”方法添加了額外的重載, 通過使用“std :: string”來確保對齊(當前用於 CLANG libstdc ++)減輕了緩衝區的實現

此外,還強調 進行了分階段核查,並增加了一系列核查 以確保數據庫在故意損壞的情況下的穩定性。

另一方面,需要強調的是,在 CMake 腳本中改進了對 LTO(鏈接時間優化)所需的編譯器組件的搜索,此外同時閱讀器的最大數量已增加到 32.767,並且性能也有所提高。使用 Valgrind 和 AddressSanitizer 時得到改進。

關於錯誤修復 在這個新版本中製作的,提到了以下內容:

  • 修復了在極少數情況下,在提交事務期間可能發生循環/崩潰的錯誤。 Positive Technologies 的專家在對他們自己的產品進行內部測試時發現了這個問題。
  • 修復了在更改大型事務中的數據時出現罕見的意外 MDBX_PROBLEM 錯誤的髒頁溢出算法(選擇性逐出修改的數據庫頁)中的回歸。
  • 修復了輕微的 UndefinedBehaviorSanitizer 和 Coverity Scan 問題。
    修復了舊庫版本創建的數據庫圖像中嵌套的頁面上的陳舊和未使用的內部標誌檢查“P_DIRTY”。
  • 修復了在 MDBX_NOTLS 模式下工作時在 Windows 中遞歸使用 SRW 鎖(不使用線程本地存儲),修復了系統時間更改時的 bootid 生成,改進了 WSL1 和 WSL2 的檢測,添加了使用打開掛載的 Plan 9 數據庫的能力驅動程序。

終於 如果您有興趣了解更多信息 關於這個新版本,您可以查看詳細信息 在下面的鏈接中。


本文內容遵循我們的原則 編輯倫理。 要報告錯誤,請單擊 這裡.

成為第一個發表評論

發表您的評論

您的電子郵件地址將不會被發表。

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。