2011-12-17 56 views
1

我目前正在開發一個「微博」類型的應用程序。我正在使用Rails3和MySQL。我開始懷疑這是否是一個好主意。 2-3年後的狀態表可能包含數百萬行。Rails微博使用(否)SQL

MySQL可以處理這個數量還是應該轉換成像Mongo這樣的NoSQL解決方案?我很早就開發了,所以在這種狀態下轉換應用程序不會有問題。

您認爲如何?這不是關於SQL和NoSQL的問題。這是關於什麼最適合這種應用程序?

/托比亞斯

回答

2

這是一個很難的問題沒有關於你的微博應用的願望更多的信息來回答。這取決於你如何設計它以及人們將如何使用它。

但是,通常(在這裏揮舞着手),這種類型的應用程序可以通過NoSQL解決方案進行最佳建模。

你有幾個基本款:用戶,博客,帖子,評論,附件

有了這樣的MongoDB的解決方案,你可以在帖子建模爲包含相關信息部分(或全部)對象註釋,附件,喜歡,保存(做一點非規範化)作爲嵌入對象,而不是單獨的集合/表,否則它們必須連接在一起才能獲得相同的信息。

這是很酷的,因爲當你從數據庫中檢索後的對象,你把所有這些豐富的元數據與它一起(不產生加盟該數據的額外費用),如果你的博客是的

然而鍵入這些信息很少被使用或顯示的地方,這種類型的設計在性能方面並沒有太大的幫助。也就是說,使用傳統數據庫顯然可以非規範化,但NoSQL方法更適合數據模型。