bsddb in Python and Unix



我最近才听说bsddb这个名字。

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

我还没能弄清楚它到底是什么。bsddb似乎安装在我的Mac上,但我绝对没有安装它。这是因为bsddb是默认安装的吗?在所有Unix机器上都是这样吗?我的机器上的库是Oracle的发行版吗?(我尝试了哪个bsddb,但没有工作)。

有没有人能从我的机器上以及提供的Python库(anydbm和bsddb)的角度来解释一下bsddb ?

BDB是Unix机器上可用的数据库系统,可能已有20多年的历史了。它最初提供单进程数据库服务(完全不像MySQL或PostgreSQL数据库守护进程为其他进程提供服务),这样应用程序可以专注于他们的代码,节省每个人编写和调试散列访问数据库代码的麻烦。

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

新版本的BDB集成了进程感知,具有完整的事务支持,甚至SQL查询支持——可能是为了与SQLite3竞争,SQLite3在新的应用程序中基本上取代了BDB。

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

最新更新