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