Oracle RAC Cache Fusion 系列一:基础概念

本文介绍了Oracle RAC的Cache Fusion技术,探讨了在多实例环境下如何保证事务并发运行时的数据一致性。通过可序列化事务隔离模型、数据块的持有模式和角色,以及SCN的重要性,阐述了Oracle如何在性能和事务隔离之间找到平衡。文章还提到了读取和写入数据块的不同操作类型,以及单实例数据库中数据一致性维护的方法。后续内容将涉及RAC环境下的崩溃恢复和多版本一致性模型的详细讨论。
摘要由CSDN通过智能技术生成

从本章节开始,我将尝试由浅至深的和大家一起探索Oracle RAC的其中一核心技术-Oracle Cache Fusion,看看多个实例场景下,事务是如何并发运行的。在了解多实例场景前,我们还是非常有必要一起了解一些重要的概念及在单实例情况下Oracle是如何控制并发事务运行的。

 

为了实现事务并发运行时的数据一致性问题,数据库研究人员定义了一个称为可序列化的事务隔离模型。可序列化事务在一个环境中运行时,做到使其看起来好像没有其他用户在修改数据库中的数据。但这会带来新的问题,以可序列化模式运行许多应用程序时会严重损害应用程序TPS和吞吐。这种并发运行事务的完全隔离可能意味着一个事物无法执行插入另一个事物查询的表。所以这就要求我们在完美的事物隔离和性能之间进行折中取舍,Mysql提供多种事物隔离方式及多种存储引擎,让用户根据自己的业务类型、操作特点去自由选择。而Oracle则通过引入自己的多版本一致性模型和各种类型的锁和事务以实现性能和事物隔离的“最优解”。通过这种方式,数据库可以向多个并发用户展现对应版本的数据,所有版本的数据与时间点保持一致。通过实现不同版本的数据块同时存在,实现事务可以读取在查询所需的时间点提交的数据版本,并返回与单个时间点一致的结果。

 

数据块的持有模式:

NULL:null CR模式表示资源的持有者没有访问权限。对应的内存空间可以被重用,主要用于数据字典对象。

Exclusive:XCUR独占模式表示块的独占访问。这意味着资源持有者需要对块执行写操作,而其他资源无法对块进行写操作。但是,其他资源可以对块执行读取操作。

Shared:SCUR共享模式表示资源持有者在块上具有共享锁,并且正在执行读取操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值