不同的BerkeleyDB版本之间有什么区别,我应该选择哪个版本?

时间:2010-05-11 21:47:08

标签: database berkeley-db embedded-database

很多东西都依赖于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 个答案:

答案 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 Collections API
  • 4.3:添加序列号,2级隔离
  • 4.4:添加数据库压缩,内存数据库,Peer-to-Peer 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树搜索(2010)

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

我希望这会有所帮助。

问候,

戴夫