前段時間玩了Google App Engine之後一直對開源的鍵-值資料庫比較關注,因為其開發使用友善,也有了在研究在自己的伺服器上部署的可能性,于是自己Google了一些,同時Flying殿也有推薦了一下,于是發文簡單記錄一下。
眼下關注的有:
- MongoDB
- Hypertable
- CouchDB
- Tokyo Cabinet
- Project Voldemort
1. MongoDB
今天測試了一個白天的資料庫,使用JSON格式存儲資料,并且用Java小測試了一下它的性能,還算不錯,1000000條記錄裡面檢索500條記錄,耗時0.078秒(有索引)。不過遺憾的是,沒有編譯成功它的Python API,PHP API的編譯也因為文檔不全的問題暫時擱置。不然的話真準備在這個上面做些Project試試看。另外它的控制台用戶端的指令是ECMAScript的,對我來說覺得十分親切。
官網:http://www.mongodb.org/
2. Hypertable
根據Google的Bigtable的論文開始的一個項目,是以可以說這是一個開源的Google Bigtable的實作,通過Thrift這個架構(Facebook開發然後捐贈給Apache的工具)為其它語言提供API(不過官網上暫時僅看到Ruby的參考)。有趣的是,官方網站下面的贊助商那裡看到了百度的Logo。
官網:http://hypertable.org/
3. CouchDB
Apache旗下的項目,使用Erlang/OTP開發,同樣使用JSON存儲資料。眼下的版本看了網上的評測性能還很一般。期待後續的發展。
官網:http://couchdb.apache.org/
4. Tokyo Cabinet
Tokyo Cabinet 是日本人平林幹雄開發的一款DBM資料庫,該資料庫讀寫非常快,哈希模式寫入100萬條資料隻需0.643秒,讀取100萬條資料隻需0.773秒,是 Berkeley DB 等DBM的幾倍。
暫時隻有Perl, Ruby, Java, Lua的API,不過可以通過Tokyo Tyrant來支援其它語言(通過Memcached協定)
官網:http://tokyocabinet.sourceforge.net/
5. Project Voldemort
貌似可以使用MySQL(還有其他)作為永久存儲媒體的分布式資料庫。
官網:http://project-voldemort.com/