实时监控数据库的思考

关于监控数据库的思考,

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

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

2.写触发器,

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

但百度知道后,

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

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

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

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

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

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

时间: 2024-11-05 06:14:31

实时监控数据库的思考的相关文章

c# 实时监控数据库 SqlDependency

http://blog.csdn.net/idays021/article/details/49661855 class Program { private static string _connStr; static void Main(string[] args) { _connStr = ConfigurationManager.ConnectionStrings["plmConnectionString"].ToString(); SqlDependency.Start(_co

160411、实时监控mysql数据库变化

对于二次开发来说,很大一部分就找找文件和找数据库的变化情况 对于数据库变化.还没有发现比较好用的监控数据库变化监控软件. 今天,我就给大家介绍一个如何使用mysql自带的功能监控数据库变化 1.打开数据库配置文件my.ini (一般在数据库安装目录)(D:\MYSQL) 2.在数据库的最后一行添加 log=log.txt 代码 3.重启mysql数据库 4.去数据库数据目录 我的是(D:\MYSQL\data) 你会发现多了一个log.txt文件 我的是在C:\Documents and Set

mysql数据库数据变化实时监控

对于二次开发来说,很大一部分就找找文件和找数据库的变化情况 对于数据库变化.还没有发现比较好用的监控数据库变化监控软件. 今天,我就给大家介绍一个如何使用mysql自带的功能监控数据库变化 1.打开数据库配置文件my.ini (一般在数据库安装目录)(D:\MYSQL) 2.在数据库的最后一行添加 log=log.txt 代码 3.重启mysql数据库 4.去数据库数据目录 我的是(D:\MYSQL\data) 你会发现多了一个log.txt文件 我的是在C:\Documents and Set

java利用WatchService实时监控某个目录下的文件变化并按行解析(注:附源代码)

首先说下需求:通过ftp上传约定格式的文件到服务器指定目录下,应用程序能实时监控该目录下文件变化,如果上传的文件格式符合要求,将将按照每一行读取解析再写入到数据库,解析完之后再将文件改名. 一. 一开始的思路 设置一个定时任务,每隔一分钟读取下指定目录下的文件变化,如果有满足格式的文件,就进行解析. 这种方式很繁琐,而且效率低,效率都消耗在了遍历.保存状态.对比状态上了! 而且无法利用OS的很多功能. 二. WatchService介绍 1. 该类的对象就是操作系统原生的文件系统监控器!我们都知

CentOS下使用MyTop实时监控MySQL

CentOS下使用MyTop实时监控MySQL MyTop的项目页面为:http://jeremy.zawodny.com/mysql/mytop/ MyTop安装 $ yum -y install mytop #epel源 MyTop命令参数 $ man mytop -u / --user <USERNAME>:指定 username,预设是 root -p / --pass / --password <PASSWORD>:指定password,预设是none -h / --ho

如何做实时监控?—— 参考 Spring Boot 实现(转)

转自:http://blog.csdn.net/xiaoyu411502/article/details/48129057 随着 微服务 的流行,相比较以前一个大型应用程序搞定所有需求,我们现在更倾向于把大型应用程序切分成多个微服务,服务之间通过 RPC 调用.微服务架构的好处非常多,例如稳定的服务变化较少,不会被非稳定服务所影响:不同的服务更方便交给不同的人管理:发布.扩容等操作也更加有针对性.不过这也不是没有代价的,额外的成本最主要的可能就是运维成本. 我们维护的一个产品,由 7 个微服务构

CentOS7.5 安装配置天兔(lepus)监控数据库(一)

CentOS7.5 安装配置天兔(lepus)监控数据库(一) 标签(空格分隔): 运维系列 一: 天兔(lepus) 监控介绍 二: 天兔(lepus) 安装环境配置 三: 天兔(lepus)部署 一: 天兔(lepus) 监控介绍 Lepus(天兔)数据库企业监控系统是一套由专业DBA个人(目前就职于某互联网公司),针对互联网企业开发的一款专业.强大的企业数据库监控管理系统,企业通过Lepus可以对数据库的实时健康和各种性能指标进行全方位的监控.目前已经支持MySQL.Oracle.Mong

Lepus(天兔)监控数据库

该博文是参考Lepus官方文档撰写的,官方文档蛮详细的,但是有些下载链接失效(这个开源产品的维护者比较忙,所以更新不太及时),也为了以自己的写作风格记录下lepus的使用方法,所以这篇博文就出现了. Lepus系统特性如下: 无需Agent,远程监视云中数据库 WEB直观的管理和监视数据库 实时MySQL健康监视和告警 实时MySQL复制监视和告警 实时MySQL资源监视和分析 实时MySQL缓存等性能监视 实时InnoDB IO性能监控 MySQL表空间增长趋势分析 可视化MySQL慢查询在线

用java写一个远程视频监控系统,实时监控(类似直播)我想用RPT协议,不知道怎么把RPT协议集成到项目中

我最近在用java写一个远程视频监控系统,实时监控(类似直播)我想用RPT协议,不知道怎么把RPT协议集成到项目中,第一次写项目,写过这类项目的多多提意见,哪方面的意见都行,有代码或者demo的求赏给我,谢谢