现在有一个需求,要将MySQL里的类似log的记录,按每分钟、每5分钟、每小时等等要求,整理并生成新的数据。
我能想到做这件事可能有若干种方法:
- 通过Mysql事件调度器(Event Scheduler),Mysql定时自己执行
- 通过MySQL Trigger, log数据表每次插入时执行整理操作
- 通过编程语言连接数据库,在编程语言中整理数据并插入数据表,同时用守护进程运行这个程序。
前两种方法可以比较好的保证数据的完整性,但是log数据插入非常频繁,可能会引发一些性能问题,SQL的编写也比较有难度。
方法3相对灵活,但是需要额外维护,还需要对异常情况做很多额外处理。
请教一下有类似需求的同学都是如何实现的?
cron job. (内容的字数不少了, 详细描述问 Google 就行了。)