我想了解更多關於NoSQL的知識,因爲我在Linux/PHP體系結構中構建了一個基於密鑰的歸檔應用程序。任何人都可以解釋主要解決方案(CouchDB/MongoDB /等)之間的差異,對每個解決方案的優缺點?鏈接會很棒,但我很難單獨使用Google進行研究。NoSQL解決方案的比較(在某些情況下哪個更好?)
回答
谷歌「nosql比較」 - 有真正噸相關的博客和文檔。
這裏是一個:http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis
我發現的一切都是隨機的。我正在尋找每個人的普遍性,比如表格映射/比較 – wajiw 2011-02-10 19:39:07
@wajiw:請參閱編輯這個答案。 – 2011-02-10 20:12:16
此鏈接有關於NoSQL系統的一些信息。
http://www.rackspacecloud.com/blog/2009/11/09/nosql-ecosystem/
此鏈接多個數據庫相對於他們的特點比較:
看看這個NoSQL的比較引擎。 http://nosql.findthebest.com
有些博客發佈了一個關於這個問題的視覺答案,大約一個月後,這個問題發佈在stackoverflow上。
有趣的,因爲它定位參考CAP定理不同的可用解決方案。
我只是補充說,Cassandra可以放在'P'的兩側,這取決於您是否總是使用法定值查詢。
http://blog.nahurst.com/visual-guide-to-nosql-systems
注:三角形的CA側筆者隨意放RDBMS和數據倉庫解決方案。我知道可用的非分區容忍是有爭議的,但這不是重點。
NoRAM DB => 「If It Does Not Fit in RAM, I Will Quietly Die For You」
會談約卡桑德拉,了Riak,Redis的,MongoDB中,Hazelcast,Neo4j的,VoltDB,CouchDB的,和其他人。
這裏是MongoDB的,卡桑德拉,了Riak的比較,CouchBase 2.0,HBase的使用的ZooKeeper,Berkeley DB的第11G(java的埃德HA)和Oracle NoSQL的11克
筆者已經基本通過他們的所有單證去分佈在HDFS並引述描述在以下5個類別的行爲方面:
- 內部劃分
- 自動靈活的數據分發
- 熱插拔節點
- 複製式
- 自動故障切換策略
,然後爲每個人提供短期行情。
我認爲這是相關的也看各種解決方案的羣集功能,因爲對NoSQL的主要用例是向外擴展。以下是供應商提供的信息鏈接的簡要概述:
- Couchbase - 每個節點都帶有一個集羣管理器,沒有中央集羣協調組件。供應商表示,Couchbase服務器隨着添加到集羣的每個節點線性擴展。還有一個稱爲XDCR的功能,它提供跨不同地理位置的複製。 MongoDB - 提供了一個分片架構,在該架構中數據被分割成碎片,有一個將數據映射到碎片的配置服務器,以及一個將數據傳遞到客戶端應用程序的Mongo實例(客戶端不直接訪問碎片) 。供應商指出分片是一項非常複雜的操作。 MongoDB Cluster Overview
- Redis開源 - 集羣功能正在開發中,目前在Alpha版本中,將提供實時重配置,容錯和pub/sub功能。供應商宣佈,某些Redis命令在集羣模式下不受支持 - 複雜的多鍵操作設置類型聯合或交叉點,以及在同一節點中不可用密鑰的所有操作。 Cluster Feature Specs
- Redis Cloud(商業) - 具有工作集羣功能的雲服務。供應商表示,他們能夠按需擴展,動態增加更多分片,並支持所有Redis操作。 Redis Cluster Overview
- Riak - 內置聚類,數據在Riak節點之間自動分區。節點可以動態添加和從集羣中刪除,Riak會相應地重新分配數據。供應商表示,該產品旨在進行分佈式設計,並且在添加更多節點時,核心操作(如讀/寫和映射/縮減)實際上會變得更快。 Riak Cluster Overview
http://aphyr.com/tags/Jepsen這個系列是優異的,如果你想看到很多的數據庫如何處理網絡問題:
我們要了解分佈式共識,討論CAP定理的影響,並展示分區下不同的數據庫的行爲。
- 1. 哪個解決方案比oracle更好?
- 2. 在這種情況下哪個URL方案會更好?
- 3. 在哪些情況下使用定位會比浮動更好?
- 4. 哪些內存管理技術在哪些情況下更好?
- 5. 其他解決方案相比情況下
- 6. 在哪種情況下LFU比LRU好?
- 7. 更好的解決方案?
- 8. HDF vs NoSQL解決方案
- 9. 在哪些情況下它是有意義的有多個項目在一個解決方案?
- 10. 哪種解決方案把手發佈/訂閱方案更好?
- 11. 約會搜索網站的哪個NoSQL解決方案?
- 12. Autofac,IDisposable和手動調用。在某些情況下解決
- 13. BigData解決方案之間的比較。
- 14. 在某些情況下
- 15. 在某些情況下
- 16. System.Security.Cryptography.ProtectedData.Unprotect在某些情況下
- 17. 哪個MySQL的存儲引擎會比較好在我的情況下
- 18. 一些好的解決方案
- 19. WCF或Normal BLL哪一個更好的解決方案?
- 20. PHP比每個循環更好的解決方案
- 21. 遞歸在這種情況下的最優解決方案?
- 22. 在Aspect中訪問HttpServletRequest對象。哪一個更好的解決方案提到兩個解決方案
- 23. 在某些情況下,異常流量控制是否更好?
- 24. AsyncTask TimeOut情況解決方案
- 25. 爲什麼在REST更好的情況下使用rest api? NoSQL
- 26. 在哪種情況下,C++/c#命名空間方法比Java方法更好?
- 27. 在哪些情況下使用正則表達式更好?
- 28. 比在模型中訪問路線更好的解決方案?
- 29. Maven和Java版本設置 - 哪個解決方案更好?
- 30. 更好的解決方案比開關更改classNames
您的問題是否需要解決方案有一個PHP接口,導致「php」標記與提供的答案無關。 – user327961 2011-09-26 18:02:31