伯克利DB

Berkeley DB

 

Berkeley DB(BDB)是一个高性能的,嵌入数据库编程库,和C语言C++JavaPerlPythonTcl以及其他很多语言都有绑定。Berkeley DB可以保存任意类型的键/值对,而且可以为一个键保存多个数据。Berkeley DB可以支持数千的并发线程同时操作数据库,支持最大256TB的数据,广泛用于各种操作系统包括大多数Unix类操作系统和Windows操作系统以及实时操作系统

源起 

Berkeley DB最先由伯克利加州大学為了移除受到AT&T限制的程式碼,從BSD 4.3到4.4時所改寫的軟體。在1996年時,網景公司希望Berkeley DB的作者群改善函式庫,以配合網景公司所需要的LDAP伺服器,以及在Netscape 瀏覽器,因此促成了Sleepycat Software(在2006年時2月時Sleepycat Software被甲骨文公司所買下)。

Berkeley DB以Sleepycat Public License發行(該授權條款為OSI及FSF所認可的條款)。發行時包括了完整的程式碼、編譯工具、測試套件,以及說明文件。由於良好的程式碼的品質以及工具程式,Berkeley DB常被其他開放原始碼軟體所使用。對於不想使用Sleepycat Public License的開發團體,甲骨文公司也提供了其他付費的授權方式。

Berkeley DB包含有与某些经典Unix数据库编程库兼容的接口,包括:dbmndbmhsearch


特征

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以拥有比Microsoft SQL ServerOracle等数据库系统而言更简单的体系结构而著称。例如,它不支持网络访问—程序通过进程内的API访问数据库。 他不支持SQL或者其他的数据库查询语言,不支持表结构和数据列。 访问数据库的程序自主决定数据如何储存在记录里,Berkeley DB不对记录里的数据进行任何包装。记录和它的键都可以达到4G字节的长度。

尽管架构很简单,Berkeley DB却支持很多高级的数据库特性,比如ACID 数据库事务处理, 细粒度, XA接口,热备份以及同步复制.


 使用Berkeley DB的程式

Berkeley DB是一些轻量级目录访问协议服务器,数据库系统以及其他很多商业和[开源]应用的底层存储系统。下面是使用了Berkeley DB的知名软件的名单。

  • MySQL数据系统 - 一种多线程,多用户,支持SQL语言的数据管理系统,有六百万的安装量。(BDB是MySQL可以选择的几种数据存储底层之一,不過自5.1.12版不再支援。)
  • Subversion - 一种设计用来代替CVS版本控制系统。
  • KDevelop - 一个自由软件,Linux和其他Unix类操作系统下的C/C++集成开发环境
  • Sun Grid Engine - 一个开源 cluster 软件。
  • Movable Type - California编写的一个基于Six ApartBlog系统。
  • Caravel CMS - 一个开源的 内容管理系统,原为超过2000家的Mennonite Church组织设计。
  • OpenLDAP - 一个免费的, 开源的轻量级目录访问协议的实现。
  • KLibido - 一个免费的, 开源新闻组阅读器,为二进制格式下载优化。
  • Citadel - 一个开源的群件平台,全部数据存储,包括信息库,都保存在Berkeley DB内。
  • Bogofilter - 一个开源 spam过滤器,他的单词表使用Berkeley DB保存。

授权方式

2.0版本或以上的Berkeley DB使用双重授权 (見http://www.sleepycat.com/download/licensinginfo.shtml) ,而2.0版本以下的则使用BSD授权,可自由作商业用途。

转自:http://www.cnblogs.com/linfuguo/articles/1299531.html

你可能感兴趣的:(数据库,unix,Microsoft,语言,版本控制系统)