实时监控数据库的思考

 关于监控数据库的思考,

 

1.最长使用的方式是新建线程,定时查询数据库的记录,实现监控数据库的目的;

 

但这种方法时效率最低,消耗资源最高的方法;

 

2.写触发器,

这种方法对数据库的压力比较大,而且,当不同数据库之间传输数据的时候,可能会被影响,但小程序,单数据库的情况下,也是不错的选择。

但百度知道后,

触发器由于是隐藏的,无形中增加系统的复杂性,非DBA管理人员理解起来就会有困难,因为根本感觉不到它的存在。

再有,涉及到复杂的逻辑的时候,触发器的嵌套是避免不了的,如果再涉及几个存储过程,再加上事务等,很容易触发死锁,使用难度剧增。

所以,非常不建议使用触发器来监控数据库。

 

3.监控数据库日志,查看执行了哪些sql,从而判断数据库数据的变化情况,这种方式还没试过,以后找机会尝试一下(欠的债越来越多了)。

 

 

 

 

 

4.使用缓存来监控(比如redis),无论是集群,还是单服务器,这都是一个我觉着不错的方式,(虽然我也没试过。。。)。

 

 

 

以上,
为工作过程中产生的想法

posted @ 2016-12-16 18:15  it馅儿包子  阅读(710)  评论(0编辑  收藏  举报