Berkeley DB

 

1、http://baike.baidu.com/view/1281930.htm

Berkeley DB的核心数据结构  数据库环境句柄DB_ENV: 每个DB_ENV相当于一个数据库,它包含了数据库全局信息,比如缓冲区大小、以及对事务、日志、锁等子系统的全局配置信息。   数据库句柄结构DB:每个DB相当于关系数据库的一个表,其中存储了很多key/data pair。DB句柄代表了一个包含了若干描述数据库表属性的参数,如数据库访问方法类型、逻辑页面大小、数据库名称等;同时,DB结构中包含了大量的数据库处理函数指针,大多数形式为 (*dosomething)(DB *, arg 1, arg2, …)。其中最重要的有open,close,put,get等函数。

  数据库记录结构DBT:DB中的记录由关键字和数据构成,关键字和数据都用结构DBT表示。实际上完全可以把关键字看成特殊的数据。结构中最重要的两个字段是 void * data和u_int32_t size,分别对应数据本身和数据的长度。

 

 

值得注意的是Berkeley DB是嵌入式数据库系统,而不是常见的关系/对象型数据库,对SQL语言不支持,也不提供数据库常见的高级功能,如存储过程,触发器等。
 
2、SQL 开发人员 Oracle Berkeley DB 指南
 
 
SQL 术语 Oracle Berkeley DB 对应词汇
数据库 环境
数据库
字节组/行 键/数据对
主索引
次索引 次数据库

结论

Oracle Berkeley DB 提供的功能与 SQL 数据库的相同,但以完全不同的程序包提供。您可编写程序调用 API,并且整个数据库被直接“嵌入”到应用程序中;即它们运行于同一地址空间。这通常会将性能提升一个数量级。为取得这一成绩将增加应用程序的负担。当应用程序要求非常高的性能或应用程序操纵的数据本身不是关系型时,这通常是最有用的。

 

### Berkeley DB 介绍 Berkeley DB 是一种嵌入式的键值数据库库,提供了程序对于数据的存储和检索功能。这种类型的数据库不需要独立运行的服务进程,而是通过链接到应用程序的方式工作,在应用启动时初始化并随其一同结束。由于其实现简单高效的特点,广泛应用于各种软件项目中[^1]。 ### 安装过程概述 针对不同版本的 Berkeley DB,默认安装路径会有所不同。例如: - 对于较早版本如4.6版,默认会被放置在 `/usr/local/BerkeleyDB.4.6` 文件夹内; - 而更新一些的5.3版本则位于 `/usr/local/BerkeleyDB.5.3` 中; 当然,用户可以通过配置 `--prefix` 参数来自定义目标位置。比如执行命令 `# ../dist/configure --enable-cxx` 可以改变默认安装地点至 `/usr/local/berkeleydb` 并启用 C++ 支持选项[^3]。 #### 针对特定环境下的说明 (Ubuntu) 如果是在基于 Ubuntu 的环境中操作,则需要注意操作系统本身以及所选 Berkeley DB 版本之间的兼容性问题。例如,在 Ubuntu 16.04 LTS 上部署 Berkeley DB 18.1.25 版本时,应当确认两者间的依赖关系已被妥善处理。 ### 使用指南 要开始使用 Berkeley DB,首先要确保已经成功完成了上述提到的编译与安装流程。之后可以根据编程语言的不同选择合适的 API 进行开发。以下是 Python 下的一个简单例子展示如何打开现有数据库文件或创建新的实例: ```python import bsddb3 try: # 尝试打开现有的 btree 类型数据库 'example.db' db = bsddb3.btopen('example.db', 'c') # 向数据库添加条目 key = "key".encode() value = "value".encode() db[key] = value finally: if not db is None: db.close() # 关闭连接 ``` 此段代码展示了怎样利用 Python 绑定模块 `bsddb3` 来管理 BTree 结构的数据集。请注意实际应用场景可能涉及更复杂的逻辑设计和技术细节。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值