当前版本是发布具有完整 C++ 支持的长期稳定版本 1.0 的意图和由于不准备冻结新的 C++ API 而不愿延迟发布的意图之间的折衷。 所发布的版本是 9 个月的工作成果,旨在稳定库并提高其可用性,还包括初步版本
libmdbx 库不仅仅是一个“分支”,而且是一个彻底重新设计的后代
libmdbx 建议
MDBX 和 LMDB 之间最重要的区别:
- 从根本上来说,更加关注代码质量、API 一致性、测试和自动检查。
- 从检查参数到数据库结构的内部审计,操作过程中的控制能力显着增强。
- 自动压缩和自动数据库大小管理。
- 适用于 32 位和 64 位程序集的单一数据库格式。
- 按范围估计样本量(范围查询估计)。
- 支持两倍长的密钥和用户可选的数据库页面大小。
- 用于检查数据库结构完整性并具有某些恢复功能的实用程序。
改造后的主要创新和改进
- 已经创建了一个开放系统,用于及时支持和回答问题。
电报群 . - 十多个错误和缺点已被消除(见。
更改日志 ). - 许多错别字和拼写错误已得到修复,并且进行了许多外观改进。
- 测试场景已扩大。
- 支持iOS、安卓、
建根 ,麝香 ,uClibc ,WSL1 и酒红色 . - C++ API 预览版发布于
一个头文件 . - 内置 Doxygen 格式的文档并自动生成
在线文档 . - 提供了自动生成带有合并源文本的档案。
- 添加了对准备事务和游标、事务和游标的用户上下文的支持。
- 已实施其他方法来控制 B+tree MVCC 快照中的引用完整性。
- 添加了对检查数据库 MVCC 快照的支持,可通过任何具有切换恢复能力的元页面进行访问。
- 实现了对从一个进程重新打开数据库以进行测试等的支持。
- 打开数据库时实现了 MDBX_NOSUBDIR 选项的自动处理。
- 添加了从浮点值和 JavaScript“通用”数字生成整数键的函数。
- 总共进行了 430 处更改,影响了 93 个文件,添加了 25 多行,删除了 8.5 多行。
libmdbx 的后续开发将侧重于最终的 C++ API、基础代码的进一步稳定、提高库的可用性以及针对流行 Linux 发行版的打包。 在提议的改进中,值得注意的是对以下格式的密钥的支持
来源: opennet.ru