分布式key/value存儲系統 BeansDB

openkk 13年前發布 | 16K 次閱讀 分布式/云計算/大數據 beansdb

BeansDB 是一個主要針對大數據量、高可用性的分布式KeyValue存儲系統,采用HashTree和簡化的版本號來快速同步保證最終一致性(弱),一個簡化版的 Dynamo (Dynamo 是 Amazon 公司的一個分布式存儲引擎。)。

它采用類似memcached的去中心化結構,在客戶端實現數據路由。目前只提供了 Python版本的客戶端,其它語言的客戶端可以由memcached的客戶端稍加改造得到。

主要特性包括:

  • 高可用:通過多個可讀寫的用于備份實現高可用;
  • 最終一致性:通過哈希樹實現快速完整數據同步(短時間內數據可能不一致);
  • 容易擴展:可以在不中斷服務的情況下進行容量擴展;
  • 高性能:異步IO和高性能的Key Value數據Tokyo Cabinet;
  • 可配置的可用性和一致性:通過N,W,R進行配置;
  • 簡單協議:Memcached兼容協議,大量可用客戶端。

客戶端

目前只提供了Python版本的客戶端,在python目錄中,該目錄中各文件的左右如下:

dbclient.py BeansDB的客戶端,由memcached的客戶端簡單封裝而成

status.py 查看BeansDB的狀態,各個節點的數據分布,以及同步狀態

sync.py 同步各節點

httpd.py HTTP方式訪問BeansDB的內容(目前只有GET方式)


項目主頁:http://www.baiduhome.net/lib/view/home/1331130545530

 本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!