2013-01-24 67 views
5

我非常關注非關係數據庫,但由於很多理由只涉及其中的一小部分。所以我想列出所有您使用的NoSQL技術的基本用例,優缺點。NoSQL技術,用例,優勢和劣勢

如果您在使用某些技術,有趣的體驗等方面遇到一些具體問題,歡迎與社區分享。


個人而言,我曾與:

的MongoDB:

Usecases:我的意見是最好的之一,如果你需要很好的聚合功能,自動複製。規模好。有許多功能可以像日常使用的數據庫一樣使用它,如果由於某種原因你不想使用SQL解決方案 - Mongo可能是最好的選擇。如果您需要動態查詢,mongo也很棒。而且mongodb支持索引 - 這也是一個重要的功能。

優點:快速,良好的規模化,使用方便,內置的地理空間索引

缺點:相對緩慢的寫操作,阻止原子操作可以使很多問題。內存消耗過程可能會「吃掉」所有可用的內存。

CouchDB的:

Usecases:我用它在維基喜歡的項目,我覺得對於案件是一個完美的數據庫。每個文檔在更新期間自動保存爲新版本的事實有助於查看所有更改。用於累積,偶爾會更改要運行預定義查詢的數據。

優點:易於使用,面向REST的接口,版本。

缺點:問題表現在文檔的數量是相當龐大(超過五十萬),有點純粹的查詢功能(可以解決與添加的Lucene)

的SimpleDB:

使用情況:這是來自亞馬遜的數據服務,這是他們提供的所有東西中最便宜的。功能非常有限,所以如果您想使用亞馬遜服務,主要使用案例就是使用它,但可以少花錢。

優點:廉價,所有數據存儲像文本 - 操作簡單,易於使用。

缺點:很多限制(文檔大小,集合大小,屬性數量,屬性大小)。所有數據以文本形式存儲的方式在按日期或按數字排序期間也會產生其他問題(因爲它使用字典式排序,在保存日期或數字時需要一些解決方法)。

回答

3

卡桑德拉

Cassandra是完美的解決方案,如果寫作是你的主要目標,它的目的是寫了很多(在某些情況下寫作可能會更快然後讀),所以它是完美的記錄。它對數據分析非常有用。除了卡桑德拉已經建立了地理分佈特徵。

優勢 Apache(良好的社區和高質量)支持,快速寫入,沒有單點故障。規模易於管理(易於部署和擴大集羣)。

弱點索引實現有問題,索引查詢有一定的侷限性,如果使用索引插入性能下降。流數據傳輸問題。