Cache Fusion Making Shared Storage Perform for Vanilla Systems RAC Architecture
Shared Nothing Shared Storage Hard data partitions Reroute query fragments 2pc Different QP than SMP Move query to data No required partitions Query processed one site DLM Disk ‘ping’ Move data to query A marketing slide follows
Change nodes online Oracle9i Real Application Clusters -- Scalability and High Availability Shared Cache Architecture using Cache Fusion Scales all applications out of the box Change disks w/o re-partitioning Shared Cache Cache Fusion Shared storage without the disk ping cost Standard h/w – SAN and fast IPC ipc san
What is Cache Fusion? Coherency strategy for cluster database cache Current block sent across interconnect Integrates DLM & cache “GCM” Less I/O (compared to disk ping) Less latency to get block
99 Fusion on contended block – initial state 10 0 Req X Node 1 Node 2 2: x-? D: ? x-? Cache hole GCM shadow Dirty Log record 10 0 Dirty current GCM master
Fusion on contended block - request 10 0 Req X x-? : x-? D: ? Function call
Fusion on contended block - ping 10 0 Req X x-? : x-? D: ? Ping (“bast”) message
Fusion on contended block – log wait 10 0 Req X x-? : x-? D: ? Group committed log write, usually already done before ping
Fusion on contended block – ship block 10 0 X-100 pi “Past Image” 2: x-? “consign” message in the block shipped by remote DMA
Fusion on contended block – adoption 10 0 X-100 2: pi-100 1: x-100 D: ? pi “adopt” terminates request, sets master state. Modification to version 101 while adopt is in flight.
Conveniently, there is no time to discuss How we write blocks and get rid of the PIs All the failure scenarios
Single Node Two Nodes Four Nodes # of users Does it work?