大型MySql表在服务器上加载太多负载

Noa*_*oam 7 mysql database indexing database-design nosql

我有一个MySql表,其中包括:

  1. 〜2500万行(当前)
  2. 3个指标
  3. 每天,爬行器增加约300万行
  4. 我目前看起来并不太远,但db的最终估计可以是~CONST*e9行
  5. 目前9.5giga
  6. innodb和插入时正在读取

数据本身由~100个字符的文本+几个字段组成,其中包含关于它的元数据.索引是唯一的id,writer名称和writer ID.

到目前为止,一切顺利,但现在服务器很难处理新数据的插入(每个插入约10个行,增加约3k行).我正试图找到克服这个问题的方法.我考虑的事情:

  1. 插入时执行索引需要付出努力.也许在插入时不会这样做,并且只有在X插入添加索引之后.
  2. 将数据分区到不同的表中.
  3. 爬进一个小的数据库,每X分钟/天,将数据移动到大数据库中.
  4. 移动到不同的数据库.我对NoSql不太熟悉,会帮我解决这些问题吗?使用它是一项很大的努力吗?

每个选项都有其子选项和困境,但我认为我应该首先关注方向.我应该走哪条路?为什么?我应该想到一条不同的道路吗?

顺便说一句 - 也有不把所有的数据,只有部分我真的显示一个选项,但是这将使它不可能做的过程中有数据显示之前经历了一些功能性改变.

Imr*_*e L 1

当前的发动机是否最适合使用?

您考虑过http://dev.mysql.com/doc/refman/5.1/en/partitioning-management.html