补上缺失的一环----一种数据库系统主动对外推送表的增删改实时变动数据的实践

在实践中,一些应用程序或模块需要实时获取某些数据库表的增删改变动数据。
对此需求,常见的方案有:
1、应用程序通过轮循查询数据库方式获取数据库表的增删改变动数据.
2、应用程序在把数据写入数据库表之前,通过事件方式向外通知数据库表的增删改变动数据.
以上两种方案各有优势,但也存在一些明显的缺点。
第一种方案的优势是实现简单,但对数据库的访问压力大,影响数据库性能。
第二种方案的优势是实时性强,对数据库访问压力小,不影响数据库性能,但实现复杂,过分高耦合,不方便进行系统扩展。

对于以上情况,为了解决以上问题,本文提出了一种数据库系统主动对外推送表的增删改实时变动数据的实践。具体实现如下:
1、在数据库中新建一个推送摘要表,其表结构如下 

2、在每个要实时推送增删改数据的数据库表上新建触发器,以下为某张表的示例触发器脚本代码

3、开发一个数据库系统后台伴侣服务程序,为了说明实现思路,使用以下伪代码进行介绍

4、应用程序增补一个接收数据库表增删改变动数据的实时监听模块,通过获取到的推送摘要表数据到数据库获取所对应的具体表的数据.

以上只是初略介绍了一些实现,具体实践中还需继续完善,如以上第二步中的新建触发器,就要做好异常抓获、是否启用等处理,以适应生产环境的要求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/678738.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【HarmonyOS】应用振动效果实现

一、问题背景: 应用在强提醒场景下,一般会有马达振动的效果,提示用户注意力的关注。 比如消息提醒,扫码提示,删除键确认提示等。 针对高定制化或者固定的振动方式,我们需要有不同的方案实现,马…

【已解决】c++ QT继承基类界面页面丢失问题

本博文源于自己在工位上遇到的一个问题,这个问题不只犯了一次了。首先我继承CBaseDialog里的一个标题栏,结果发现,界面本来想这样结果变成这样: 结果变成这个样子: 问题原因 在于ui.setupUi这个层面,错…

C语言王国——字符函数和字符串函数(2)

目录 5 strtok函数 5.1 函数的表达式 5.2 函数模拟 6 strstr函数 6.1 函数表达式 7 strerror函数 7.1 函数表达式 7.2 例子 7.3 perror 8 strncpy、strncat、strncmp函数 四 结论 5 strtok函数 strtok函数我的理解是他是一个分割字符串的函数 5.1 函数的表达式 cha…

光伏无人机踏勘需要使用哪些设备?用到哪些原理?

随着全球能源结构的转型和绿色能源的大力推广,光伏电站的建设和运维正成为能源领域的热点。然而,光伏电站的选址、建设和后期运维过程中,往往面临着地形复杂、设备分散、巡检难度大等挑战。在这一背景下,无人机踏勘技术以其独特的…

最新 Navicat Data Modeler 4 | 产品介绍

在过去的几周里,我们已经介绍了 Navicat 版本 17,现在我们来把注意力转移到另外两个值得关注的产品上,即 Navicat Data Modeler 和 Navicat BI(之前称为 Navicat Chart Creator)。今天的博客将介绍 Navicat Data Model…

draw.io 如何设置图形圆角?

draw.io 如何设置图形圆角呢? draw.io 是一款强大的,免费的开源工具,我经常用它来画流程图,但是我发现 draw.io 对于图形圆角的设置,只提供了一个设置选项,如下图: 当你选中某个图形&#xff0…

go语言进阶 init() 函数

go 语言包 在一个项目中通常我们需要引入第三方包,我们来看下 当我们导入一个包的时候 发生了什么: 首先我们先详细介绍下两个函数: init(), main() 是 go 语言中的保留函数。我们可以在源码中 定义 init()函数, 此函数会在包导入…

谷粒商城实战(031 业务-秒杀功能2)

Java项目《谷粒商城》架构师级Java项目实战,对标阿里P6-P7,全网最强 总时长 104:45:00 共408P 此文章包含第315p-第p318的内容 秒杀上架 定时上架功能 EnableAsync 异步 EnableScheduling 定时调度 Configuration 配置类 创建上架定时任务类和方法 …

抖店商家疑惑,自然流量突然下滑,为什么呢?

大家好,我是喷火龙。 很多的抖店商家会遇到一种情况,那就是自己店铺的流量好好的,不知道怎么的就突然没流量了,各方面的数据都断崖式的下降。 为什么会这样呢?原因有以下几点,大家可以检查一下&#xff0…

Typora配置自动上传图片到图床

Typora配置自动上传图片到图床 在多平台发布文章时,如果遇到图片不能导入的问题,推荐使用图床!推荐使用阿里云或腾讯云,免费的不用考虑了! PicGo下载 链接:夸克网盘分享 使用手册: PicGo is…

《python开发》cannot allocate memory in static TLS block-报错问题解决

阿丹: 今天在配置跑rasa训练的时候出现问题,找了国内论坛有解决的人,但是说的不明白。查阅了很多论坛之后发现了解决的方案。 https://github.com/keras-team/keras-tuner/issues/317 问题描述以及错误: 关键错误 :c…

升级最新版openssh-9.7p1及openssl-1.1.1h详细步骤及常见问题总结

近期因为openssh相继被漏洞扫描工具扫出存在漏洞,所以考虑升级操作系统中的openssh和openssl为最新版本,来避免漏洞风险。期间的升级过程及遇到的疑难问题,特此记录下来,供有需要的人参考。 本次目标是升级 openssh 为 9.7p1 版本…

ios v品会 api-sign算法

vip品会 api-sign算法还原 ios入门案例 视频系列 IOS逆向合集-前言哔哩哔哩bilibili 一、ios难度与安卓对比 这里直接复制 杨如画大佬的文章的内容: ios难度与安卓对比 很多人说ios逆向比安卓简单,有以下几个原因 1 首先就是闭源,安卓开源…

UIScrollView代理

场景: 想要监控某组件,可以通过addTarget,但是复杂一点的,如UIScrollView的滚动监听就需要通过代理来实现了。代理本质是官方定义好的协议(接口),你只要用官方给出的API接口,就能实…

osg库的下载和安装

下载 下载地址:https://github.com/openscenegraph/OpenSceneGraph 安装 打开Cmake.exe,将上述下载的osg文件下的CMakeLists.txt文件拖入Cmake界面中。 在其路径下新建一个build文件 并配置cmake,点击Configure 修改如下几个选项 ACTUAL_3RDPARTY_DIR BUILD_OSG_EXAM…

Open vSwitch 数据包转发

一、数据包转发流程 Open vSwitch 数据包转发流程如下图所示,其中红色数字序号表示数据包转发的步骤顺序。 以下步骤为一个数据包通过 OVS 时的首次处理流程:(步骤序号和图中序号一一对应) OVS 从设备接口中获取数据包并交…

GitHub狂揽6700 Star,Python进阶必备的案例、技巧与工程实践

当下是 Python 急剧发展的时代,越来越多的人开始学习和使用Pyhon,而大家也遇到了各种问题。这份手册清晰、细致地介绍了 Python 代码应该遵循的编程风格,并解释了背后的原理和机制。 入门 Python 语言相对简单,但写出优雅的代码并…

营造科技展厅主题氛围,多媒体应用有哪些新策略?

长久以来,展厅作为线下向公众传递信息的窗口,其设计风格与内容主题紧密相连,展现出千姿百态的面貌。然而,随着数字多媒体技术的日新月异,展厅不再仅仅是传统的信息展示平台,而是成为了引领内容展示潮流的风…

技术积累1:Java容错机制

如何优雅地重试 原创 赵九文 字节跳动技术团队 2021-01-05 10:01 背景 在微服务架构中,一个大系统被拆分成多个小服务,小服务之间大量 RPC 调用,经常可能因为网络抖动等原因导致 RPC 调用失败,这时候使用重试机制可以提高请求的…

git获取的项目无法运行

一、Unsupported engine 问题:在使用命令npm install下载依赖项的时候就遇到了这个问题,有帖子说多试几次,其实这是提示node版本问题,版本的更新出现兼容性问题,多试几次也没用。 解决方案: 更新node.js的…