首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >历史数据的存储和分析--什么样的数据库?

历史数据的存储和分析--什么样的数据库?
EN

Stack Overflow用户
提问于 2012-06-29 20:00:52
回答 1查看 1.4K关注 0票数 2

我目前正在设计一个系统来监视youtube视频的排名/观看。很多youtube视频(超过500.000,而且还在不断增长)每天都是如此。

我目前正在考虑将其存储在MySQL数据库中,但让我感到不安的是,该表将增长到数十亿行和数万亿行,我不认为这会有很好的效果。

我需要分析这些数据,例如:

  • 在X和Y之间的时间里,哪些视频增长了很多?
  • 每天绘制点击量。
  • 每周点击一次..。
  • 还有一些我还不知道的事

所以,在我的Web2.0头脑中,有什么办法可以让NoSQL数据库更好地处理这个问题呢?我不太了解这些(几乎)新数据库,也不知道它们能做什么。

你的建议是什么,使用什么类型的数据库?关系型还是非关系型?如果不是,哪个NoSQL数据库?

PS:第一优先是快速评估和插入结果,其次是高可用性(或仅仅是复制)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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亿行,那么查询时间将大致相同。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11268214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档