目前版本是發布具有完整 C++ 支援的長期穩定版本 1.0 的意圖和由於不準備凍結新的 C++ API 而不願延遲發布的意圖之間的折衷。 所發布的版本是 9 個月的工作成果,旨在穩定庫並提高其可用性,還包括初步版本
libmdbx 庫不僅僅是一個“分支”,而且是一個徹底重新設計的後代
libmdbx 建議
MDBX 和 LMDB 之間最重要的差異:
- 從根本上來說,更加關注程式碼品質、API 一致性、測試和自動檢查。
- 從檢查參數到資料庫結構的內部審計,操作過程中的控制能力顯著增強。
- 自動壓縮和自動資料庫大小管理。
- 適用於 32 位元和 64 位元組件的單一資料庫格式。
- 按範圍估計樣本量(範圍查詢估計)。
- 支援兩倍長的金鑰和使用者可選的資料庫頁面大小。
- 用於檢查資料庫結構完整性並具有某些復原功能的實用程式。
改造後的主要創新和改進
- 已經創建了一個開放系統,用於及時支援和回答問題。
電報群 . - 十多個錯誤和缺點已被消除(見。
變更日誌 ). - 許多錯字和拼寫錯誤已得到修復,並且進行了許多外觀改進。
- 測試場景已擴大。
- 支援iOS、安卓、
構建根目錄 ,穆斯爾 ,uClibc ,世界超級聯賽1 и葡萄酒 . - C++ API 預覽版發佈於
一個頭檔 . - 內建 Doxygen 格式的文件並自動生成
線上文件 . - 提供了自動產生帶有合併來源文字的檔案。
- 新增了對準備事務和遊標、事務和遊標的使用者上下文的支援。
- 已實施其他方法來控制 B+tree MVCC 快照中的參考完整性。
- 新增了對檢查資料庫 MVCC 快照的支持,可透過任何具有切換復原能力的元頁面進行存取。
- 實現了對從一個進程重新打開資料庫以進行測試等的支援。
- 開啟資料庫時實現了 MDBX_NOSUBDIR 選項的自動處理。
- 新增了從浮點值和 JavaScript“通用”數字產生整數鍵的函數。
- 總共進行了 430 處更改,影響了 93 個文件,增加了 25 多行,刪除了 8.5 多行。
libmdbx 的後續開發將專注於最終的 C++ API、基礎程式碼的進一步穩定、提高庫的可用性以及針對流行 Linux 發行版的打包。 在提議的改進中,值得注意的是對以下格式的密鑰的支持
來源: opennet.ru