数据库 mysql 海量数据存储求教

kenshin54 · 2012年07月04日 · 最后由 tency 回复于 2012年11月05日 · 7134 次阅读

求教一下有关mysql海量数据存储问题:

  1. mysql的innoDB单表数据存储多少比较合适?
  2. 我们主数据可能有上亿的数据,以及关联的数据可能到10亿级别,如果进行拆分表的话拆成多少个比较合适?
  3. 如果单表数据量拆分后在千万级别,只是在索引列上做一些查询,性能方面会不会有问题?
  4. rails方面有没有对分表方便支持比较好的gem或者方案?

谢谢

共收到 14 条回复

你们都有这么多数据了,查一下就测试出来了有没有性能问题啊。。

#1楼 @hooopo 数据是我们后面预计会到达的值,现在没有那么多,所以想提前做好准备

#2楼 @kenshin54 那你们现在有多少

假设是时间顺序,时间近的数据重要,可以每各月backup下数据到平行表中。

#3楼 @hooopo 我们的现有数据在千万级,测试过单表百万级的数据量,性能没有问题

#4楼 @heliang7 谢谢你的回复,我们的数据并不是按时间顺序的,我比较想了解mysql单表的数据可承受量是多少,这样可以决定下怎么拆分表

这个数据量的话,是不是不要再用mysql了

#7楼 @azhao 淘宝的 MySQL 里面不只这个量

以前用mysql cluster innoDB的数据库集群,单表数据超过百万级别的时候,查询就很费劲了,每一条sql要经过测试调优才能放到项目中用,在这个级别就要拆表了。不是cluster的mysql还没有测试过

#8楼 @huacnlee 淘宝的方便说么?

#8楼 @huacnlee 淘宝用全用的是MySQL还是仅仅只是一部分哈

基本思想就是“拆分” 比如根据id,把记录分布在不同的库里 或者根据查询条件分区 具体选什么方案实现,要看具体的需求场景

这数量级的数据,如果你们业务实时性要求不高,简单用mysql问题也不大,如果对实时性要求较高,建议上缓存(各种意义上的),以及分布式。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册