2010-04-01 50 views
111

我正在設計一個高度可擴展的應用程序,它必須存儲大量數據。舉個例子,它會存儲很多關於用戶的信息,然後像很多消息,註釋等。我之前一直使用MySQL,但現在我很想嘗試一些新的,比如couchdb或者類似的不是SQL的東西。SQL(MySQL)vs NoSQL(CouchDB)

有沒有人有任何想法或指導呢?

+3

Gah,CW。我希望能在這裏得到一些真正的代表和街頭信譽。 :-) – 2010-04-01 09:57:21

+1

你能解釋一下你的數據集嗎? – mikeal 2010-04-01 16:43:35

回答

171

以下是最近的一條報價blog post from Dare Obasanjo

SQL數據庫就像自動的 傳輸和NoSQL數據庫是手動傳輸的 。一旦您 切換到NoSQL,您將成爲 負責 系統在 系統自動處理的許多工作的關係數據庫系統。類似的 與當您通過自動變速器選擇手動 時會發生什麼。其次, NoSQL允許您通過 消除系統中更多 的性能,刪除 數據庫層中由關係數據庫完成的大量完整性檢查 。同樣,這與 類似,您可以通過駕駛手動變速箱 與自動變速箱 獲得更多性能 。

然而,最顯着的相似性 ,只是我們大多數人一樣不能真正 採取的 手動變速器車輛,因爲 我們大部分的駕駛在交通坐在 的道路上帶來的優勢和從 工作,有一個類似的嚴酷的現實 在大多數網站不在谷歌或 Facebook的規模,因此沒有需要 爲Bigtable或Cassandra。

我只能將其中至少有一些經驗的MySQL的切換添加到沒有經驗的CouchDB,這意味着您將不得不處理一組全新的問題並學習不同的概念和最佳做法。雖然這本身是非常棒的(我在MongoDB中玩的很多,並且喜歡它),但在估算項目的工作時需要計算一定的成本,並且帶來未知的風險,同時保證未知的優勢。如果你能按時完成項目,並且想要成功的質量,那麼很難判斷你是否能夠按時完成項目,如果它基於你不知道的技術。

現在,如果您在團隊中擁有NoSQL領域的專家,那麼請務必仔細閱讀。但是,如果團隊沒有任何專業知識,不要跳過NoSQL來開發新的商業項目。

更新:僅僅是在開火的時候扔掉一些汽油,這裏有兩篇來自SQL陣營的有趣文章。:-)

I Can't Wait for NoSQL to Die(原文走了,這裏有一個copy
Fighting The NoSQL Mindset, Though This Isn't an anti-NoSQL Piece
更新:那麼這裏是關於NoSQL的一個有趣的文章
Making Sense of NoSQL

+2

擴展SQL解決方案的過程是刪除功能和關係的過程。所以我不認爲這是一個完全公平的評估。另外,我不會像這樣將NoSQL數據庫組合在一起,例如Cassanda只關注縮放* up *,而CouchDB關注縮放api * down *並使其易於使用並嘗試允許該api擴展至遠儘可能地。 – mikeal 2010-04-01 16:42:00

+0

可能這是引用的鏈接? http://www.25hoursaday.com/weblog/2010/03/29/TheNoSQLDebateAutomaticVsManualTransmission.aspx – edosoft 2010-04-02 09:18:38

+0

啊,的確是的。我錯過了他也把它作爲公共博客文章。我會更新帖子。 – 2010-04-02 16:12:54

3

好像只有真正的解決方案都圍繞着擴展或分片。所有現代數據庫(NoSQL和NewSQL)均支持在數據庫層開箱即可進行水平縮放,而無需應用程序分割代碼或其他東西。

遺憾的是,對於值得信賴的老式MySQL,sharding並不是「開箱即用」提供的。 ScaleBase(免責聲明:我在那裏工作)是一個完全橫向擴展解決方案的製造商,如果你願意,你可以使用「自動分片機」。 ScaleBae分析您的數據和SQL流,在數據庫節點之間分割數據,並在運行時聚合 - 因此您不必! 它免費下載。

不要誤解我的意思,NoSQLs很棒,他們是新的,新的是更多的選擇和選擇永遠是好的!但是,選擇的NoSQL是有代價的,請確保您可以支付它...

你可以在這裏看到關於MySQL,NoSQL的一些資料...:http://www.scalebase.com/extreme-scalability-with-mongodb-and-mysql-part-1-auto-sharding

希望這有助於。

0

最好的選擇之一是去支持可擴展性的MongoDB(NOSql dB)。存儲大量的數據,只有sql.txt中的行和表不同的文檔形式。數據。使用複製數據庫來確保數據保證能夠維護多臺以主數據庫服務器爲基礎的服務器。語言獨立。 靈活使用

+0

由於Couchbase,Cassandra,AeroSpike等支持您提及的功能,您應該將您的意見備份到「最佳」。 – 2016-12-17 20:08:11