2011-12-16 52 views
0

直到最近我還沒有聽說過bsddb。Python和Unix中的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)方面。

回答

0

BDB是Unix機器上可用的數據庫系統,可能有兩年或更長的時間。它最初提供單進程數據庫服務(根本不像MySQL或PostgreSQL數據庫守護進程爲其他進程提供服務),以便應用程序可以專注於其代碼,併爲每個人節省編寫和調試哈希存取數據庫代碼的麻煩。

它最初非常簡單的系統用於單進程,在一次一個鍵/值存儲,並打算大大加快可能已經另有簡單的純文本已經做了一些操作:在/etc/master.passwd這可能是你的OS X系統上(常見的大多數?所有?BSD的系統)是/etc/passwd/etc/shadow文件的BDB版本,以便login(1)sshd(8)和類似工具不需要執行線性搜索,但而是使用散列查找來快速找到用戶帳戶。

BDB的新版本整合過程意識,以飽滿的事務支持,甚至是SQL查詢的支持 - 大概是爲了防止SQLite3,這在應用大多取代BDB競爭。

在幾乎所有的Unix機器上,您都可以看到的某些形式的BDB,但可用版本差別很大,因此可用功能可能不一致。 (在我的Ubuntu系統上,我安裝了BDB版本4.7,4.8和5.1。)圖

+0

對不起,不能幫助Python模塊可用... – sarnold 2011-12-16 23:44:49