人大金仓以新兴技术加速数据管理智能化

news2025/1/12 6:03:51

1e64b81fb20c8b37bc0ff447a495c739.gif

新兴技术:数据库自治事务

引言

在当今数字化时代,数据库技术不断演进,为企业提供了更高效的数据管理和处理手段。数据库自治事务作为一项新兴技术,引起了业界的广泛关注。目前,KingbaseES自治事务技术已经成功地应用于错误日志记录和数据库审计。

随着金仓数据库在各行各业中的广泛应用,自治事务的应用场景也在不断增加,在数据管理领域的重要性日益凸显,不断推动着数据管理向更智能、更高效的方向发展。

剖析KingbaseES自治事务核心

数据库自治事务指的是在当前事务(主事务)上开启的另一个完全独立的事务,执行自治事务程序时,主事务将挂起,退出自治事务,主事务会继续。因此,就时间线而言,主事务启动自治事务后会暂时挂起,等待自治事务执行完毕后才再次运行。类似的子事务也具有相同的时间序,但是自治事务和主事务有本质的区别

d684d0ad91def9a0e7dde60986e9c493.png

相比之下,自治事务启动后,是完全独立的,它与主事务不共享锁、资源或提交依赖项。即使主事务回滚,也可以记录事件、增加重置计数器等,自治事务还能够构建模块化、可重复使用的软件组件

揭秘KingbaseES自治事务操作流程

自治事务的本质也是一个事务,所以自治事务可以commit和rollback。自治事务程序正常执行结束后,自治事务内执行的所有操作会被提交并持久化;如果自治事务抛出异常,那么主事务能够捕获其抛出异常,然后用户可能根据其异常进行相应处理。

PL/SQL对象有匿名块、函数和存储过程、包中函数和存储过程、嵌套子函数和存储过程以及触发器,自治事务可以在任意的PLSQL对象中使用。接下来将结合具体示例说明在不同PLSQL对象下如何使用自治事务。

59a0fe4c119c0782924bffce7a4f9b97.png

匿名块中使用自治事务

fdeb5cff0e9e4d8e8bcff663ce3e0f74.png

子程序中使用自治事务

bc17dcc9107febc4d16adb356ffad747.png

包中使用自治事务

0e00fd29f167fcc06a36c9307dae99c0.png

触发器中使用自治事务

通过上述示例可以明确一点——普通用户程序仅需要在使用对象的声明区域加上声明语句PRAGMA AUTONOMOUS_TRANSACTION就可以使用自治事务需要注意的是匿名块中使用自治事务,该匿名块必须为顶层的匿名块;包本身不能直接使用自治事务,但是可以在包中的子程序中使用自治事务。

探寻数据库自治事务适用场景

因为自治事务能独立地被提交,而不影响主事务,所以自治事务可以用来做独立的数据处理。基于此,自治事务可以用于错误日志记录、数据库审计等场景。

如果主事务所在的程序抛出异常,而我们想要记录该异常信息,直接使用INSERT语句向日志表中插入此异常信息显然是行不通的,因为如果触发了事务回滚将导致该条日志信息被清理。所以在这种情况下使用自治事务就能达到独立记录错误日志信息的目的。下图给出了一个自治事务记录错误日志的示例。

caffefc8e11163340383ce1792da4d2c.png

ee4d891b24ffe1ba551627bb31e84c5e.png

如图表所示,主事务UPDATE操作执行完成后,再进行fetch into时未读到数据,此时name为空,进入异常处理块,然后调用程序write_err_log开启自治事务,挂起主事务,等待自治事务程序write_err_log将错误信息插入到日志表err_log中,结束自治事务,主事务继续,由于主事务已经出错并且事务并未提交,所以test表中的数据将被回滚。由此可见,自治事务很适合做独立的数据处理,特别是用于记录错误日志。

TIPS:自治事务不适用场景●●

由于自治事务与主事务锁不共享,所以自治事务与主事务访问同一行时,由于产生资源竞争,形成死锁而触发异常,因此自治事务不适合用于该场景。

无论是在金融、医疗行业,还是服务行业中知识产权管理、供应链等领域,数据库自治事务都将为数据管理带来新的可能性。人大金仓也将继续致力于数据库技术的突破和创新,“以用促研”,使得自治事务技术更灵活地应用于更多场景。021e093487236a2fbb50a9f77155154f.png供稿:产品研发中心

编辑:王堇

审核:日尧

0811f03e4be697d162dda58a95a92e56.gif

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

算法-80. 删除有序数组中的重复项 II-⭐⭐

给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 提示&…

刚考过PMP想问一下怎样才能转行做PM

引言: 在当今竞争激烈的职场环境下,许多人考虑转行成为项目经理(PM),这是一个充满挑战和机遇的职业。虽然转行可能会面临一些困难,但通过采取适当的策略和技巧,你可以成功地转型为一名优秀的项目…

短视频业内有一句话:先模仿在超越

最近我在一个公众号发现了视频号爆款排行榜,这里集合了视频号的各种视频,可以帮助用户在视频号中了解目前最受欢迎和流行的内容类型。 除此之外很多人不知道这个视频号爆款排行是做什么的,主要是为了大家了解视频号的爆款数据以及为个人或者…

数据分析:小红书品牌“共情力”缔造指南

导语 “从哪来回哪去。”“你要带我回中国吗?” 8月30日,博主“煎饼果仔”、“夏天妹妹”发布自制短剧《逃出大英博物馆》,讲述一盏玉壶逃出大英博物馆寻找回国之路的故事,在发布后短时间内实现“现象级传播”。 见证现象级话题…

线性表-----栈(栈的初始化、建立、入栈、出栈、遍历、清空等操作)

目录 前言 栈 1.定义 2.栈的特点 3.栈的储存方式 3.1数组栈 3.2链栈 4.栈的基本操作(C语言) 4.1初始化 4.2判断是否满栈 4.3判断空栈 4.4 入栈 4.5 出栈 4.6获取栈顶元素 4.7遍历栈 4.8清空栈 完整代码示例 前言 大家好呀!今天我…

聚观早报 | OPPO A2 Pro官宣;京东建材发布“1家1”计划

【聚观365】9月15日消息 OPPO A2 Pro官宣 京东建材发布“1家1”计划 谷歌开始新一轮“瘦身”计划 CapCut全球用户总支出超1亿美元 马斯克称特斯拉FSD安全性超过人类司机 OPPO A2 Pro官宣 去年11月,OPPO推出了A1 Pro,该机采用了120Hz OLED护眼曲屏&…

pyhton内置的数据类型(二)

pyhton内置的数据类型 一、内置数据类型的解释创建及赋值二、表示转义的符号实例操作 二、字符串的基本特性1.连接操作符 “ ” ,提示:必须是同一数据类型才能相加2. 重复操作符 “ * ”3.成员操作符 “ in ”4. 正向索引和反向索引5. 切片(…

Scholarcy:AI在线论文摘要总结工具

【产品介绍】 名称 scholarcy 成立/上线时间 2018年 具体描述 scholarcy是一个基于AI的在线论文文献摘要总结工具,可以帮助研究人员和学生快速阅读和理解各种类型的文献,如研究论文、报告和书籍章节。 scholarcy可以在几秒钟…

【Mybatis源码分析】插件机制和Pagehelper插件源码分析

分页插件Pagehelper源码分析 一、插件机制二、Pagehelper源码分析 前文叙述过以下内容:Mybatis对动态代理的使用,一二级缓存和懒加载的原理。其中二级缓存解释了在分布式环境下可能出现缓存不一致问题,但没说解决方案。其实个人认为这种问题除…

前端JavaScript中异步的终极解决方案:async/await

🎬 岸边的风:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 ⛺️ 生活的理想,就是为了理想的生活 ! 1. 背景 在深入讨论 async/await 之前,我们需要了解一下 JavaScript 的单线程和非阻塞的特性。JavaScript 是…

编写postcss插件,全局css文件px转vw

跟目录下创建plugins文件夹,创建postcss-px-to-viewport.ts文件 文件内代码: // postcss 的插件 vite内置了postCss插件 无需安装 import { Plugin } from postcss;interface Options {viewportWidth: number }const Options {viewportWidth: 375, // …

mmdetection环境配置和安装

创建 openmmlab 虚拟环境 conda create -n openmmlab python3.7激活openmmlab环境 conda activate openmmlab安装torch 在torch官网查找安装自己电脑cuda对应的torch安装命令 conda install pytorch torchvision torchaudio pytorch-cuda11.7 -c pytorch -c nvidia使用 MIM …

Spring源码分析(三) bean的生命周期 createBean()和doCreateBean()

1、createBean() resolveBeforeInstantiation 也要详细介绍 打标机 protected Object createBean(String beanName, RootBeanDefinition mbd, Nullable Object[] args)throws BeanCreationException {if (logger.isTraceEnabled()) {logger.trace("Creating instance of b…

家庭安全不容小觑!青犀AI智能分析算法+摄像头助力家庭安全

你知道吗?高层家庭更需要人工摄像头!虽然现在社会治安十分稳定,高层建筑更是安全,但高层盗窃、陌生人入室这些新闻还是层出不穷,为了解决这些安全隐患,给广大人民一个安心的生活环境,旭帆科技将…

线性方程组

目录 线性方程组 齐次线性方程组 基础解系 非齐次线性方程组 线性方程组 线性方程组是数学中的一个基本概念,它是指由一组线性方程组成的方程组。线性方程组的一般形式为: a1x1 a2x2 ... anxn b1 a1x1 a2x2 ... anxn b2 ... a1x1 a2x2 ..…

处理更多数据,大幅降低成本!Milvus MMap 启示录

作为 VectorDBBench 中最快的开源向量数据库,Milvus 可以很好地为有高性能需求的用户服务。与此同时,我们也注意到一些用户会将 Milvus 用在离线业务中,还有部分用户对性能需求并不敏感,这意味着在同规格的实例上,他们…

AI绘画的崛起与多平台对比

目录 引言AI绘画技术的发展历程主流AI绘画平台概览DeepArt.ioPrismaNVIDIA Canvas 对比分析与评价画风迁移能力创造力和创新性使用便利性和用户体验是否开源与社区互动 引言 随着科技的飞速发展,人工智能(AI)正逐渐渗透到我们生活的方方面面。…

国际版腾讯云/阿里云:全站加快有哪些功用?有哪些优势?适用于什么场景?

腾讯云全站加快有哪些功用?有哪些优势?适用于什么场景? 产品功用 全站加快 ECDN 经过在全球各区域部署加快节点,有用下降跨国拜访推迟,保证全球加快作用。 最优链路 各加快节点两两相连,实时勘探&#xff0…

【CentOS7】vsftpd学习笔记

2023年9月14日,周四下午 目录 安装vsftpd添加账号给账户设置新密码开放21号端口关闭21号端口查看vsftpd的运行状态启动vsftpd关闭vsftpd查看CentOS7的IP地址在Windows测试你的运行在CentOS7的用vftpd构建的FTP服务器查看Windows自带的ftp程序有哪些可用的命令 安装…

AI生成文章-AI文章生成工具

随着社会的发展人工智能技术的突破,越来越多的人开始使用AI来生成文章,但是有一个问题一直困扰着大家:AI生成的文章会不会变得千篇一律,重复无新意呢? AI生成文章的兴起 让我们简要回顾一下AI生成文章的兴起。随着深度…