Berkeley DB(BDB)是一个高性能的,嵌入数据库编程库,和C语言,C++,Java,Perl,Python,Tcl以及其他很多语言都有应用程序编程界面。Berkeley DB可以保存任意类型的键/值对,而且可以为一个键保存多个数据。Berkeley DB可以支持数千的并发线程同时操作数据库,支持最大256TB的数据,广泛用于各种操作系统包括大多数Unix类操作系统和Windows操作系统以及实时操作系统。
特征
Berkeley DB运行在大多数的操作系统中,例如大多数的UNIX系统, 和windows系统,以及实时操作系统。
Berkeley DB 还拥有对一些老的UNIX数据库,例如dbm, ndbm und hsearch的兼容接口.
对于在java系统中的使用,Berkeley DB提供了一个压缩成jar单个文件的java版本。 这个版本可以运行在java虚拟机上使用,并且拥有和C语言版本相同的所有操作和功能。
Berkeley DB XML,是一个接口,通过它可以实现对XML数据存贮的支持。对XML数据的访问,会使用相应的查询语句如Xquery, Xpath。
Berkeley DB只支持单一的数据结构,它的所有数据包括两个部分:key 和 data.
Berkeley DB原则上是为嵌入式数据库设计的。
使用Berkeley DB的程式:
Berkeley DB是一些轻量级目录访问协议服务器,数据库系统以及其他很多商业和[开源]应用的底层存储系统。下面是使用了Berkeley DB的知名软件的名单。
Subversion - 一种设计用来代替CVS的版本控制系统。
KDevelop - 一个自由软件,Linux和其他Unix类操作系统下的C/C++集成开发环境。
Sun Grid Engine - 一个开源 cluster 软件。
Movable Type - California编写的一个基于Six Apart的Blog系统。
Caravel CMS - 一个开源的 内容管理系统,原为超过2000家的Mennonite Church组织设计。
OpenLDAP - 一个免费的,开源的轻量级目录访问协议的实现。
KLibido - 一个免费的,开源的新闻组阅读器,为二进制格式下载优化。
Citadel - 一个开源的群件平台,全部数据存储,包括信息库,都保存在Berkeley DB内。
Bogofilter - 一个开源 spam过滤器,他的单词表使用Berkeley DB保存。
MySQL与Berkeley DB
作为全世界最流行的轻量级数据库之一,MySQL也曾经采用过Berkeley DB作为其底层数据引擎,但因Berkeley DB最终被数据库厂商Oracle收购,并且改变了其版权许可协议性质,所以MySQL不再使用其作为数据引擎之一。
优秀文章:
http://www.ibm.com/developerworks/cn/linux/l-embdb/index.html