zoukankan      html  css  js  c++  java
  • Oracle RAC Core Reception CacheFusion

    Cache Fusion是Oracle RAC工作原理的核心概念之一,而引入这个概念的前提之一便是:网络传输的速度要比访问磁盘的IO速度要快,这样引入CacheFusion才是有意义的。
    Cache Fusion可以通过网络对RAC集群内的各个节点的SGA中的数据块进行传递,以避免将块写到磁盘后,又被重复的读入到其他的节点的SGA中的磁盘开销。
    Cache Fusion:
    提供传输的扩展性,它在实例间传输Block的Image,并跟踪资源(Block)的当前位置和状态,每个节点的实例的SGA的目录结构中都保存有资源信息。
    Cache Fusion模型:
    Global Resource Directory是由Global Cache Service来管理的,它负责以下事宜:
    记录了资源的模式、资源的角色、Block在实例中的状态、在各个节点(活动的节点)中发布资源的Resource Master,并在必要的时候重新指定Resource Master,如:实例的启动与关闭的时候。
    Global Cache Service【GCS】
    1.资源模式(3):
    Null:默认
    Share【S】:查询
    eXclusive【X】:可以改变Block的内容,如果某个实例中的资源为该模式,则其他的实例为:Null Mode
    2.资源角色(2):
    Local【L】:第一次请求资源的模式;只有一个节点的实例可以有某个Block的Dirty Copy(PS:更新数据的副本?)
    Global【G】:当第一个Block在多个实例中均变成Dirty的时候,即在多个节点的实例中都被更改了,Block的Local状态就变成了Global,这时候的Block只能由Global Cache Service写到磁盘中。

    Cachine Fusion Block的传输有四种情况:
    1.Read with no transfer
    2.Read to write transfer
    3.Write to write transfer
    4.Write to read transfer

    要理解这个过程,要首先明了以下几个常识(个人根据四种传输方式总结的,可能有所谬误,有待提高):
    a.每个资源都有自己的Master
    b.节点想要从共享磁盘上读某个Block的时候要先向Global Cache Service发出请求,然后由GCS把请求重定向到某个Block(资源)的Master。
    c.GCS可以把资源授权为3种资源模式中的一种和2种资源角色中的一种,并在对应资源的Master节点的Global Resource Directory目录中做出记录。
    (... to be continue。)

    下面几张图(摘),直观而明了的呈现了这一过程(Block通过Cache Fusion传输的过程:Write to Write Transfer):


    1.


    2.


    3


    4


    5
    当一个数据块被读入到RAC的某个节点的实例中时,该块会被赋予一个资源锁的状态,以确保其他的实例知道该块正在被使用。
    之后,如果另一个节点请求该块的一个副本(上图1所示),而该块已经处于另一个节点的缓存内,则该块会通过网络直接被传递到另一个实例的SGA。(上图2~4所做的事情)。
    如果内存中的块已经被改变,但是改变仍然未被提交,那么将会传递一个CR副本。
    这意味着只要有可能,数据块无需写会磁盘即可在各个节点的缓存之间移动,从而避免了同步多个节点的实例缓存所花费的额外的IO消耗。
    这正是Cache Fusion存在的价值。
    很明显,不同的实例缓存的数据可以是不同的,也就是在一个实例要访问特定的块之前,如果它从未访问过该块,即首次访问,那么它有两种选择:
    1、从其他的节点的实例中通过Cache Fusion拿
    2、从磁盘文件中读入目标节点的缓存

  • 相关阅读:
    微信退款回调
    laravel5.5 自定义验证规则——手机验证RULE
    laravel5.5 延时队列的使用
    laravel 使用EasyWechat 3分钟完成微信支付(以APP支付为例)
    第三章预习
    预习2
    预习原码补码
    C语言ll作业01
    C语言寒假大作战04
    C语言寒假大作战03
  • 原文地址:https://www.cnblogs.com/jerryxing/p/2656809.html
Copyright © 2011-2022 走看看