Mysql 用于备份我的表和删除记录的Ruby/Bash脚本

Mysql 用于备份我的表和删除记录的Ruby/Bash脚本,mysql,ruby-on-rails,ruby,bash,Mysql,Ruby On Rails,Ruby,Bash,我将所有事务保存在DB中,而不是日志中,但我不希望表变大变慢,因此我想创建一个cron作业,每隔几个月执行一次,如: 1-备份硬盘驱动器的表 2-将所有记录移动到一个新表中,例如table_backup 3-删除该表上的记录 这样,如果insert在处理大型表时需要花费大量时间,那么每隔几个月就会释放一次表 请不要告诉我,我正在使用带有活动记录模型的ruby来访问DB表,您认为做这件事的最佳方式是什么,除了我的建议之外,还有其他的选择吗 我建议如下: 冗余-根据数据的重要性,您可能需要冗余存储(

我将所有事务保存在DB中,而不是日志中,但我不希望表变大变慢,因此我想创建一个cron作业,每隔几个月执行一次,如:

1-备份硬盘驱动器的表 2-将所有记录移动到一个新表中,例如table_backup 3-删除该表上的记录

这样,如果insert在处理大型表时需要花费大量时间,那么每隔几个月就会释放一次表


请不要告诉我,我正在使用带有活动记录模型的ruby来访问DB表,您认为做这件事的最佳方式是什么,除了我的建议之外,还有其他的选择吗

我建议如下:

  • 冗余-根据数据的重要性,您可能需要冗余存储(例如,主从数据库设置或RAID设备上的数据库)
  • 备份-对整个数据库进行每小时/每日/每周备份(同样,这取决于维护这些备份的重要性、您能为它们提供的空间、您获得的流量以及对数据库的影响)
  • 截断-有一个cron任务(随时查看
    gem,这使它变得容易),删除所有超过某个阈值(2周?)的条目。不需要为了删除旧条目而填充新表

  • 我相信这些方法是正交的,所以您可以选择适合您的方法,或者先实现重要的方法。

    正交?你是说它们有8条边?对不起,我应该说是八角正方的,就像github worthy一样。