不同的 BerkeleyDB 版本有啥区别,我应该选择哪个?

Posted

技术标签:

【中文标题】不同的 BerkeleyDB 版本有啥区别,我应该选择哪个?【英文标题】:What is the difference between the different BerkeleyDB versions, and which should I choose?不同的 BerkeleyDB 版本有什么区别,我应该选择哪个? 【发布时间】:2010-05-11 21:47:08 【问题描述】:

很多事情都依赖于 BDB。当我去为我的服务器安装预打包的软件时,每个软件似乎都需要不同版本的 BerkeleyDB。但似乎当我编译它们时,我可以指定一个特定的 BDB 版本。 (涉及的软件包括 Postfix、OpenLDAP 和 Cyrus IMAP。)

我偶尔在 python 项目中使用 BDB,但我不知道不同版本对创建的数据库文件有什么影响。

我想知道所有不同 Berkeley DB 版本之间的区别。似乎很难找到有关不同版本以及任何 API 或文件格式差异、版本之间不兼容等的信息。

我知道至少存在以下版本:

1.85(历史版本?)

2.x

3.x

4.1

4.2

4.3

4.4

4.5

4.6

4.7

4.8

5.0

【问题讨论】:

【参考方案1】:

通常,对于每个版本,您都可以在随版本下载的文档中找到更改日志。您还可以在构建、安装和升级指南here 中找到过去版本的历史记录以及升级说明。您还可以找到历史更改日志列表here。

正如您所发现的,不同的包链接在不同版本的 Berkeley DB 库中。通常,BDB 库名称包括版本号,以便多个版本可以同时在一个系统上共存。由于 Berkeley DB 被许多不同的软件包使用,因此在您的系统上拥有多个版本的 Berkeley DB 并不少见。

主要版本/功能的快速总结:

1.85:最后一个 UCB 版本 (1994) 2.0:添加事务、恢复 (1997) 3.0:添加队列 AM、POSIX 线程、子数据库 (1999) 3.3:添加批量获取、二级索引、1 级隔离(脏读) 4.0:添加复制 (2001) 4.1:添加加密和校验和 4.2:添加 Java 集合 API 4.3:添加序列号,2 级隔离 4.4:添加数据库压缩、内存数据库、点对点 HA 4.5:添加 MVCC、Replication Mgr API 4.6:为每个操作添加缓存优先级 4.7:添加 Java DPL API,架构中立 HA 4.8:添加了 C# API、C++ STL API、SMP 可扩展性改进、表分区、批量插入和删除、外键 5.0:添加 SQL API、JDBC/ODBC、全文和 R-tree 搜索 (2010)

临时版本增加了对其他平台以及其他功能和增强功能的支持。

我希望这会有所帮助。

问候,

戴夫

【讨论】:

谢谢。我从 Oracle 那里得到了足够多的 404,我认为他们已经“隐藏”了 BDB 文档。 我也倾向于将 BDB 视为简单的“键=值数据存储”。从上面的列表中可以看出,它是一个相当先进的数据库引擎。

以上是关于不同的 BerkeleyDB 版本有啥区别,我应该选择哪个?的主要内容,如果未能解决你的问题,请参考以下文章

Firefox 3.6 和 Firefox 17.0.1 为啥会有两个不同的版本,两者有啥区别?

hadoop版本之间有啥区别?

MAUI 和 Uno 平台有啥区别?

Visual Studio 2015 各个版本有啥区别

word和excel都有2003和2007是怎么回事?有啥区别啊,我想学习,应该学习哪种?

‘uname -a’ 显示的两个内核版本有啥区别?