常用NoSQL比較

來源:互聯網
上載者:User

公司最近正在做NoSQL選型,通過一周的時間對幾種常用的NoSQL做了以下粗略的分析和比較

名詞解釋:

分布式儲存單元:在分布式儲存中,通常要把比較大的資料檔案切割成不同的塊,以便放到不同的機器上分開儲存,每一個分割塊稱之為一個儲存單元。

一、CouchDB

CouchDB是一種面向文檔(document-oriented)的nosql資料庫,文檔的儲存格式通過JSON進行描述,在結構部署上採用的是peer-based方式,即每台機器在功能上來講是同等重要的,沒有master和slave的區分,所儲存的資料也都是相同的(沒有做到資料的分布式儲存),類似於Subversion中版本庫和工作拷貝的概念。

官方文檔中所聲明的功能特性主要有以下幾個方面:

1.多平台部署,包括Android和iOS

2.出色的資料完整性和可靠性支援

3.對BLOB資料類型提供原生支援

4.基於文檔的版本管理功能

5.架構內建MapReduce組件

6.query查詢支援(通過javascript)

7.提供Java API和REST API

優勢:

多平台支援(移動平台)

在資料量較小的情況下,可作為單機版離線使用,而在必要的時候進行連網更新。

二、Redis

Redis是一種基於key-value儲存格式的nosql資料庫,在結構部署上採用了master/slave的方式,其中slave節點起到備份的作用,當master節點出現問題的時候,slave節點可替換成master,從而確保了系統安全穩定的特性。

分布式儲存單元:slot(一組key/value儲存記錄的集合)

一個cluster裡面可能會有多個matser節點,master節點通過互相通訊來記錄彼此之間所儲存的slot資訊,從而確保了client端可以通過任何master節點定位到需要的slot,擷取到slot資訊後,client端還會將該slot地址緩衝到本地,從而加快了下次查詢的效率。

部署結構:

註:圖中沒有畫出slave節點(slave只是起到備份master的作用),所有的圓圈全部為master,並且master之間的通訊呈網狀結構。

  • 1
  • 2
  • 下一頁

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.