我目前正在设计一个监视YouTube视频排名/视图的系统。很多youtube视频(> 500.000并且每天都在增长)。
我正在考虑将其存储在MySQL数据库中,但令我感到不安的是,该表会增长到数十亿和数万亿行,我认为这些行不会很好。
我需要分析这些数据,例如:
那么,我的Web 2.0思想是什么,NoSQL数据库有没有办法更好地处理这个问题?我没有完全了解这些(几乎)新的数据库,也不知道它们的功能。
您的建议是什么,使用什么类型的数据库? 关系与否?如果没有,哪个NoSQL数据库?
PS:首要任务是快速评估和插入结果,其次是高可用性(或只是复制)
答案 0 :(得分:2)
很难为数据库系统提供建议,因为它总是取决于。但是,考虑到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亿,实际上并不重要,查询时间大致相同。