2011-12-17 54 views
1

我目前正在开发一个“微博”类型的应用程序。我正在使用Rails3和MySQL。我开始怀疑这是否是一个好主意。 2-3年后的状态表可能包含数百万行。Rails微博使用(否)SQL

MySQL可以处理这个数量还是应该转换成像Mongo这样的NoSQL解决方案?我很早就开发了,所以在这种状态下转换应用程序不会有问题。

您认为如何?这不是关于SQL和NoSQL的问题。这是关于什么最适合这种应用程序?

/托比亚斯

回答

2

这是一个很难的问题没有关于你的微博应用的愿望更多的信息来回答。这取决于你如何设计它以及人们将如何使用它。

但是,通常(在这里挥舞着手),这种类型的应用程序可以通过NoSQL解决方案进行最佳建模。

你有几个基本款:用户,博客,帖子,评论,附件

有了这样的MongoDB的解决方案,你可以在帖子建模为包含相关信息部分(或全部)对象注释,附件,喜欢,保存(做一点非规范化)作为嵌入对象,而不是单独的集合/表,否则它们必须连接在一起才能获得相同的信息。

这是很酷的,因为当你从数据库中检索后的对象,你把所有这些丰富的元数据与它一起(不产生加盟该数据的额外费用),如果你的博客是的

然而键入这些信息很少被使用或显示的地方,这种类型的设计在性能方面并没有太大的帮助。也就是说,使用传统数据库显然可以非规范化,但NoSQL方法更适合数据模型。