当前位置:  开发笔记 > 后端 > 正文

存档实时MySQL数据库的最佳方式

如何解决《存档实时MySQL数据库的最佳方式》经验,为你挑选了1个好方法。

我们有一个实时MySQL数据库,99%INSERT,每秒100左右.我们希望每天存档数据,以便我们可以在其上运行查询,而不会影响主数据库.此外,存档完成后,我们要清除实时数据库.

没有(如果可能)锁定INSERT的最佳方法是什么?我们对查询使用INSERT DELAYED.



1> Alister Bulm..:

http://www.maatkit.org/有mk-archiver

归档或清除从表到另一个表和/或文件的行.它旨在以非常小的块有效地"蚕食"数据,而不会干扰关键的在线事务处理(OLTP)查询.它通过非回溯查询计划来实现这一点,该计划在查询到查询的表中保持其位置,因此每个后续查询在查找更多可归档行方面所做的工作非常少.

另一种方法是每天简单地创建一个新的数据库表.MyIsam确实有一些优点,因为INSERT到表的末尾通常不会阻塞,并且有一个合并表类型将它们全部重新组合在一起.许多网站将httpd流量记录到这样的表中.

使用Mysql 5.1,还有一些分区表可以做很多相同的事情.


Maatkit已成为Percona Toolkit的一部分 - http://www.percona.com/doc/percona-toolkit/2.1/pt-archiver.html
推荐阅读
手机用户2502851955
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有