Implementation principle of RAC cache fusion

Source: Internet
Author: User

In a single instance, to modify a data block, the process must modify the RAC environment on the current version of the data block (Currentcopy ).

This involves a series of problems:
How to obtain the distribution chart of data block versions between cluster nodes?
How do I know which node has the current version?
How to complete the transfer process?

The solution to this series of problems relies on the memory fusion technology (cachefusion)
 
Cachefusion transmits data blocks between instances through high-speed privateinterconnect
This is the core mechanism of RAC. It virtualizes the SGA of all instances into a large SGA zone.
Each time different instances request the same data block, this data block needs to be transferred between instances.
In OPS of Oracle7, this transfer is completed through a Disk, also known as "Disk-BasedPing"
That is, the first 1st instances must write the data block back to the disk, and then the first 2nd instances can read the data block from the disk.
This data transmission relies on disks, which greatly affects system performance.
Introduce "Net-BasedPing" in Oracle8i and transmit data blocks through PrivateInterconnect
However, 8i can only pass unmodified data blocks. For "Dirty blocks", they must still be transmitted through disks. This is the same as OPS.
In cachefusion of Oracle9i, all data blocks, whether modified or not, can be passed through PrivateInterconnect.

System systems can be greatly improved
In cachefusion, each data block is mapped into a cachefusion resource, or a PCM resource.
A pcm resource is actually a data structure. The Resource Name Is DBA (data block address)

Data requests from each process are completed step by step.:
① Convert DBA to PCM Resource Name
② Submit the PCM resource request to DLM (Distributed Lock Manager)
③ DLM applies for and releases GlobalLock. Only when the process obtains PCMLock can it proceed to the next step.
That is, the instance must first obtain the right to use data blocks.

Cachefusion consists of two services: GCS and GES.
(1) The GCS Service is responsible for transferring data blocks between instances.
Completed by the background process LMSn
(2) The GES Service is responsible for Lock management.
Coordinates the access sequence of data blocks among multiple instances to ensure consistent data access.
Completed by the background process LMD

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.