我目前正在设计一个系统来监视youtube视频的排名/观看。很多youtube视频(超过500.000,而且还在不断增长)每天都是如此。
我目前正在考虑将其存储在MySQL数据库中,但让我感到不安的是,该表将增长到数十亿行和数万亿行,我不认为这会有很好的效果。
我需要分析这些数据,例如:
所以,在我的Web2.0头脑中,有什么办法可以让NoSQL数据库更好地处理这个问题呢?我不太了解这些(几乎)新数据库,也不知道它们能做什么。
你的建议是什么,使用什么类型的数据库?关系型还是非关系型?如果不是,哪个NoSQL数据库?
PS:第一优先是快速评估和插入结果,其次是高可用性(或仅仅是复制)。
发布于 2012-06-29 20:36:11
为数据库系统提供建议是非常困难的,因为它总是取决于。然而,考虑到Facebook是建立在MySQL之上的,这表明MySQL的性能可能没有限制。
您可能已经做过的有帮助的是,创建一个表结构应该是什么样的结构。然后,还可以考虑您希望对表运行的查询。
如果您有正确的索引(这是查询速度所依赖的主要和关键因素),那么您就不必担心MySQL的性能。您应该考虑的是(我所经历的),MySQL如何处理索引有很多有趣的事情。让我举几个我在这段时间里必须弄清楚的例子:
ORDER BY。ORDER BY。有关更多信息,请访问mysqlperformanceblog.com:http://www.mysqlperformanceblog.com/2009/09/12/3-ways-mysql-uses-indexes/上的有用链接
一般来说,如果数据库的结构很好,索引很好,根据我的经验,如果您只有10.000行或100亿行,那么查询时间将大致相同。
https://stackoverflow.com/questions/11268214
复制相似问题