我正在寻找一个类似 dbm 的库,可以用来代替我目前正在使用的 Berkeley DB。我转换的主要原因是 BDB 的许可费用相当高(开源应用程序免费,但我的雇主出于各种原因不想开源这个特定的应用程序)。
我简单地浏览过 qdbm,但它看起来并不能满足我的需求——大量的键(几百万)和大的数据项(> 1-5 MB)。在继续搜索之前,我想我应该问一下,因为似乎有大量类似 dbm 的库。
最佳答案
C/C++
- http://sphia.org/一个键/值存储,用 C 语言和 BSD 许可编写。
- https://code.google.com/p/leveldb/用 C++ 编写,也获得 BSD 许可
- http://luxio.sourceforge.net/用 C++、LGPL 编写,比 Berkeley DB 更快
- http://symas.com/mdb/用 C 语言编写,许可证是OpenLDAP 公共(public)许可证(类似 BSD)
- https://github.com/davidar/sdbm 用 C 语言编写,公共(public)领域,“ndbm”的重新实现
- http://repetae.net/computer/vsdb/用 C 编写,许可证未知,实验性
- https://github.com/stevedekorte/skipdb用 C 语言编写,BSD 许可,使用 Skip-List 索引的键值存储
- http://unqlite.org/ 用 C/C++ 编写,嵌入式 NoSQL 数据库引擎,BSD 许可,类似于 SQLite。
- http://hamsterdb.com/ 用 C/C++ 编写,嵌入式 NoSQL 数据库引擎,Apache 许可证 2.0。
Java
- https://github.com/dain/leveldb LevelDB 的 Java 端口,Apache License 2.0
- https://github.com/jingwei/krati前 LinkedIn 项目,Apache License 2.0
- http://www.mapdb.org/嵌入式 Java 数据库,Apache 许可证 2.0,支持键值存储、非常高效的对象序列化
- https://github.com/OpenHFT/Chronicle-Map ,LGPL v3,嵌入式纯 Java 键值存储,faster than Berkeley DB
- https://github.com/jetbrains/xodus , Apache License 2.0, Java 事务无模式嵌入式数据库, faster than Berkeley DB
- https://github.com/lmdbjava/lmdbjava 、LMDB 的 JNI 绑定(bind)、Apache License 2.0
关于berkeley-db - BerkeleyDB 的替代品?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/260804/