0

直到最近我才听说 bsddb。

http://www.oracle.com/us/products/database/berkeley-db/index.html http://en.wikipedia.org/wiki/Berkeley_DB

我一直无法弄清楚它到底是什么。bsddb 似乎安装在我的 Mac 上,但我绝对没有安装它。那是因为默认安装了 bsddb 吗?在所有 Unix 机器上都是这样吗?我的机器上的库是 Oracle 的发行版吗?(我试过 which bsddb 但没用)。

任何人都可以在为什么它在我的机器中以及提供的 Python 库(anydbm 和 bsddb)的上下文中一般地解释 bsddb。

4

1 回答 1

0

BDB 是一个可在 Unix 机器上使用的数据库系统,可能使用了两年或更长时间。它最初提供单进程数据库服务(完全不像为其他进程提供服务的 MySQL 或 PostgreSQL 数据库守护程序),以便应用程序可以专注于他们的代码,并为每个人省去编写和调试散列访问数据库代码的麻烦。

它最初是一个非常简单的系统,用于一次单个进程的键/值存储,并旨在大大加快一些原本可能以简单纯文本完成的操作:/etc/master.passwd这可能在你的 OS X 上system(常见于大多数?所有?BSD 系统)是/etc/passwdand/etc/shadow文件的 BDB 版本,因此login(1)andsshd(8)和类似的工具不需要执行线性搜索,而是使用散列查找来非常快速地找到用户帐户。

较新版本的 BDB 集成了流程感知,具有完整的事务支持,甚至 SQL 查询支持——大概是为了与SQLite3竞争,后者在应用程序中主要取代了 BDB。

您几乎可以在每台 Unix 机器上期待某种形式的 BDB,但可用的版本差异很大,因此可用的功能可能不一致。(在我的 Ubuntu 系统上,我安装了 BDB 版本 4.7、4.8 和 5.1。看图。)

于 2011-12-16T23:44:32.393 回答