本页使用了标题或全文手工转换

Berkeley DB

维基百科,自由的百科全书
跳转至: 导航搜索

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

源起[编辑]

Berkeley DB的前身是伯克利加州大学為了移除受AT&T限制的程式碼,從BSD 4.3到4.4時所改寫的軟體。1996年,網景公司请求Berkeley DB的作者群改善函式庫,以便在網景公司的LDAP伺服器和網景瀏覽器中使用,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系统以及实时操作系统。对于一些对一些老的UNIX数据库(例如dbm与ndbm und hsearch),Berkeley DB还有对应的兼容接口。
  • Berkeley DB XML:是一个接口,通过它可以实现对XML数据存贮的支持。访问XML数据时,会使用相应的查询语句,如Xquery与Xpath。
  • Berkeley DB Java Edition:在Java平台上,Oracle提供一個純Java程式編寫的Berkeley DB,只需要操作系統支援Java虛擬機便可執行。

体系结构[编辑]

Berkeley DB以拥有比Microsoft SQL ServerOracle數據庫等更简单的体系结构而著称。例如,它不支持网络访问—程序通过进程内的API访问数据库。

Berkeley DB不支持SQL或者其他的数据库查询语言,不支持表结构和数据列。

访问数据库的程序自主决定数据如何储存在记录里,Berkeley DB不对记录里的数据进行任何包装。记录和它的键都可以达到4G字节的长度。

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

Berkeley DB與SQLite的整合[编辑]

Berkeley DB 11g R2加入SQLite程式組件並開始支援SQL語言。[1]

授权方式[编辑]

2.0或以上版本的Berkeley DB使用双重授权;而2.0版本以下的则使用BSD特許條款,可自由作商业用途。[2][3]

使用Berkeley DB的程式[编辑]

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

參見[编辑]

參考資料[编辑]

  1. ^ Oracle Berkeley DB SQL API vs.SQLite API – Integration, Benefits and Differences
  2. ^ Oracle Berkeley DB Licensing Information
  3. ^ Db 1.85—the Original, BSD license Berkeley DB

外部連結[编辑]

数据库管理系统(DBMS) 查看 · 讨论 · 编辑

概念
数据库 · 数据模型 · 数据库存储结构英语Database storage structures · 关系 (数据库) · 关系模型 · 分布式数据库 · ACID ( 原子性英语Atomicity (database systems) · 一致性· 隔離性· 持久性英语Durability (database systems) ) · Null值
关系数据库 · 关系模型 · 数据库规范化 · 數據庫完整性 · 實體完整性 · 參照完整性英语Referential integrity · 关系数据库管理系统 
主键 · 外键 · 代理键 · 超键 · 候选键 

数据库组件
触发器 · 视图 · 数据库表 · 指标 (数据库) · 事务日志英语Transaction log · 数据库事务 · 并发控制 · 乐观锁 · 悲观锁 · 数据库索引 
存储程序 · 資料庫分割

SQL
分类: 数据查询语言(DQL) - 資料定義語言(DDL) - 資料操縱語言(DML) - 資料控制語言(DCL)
指令:SELECT · INSERT · UPDATE · MERGE · DELETE · JOIN · UNION · CREATE · DROP · Begin work · COMMIT · ROLLBACK · TRUNCATE · ALTER
安全: SQL資料隱碼攻擊 · 參數化查詢

数据库管理系统的实现

实现类型
关系数据库 · 檔案型資料庫 · Deductive · 維度化資料庫 · 階層式 · 圖形資料庫 · 对象数据库 · 物件關聯式資料庫 · Temporal · XML資料庫

数据库产品
对象型对比) · 关系型对比

数据库组件
数据查询语言 · 查詢最佳化器 · 查詢計畫 · 嵌入式SQL · ODBC · JDBC · OLE DB