Nov
13
2008

mysql杂谈

  两年前规划 news database 时,只做了千万级的设计,把 news 索引表和 newscontent 内容表分开,这样 news 索引表的效率很高,而 newscontent 除了偶尔读写,其他时候仅为存诸、备份,字段也很简单,一直都很高效。

  关于 news database,曾经有一次让啊土(我们 Team 的一名程序员)误操作,把几百万条数据记录删除了,他的恢复脚本里面首面有 drop table 行为,当时被我严重教育了一番,后来把权限控制的比较严格一些,从此没再发生这种严重错误。

  然而两年过去了,千万条数据记录也达到了,发生 mysql index 错误,需要使用 myisamchk 进行修复,发现分区 541G 已经使用了 458G,使用 myisamchk -r newscontent 修复不够空间,使用 -q 参数又不放心,只好接个 1.5TB 的 SATA 外接硬盘上去,把文件拷贝出来等修复完再传回去。

  是时候对 news 数据库做上亿级规划的时候了,得把 newscontent 表再重新设计,规划一下,拆分成多张表,相对固定比如 [0-9]、[09-99]、[A-Z] 或按 [YYYYMM] 分表存诸。

  Update:9个小时后,我放弃了把 newscontent.MYD 数据库文件通过网络传到 1.5TB USB/SATA 硬盘上再修复的做法,因为只完成了1/2不到,即便全部传完,再过9个小时,我才能开始修复,而修复时间,又将过去多少时间?因此,我又改用了 myisamchk -r -q newscontent 的方法,同时使用 renice 把优先级设到最大,让他去吧!

Written by Lin in: 研究 | Tags: , , ,

5 Comments »

  • 什么网站会有这么大的数据量???两年上亿条数据?平均每天新增十多万条数据??怎么可能有这么多新闻啊???我崩溃。。。

    Comment | November 15, 2008
  • Lin

    一千多万条数据吧,没上亿条,但是往下跑上亿条很正常啊。

    Comment | November 15, 2008
  • 那也很多啊,两年网多了说也就800天、而1千万条数据,就是说每天新增上万条数据,哪有那么多新闻啊?

    Comment | November 15, 2008
  • lin

    很正常,一天产生一万多条新闻实不算多,当然这里面包括了很多通稿、转载等内容,把这些内容再重新挖掘聚合,就成为了热门标签或专题。

    Comment | November 16, 2008
  • 哈哈可以玩上亿的数据了 崇拜!

    Comment | February 9, 2009

RSS feed for comments on this post. TrackBack URL

Leave a comment

You must be logged in to post a comment.

Powered by WordPress | Aeros Theme | Linxinglu.com