5款備受關注的開源NoSQL數據庫

本文向您推薦5款備受關注的開源NoSQL數據庫。

1. 集中式緩存系統 memcached

memcached是一套分佈式的快取系統,當初是Danga Interactive爲了LiveJournal所發展的,但目前被許多軟件(如MediaWiki)所使用。這是一套開放源代碼軟件,以BSD license授權釋出。

  • memcached缺乏認證以及安全管制,這代表應該將memcached服務器放置在防火牆後。
  • memcached的API使用三十二位元的循環冗餘校驗(CRC-32)計算鍵值後,將資料分散在不同的機器上。當表格滿了以後,接下來新增的資料會以LRU機制替換掉。由於memcached通常只是當作快取系統使用,所以使用memcached的應用程式在寫回較慢的系統時(像是後端的數據庫)需要額外的程式碼更新 memcached內的資料。
  • memcached具有多種語言的客戶端開發包,包括:Perl/PHP/JAVA/C/Python/Ruby/C#/MySQL/。

2. 分佈式K/V存儲方案 Cassandra

Apache Cassandra是一套開源分佈式Key-Value存儲系統。它最初由Facebook開發,用於儲存特別大的數據。Facebook目前在使用此係統。

主要特性:

分佈式

基於column的結構化

高伸展性

3. 開源NoSQL系統 Membase

Membase是NoSQL家族的一個新的重量級的成員。

Membase是開源項目,源代碼採用了Apache2.0的使用許可。該項目託管在GitHub.Source tarballs上,目前可以下載beta版本的Linux二進制包。該產品主要是由North Scale的memcached核心團隊成員開發完成,其中還包括Zynga和NHN這兩個主要貢獻者的工程師,這兩個組織都是很大的在線遊戲和社區網絡空間的供應商。

Membase容易安裝、操作,可以從單節點方便的擴展到集羣,而且爲memcached(有線協議的兼容性)實現了即插即用功能,在應用方面爲開 發者和經營者提供了一個比較低的門檻。做爲緩存解決方案,Memcached已經在不同類型的領域(特別是大容量的Web應用)有了廣泛的使用,其中 Memcached的部分基礎代碼被直接應用到了Membase服務器的前端。

4. 超高性能 key-value 數據庫 Redis

Redis是一個高性能的key-value數據庫。redis的出現,很大程度補償了memcached這類keyvalue存儲的不足,在部分場合可以對關係數據庫起到很好的補充作用。它提供了Python,Ruby,Erlang,PHP客戶端,使用很方便。

性能測試結果:

SET操作每秒鐘 110000 次,GET操作每秒鐘 81000 次,服務器配置如下:

Linux 2.6, Xeon X3320 2.5Ghz.

stackoverflow 網站使用 Redis 做爲緩存服務器。

5. 面向文檔的數據庫 CouchDB

Apache CouchDB是一個面向文檔的數據庫管理系統。它提供以 JSON 作爲數據格式的 REST 接口來對其進行操作,並可以通過視圖來操縱文檔的組織和呈現。CouchDB是Apache基金會的頂級開源項目。CouchDB落實到最底層的數據結構就是兩類B+Tree。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章