DTC 2024回顾丨鲜为人知的Oracle写冲突解决方案——更新重启动

导语

在2024“数据技术嘉年华”上,云和恩墨联合创始人及CTO杨廷琨发表了题为《Oracle写冲突解决方案——更新重启动》的演讲,为在场观众讲解了一个鲜为人知的Oracle技术策略。本文是对其演讲内容的简要整理,供读者参考,完整录像可在云和恩墨视频号“直播回放”中观看(点击文末‘阅读原文’下载PPT)

1d146e0ee97d371ddff80f24b38634b5.png

云和恩墨联合创始人及CTO 杨廷琨

近年来随着信创浪潮的兴起,国产数据库发展态势迅猛,国产化替代进程逐步加快。那么时至今日还有必要研究 Oracle 的功能特性吗?答案自然是肯定的。Oracle 作为全球领先的关系型数据库之一,已经过四十多年的技术积累和市场检验。通过钻研 Oracle,我们可以为当下国产数据库的开发与优化找到更为便捷高效的途径,从而促进数据库领域国产化替代早日达成。

演讲伊始,杨廷琨首先对 Oracle 的并发策略作了简要讲解。众所周知,数据库的并发处理最常见的有三种:读-读、读-写、写-写。Oracle 的策略是通过将文件中的块加载到内存中共享来应对并发读取;读-写则是利用多版本读一致性解决,基于UNDO记录在内存中回滚修改,为各会话提供查询时的数据快照;在发生并发写(修改)时,由于写的特性不能产生副本,Oracle 通常采用锁机制来控制一致性,但是无法保证解锁后和发起时的一致性,因此其采用更新重启动这一处理机制。

更新重启动的产生

那什么情况下会触发更新重启动呢?据杨廷琨所述,关键在于待更新的记录与最初查询语句中的where条件是否匹配,两者不匹配即会触发更新重启动。具体操作是更新操作会放弃之前的修改,然后回滚到最初查询语句时的状态,并重新发起一次新的更新操作。此外,对于一些长会话,为防止频繁回滚,Oracle 会在首次回滚后采用SELECT FOR UPDATE语句来获取锁,以此策略有效防止重复触发更新重启动,确保数据处理的连贯性和效率。

更新重启动机制,可以对数据库一致性进行深度保护。然而,此机制也容易引发了诸如操作延迟增加、资源消耗加大以及多个并行写操作可能出现执行顺序紊乱等问题,对系统性能构成了挑战。因此,杨廷琨特别提醒:“技术团队需密切监控并准确识别更新重启动,旨在指导用户合理利用该机制,最大化其正面效用,同时规避潜在的负面影响,实现数据库管理的最优化。”

更新重启动的监控

对于更新重启动监控,统计信息和日志挖掘是两种可采用的监控手段,但是统计信息只能通过对比的方式估测是否出现更新重启动,没有实质依据确定是否真的发生,所以杨廷琨介绍日志挖掘才是唯一真正有效监控其发生的方式,即在执行LOGMNR过程中,首先定位到当前活动的Redo日志,随后执行日志切换操作,将刚切换下来的Redo日志文件纳入LOGMNR分析范围。通过检查LOGMNR生成表中的ROLLBACK相关次数,我们就可以直观洞察到更新重启动事件的发生频次与详情。

结语

在国产数据库蓬勃发展的当下,深入探究 Oracle 更多功能特性不仅可以给中国数据库的发展提供多元方向的参考借鉴,激发创新潜能,还能够鼓励国产数据库厂商正视技术差距,不断提升自身的技术能力,最终给用户带来更加平滑流畅的替代体验。

路漫漫其修远兮,吾将上下而求索。国产数据库的发展并不是一蹴而就,还需多方力量来共同促成未来产业的昌盛发展。

b662854db14c3c105d83bc23bda9a6ae.gif

数据驱动,成就未来,云和恩墨,不负所托!


云和恩墨创立于2011年,是业界领先的“智能的数据技术提供商”。公司总部位于北京,在国内外35个地区设有本地办公室并开展业务。

云和恩墨以“数据驱动,成就未来”为使命,致力于将创新的数据技术产品和解决方案带给全球的企业和组织,帮助客户构建安全、高效、敏捷且经济的数据环境,持续增强客户在数据洞察和决策上的竞争优势,实现数据驱动的业务创新和升级发展。

自成立以来,云和恩墨专注于数据技术领域,根据不断变化的市场需求,创新研发了系列软件产品,涵盖数据库、数据库存储、数据库云管和数据智能分析等领域。这些产品已经在集团型、大中型、高成长型客户以及行业云场景中得到广泛应用,证明了我们的技术和商业竞争力,展现了公司在数据技术端到端解决方案方面的优势。

在云化、数字化和智能化的时代背景下,云和恩墨始终以正和多赢为目标,感恩每一位客户和合作伙伴的信任与支持,“利他先行”,坚持投入于数据技术核心能力,为构建数据驱动的智能未来而不懈努力。

我们期待与您携手,共同探索数据力量,迎接智能未来。

a0799896d4514f1d5b15c7a3dd6faab6.gif

  • 18
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值