2012-10-13 103 views
2

我正在尋找建立一種社交網絡。現在這不會是Facebook的規模,但我覺得它可能有一個大的追隨者。我想要考慮可擴展性來構建系統。它還需要能夠處理大量的數據和關係。我希望有人能給我一些什麼數據庫的使用方向。我讀過很多文章,但他們通常至少有一年的歷史,數據庫變化很快,所以我不知道人們說的話是否仍然適用。我非常喜歡riak數據庫,因爲它很容易擴展,我喜歡所有節點都可以讀寫的事實。我的擔心之一是數據將會具有的關係。但是,我相信riak中的鏈接將解決這個問題。但是在使用鏈接會降低性能。我只是希望有人能給我一些經驗和數據庫目前的方向。哪個nosql db適合?

回答

1

這個問題可能會引發太多爭論。但都一樣;這聽起來像是你應該遠離簡單的鍵值,比如說,redis,並且更傾向於一個對象存儲的豐富的,甚至是關係型的元數據;像MongoDB一樣。

+0

感謝您的回覆。我已經讀過,mongodb有點難以擴展,並且它不能很好地處理大量的數據。還有一點需要注意的是關係。我知道你可以將關係保存在一個單獨的對象中(可能通過ID),但它們的空間有限(如果我沒有記錯的話,它們的空間有限),所以在某些時候這可能是一個問題。 – ngreenwood6

+1

我沒有資料,但我記得我們的操作部門。說蒙戈只能容納大約100萬條記錄或類似的東西。我希望我不會發起火焰戰爭。 Mongo可以做得很好,但你必須保持自己的正直。 Redis對於你所需要的(鍵/值存儲)太簡單了。我會選擇使用mysql或mongodb。不知道有關couchdb。 – chovy

2

這個主題有幾個評論:by thoughtworks(和一些在福勒的書),和一些在Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase vs Membase vs Neo4j comparison。據他們說,你需要「圖形數據庫」或「分佈式同行存儲」(Riak在此處列出),或者,更好 - 它們的組合。如果性能是您主要關心的問題,我還建議開始對高負載場景進行建模,並看看會發生什麼。

+0

感謝您的回覆。我非常肯定要進行一些高負荷測試。我只想在走下這條道路之前縮小我的選擇範圍。喜歡把它降到2或3.是的,riak對我來說真的很有趣。你有沒有關於如何有效的關係的任何意見。 – ngreenwood6

+0

@ ngreenwood6在我們進入討論之前 - 您能否在您的問題中概述預期的數據模型?這將稍微指出並將「大量數據和關係」問題縮小到更具體的問題。 – mikalai