我直到最近才听说过bsddb。
http://www.oracle.com/us/products/database/berkeley-db/index.html http://en.wikipedia.org/wiki/Berkeley_DB
我还没能弄清楚它到底是什么。bsddb似乎安装在我的Mac上,但我绝对没有安装它。这是因为bsddb是默认安装的吗?这在所有Unix机器上都是真的吗?我的机器上的库是Oracle的发行版吗?(我试过哪个bsddb,但不起作用)。
有没有人可以简单地解释一下bsddb,包括它为什么在我的机器上的上下文,以及提供的Python库(anydbm和bsddb)。
发布于 2011-12-17 07:44:32
BDB是一种在Unix机器上使用了20年或更久的数据库系统。它最初提供了单进程数据库服务(与为其他进程提供服务的MySQL或PostgreSQL数据库守护进程完全不同),这样应用程序就可以专注于自己的代码,并省去编写和调试散列访问数据库代码的麻烦。
它最初是一个非常简单的系统,用于一次一个进程的键/值存储,并打算极大地加速一些原本可以在简单的纯文本中完成的操作: OS系统上可能存在的/etc/master.passwd (大多数?全?是/etc/passwd和/etc/shadow文件的BDB版本,因此login(1)和sshd(8)以及类似的工具不需要执行线性搜索,而是使用散列查找来非常快速地找到用户帐户。
较新版本的BDB集成了流程感知、完整的事务支持,甚至还支持SQL查询--大概是为了与SQLite3竞争,后者在新的应用程序中基本上已经取代了BDB。
您可以在几乎每台Unix计算机上看到某种形式的BDB,但可用的版本差别很大,因此可用的功能可能并不一致。(在我的Ubuntu系统上,我安装了BDB版本4.7、4.8和5.1。想一想吧。)
https://stackoverflow.com/questions/8541424
复制相似问题