Thursday, February 26, 2009

Oracle RAC - Recap

What is RAC

RAC High Availability

Transparent Application failover
  • Connection failover is very fast (in few seconds)
  • Query failover is transparent as well and resumed from starting point
  • DML (insert, update, delete) and DDL (create table, alter table, …) failover is not supported. Need application layer error handling to make it transparent to user
Rolling upgrade
  • Not for all patches and upgrades
Management Complexity
  • More complicated, more chances to fail. (cluster Ready services daemon, Cluster Synchronization Services daemon, voting disks, Oracle Cluster Registry, virtual IP address, shared file system, to name a few.)
  • Require database bounce for some database initial parameter changes that can be changes dynamically for non-RAC configuration
RAC High Scalability

Query scalability
IO intensive query, such as full table scan, is limited by disk IO. Therefore, add RAC nodes will not scale well even there are multiple query processes to do the job. RAC could scale up well with number of connections if most read is logical read. (Memory access) But it is not typical situation for Oracle database.
OLTP scalability
OLTP scalability is 30% based on our testing. The limiting factors here is memory latches and inter-node memory data transfer. Even with multiple nodes, the memory latches are shared to protect data integration. For our testing, the inter-node connections are gigabit network card and because of latency, Remote memory access (cache fusion) is about 300 times slower than local memory access. It is only few times faster than disk access.
Load balance
Connection to a node is random assigned with weight on current node load. It works will for the most of cases. The connection will not redistributed to light load node once it is connected to a instance.

RAC Cost of Ownership

Large SMP always cost more that smaller server cluster with similar number of CPU and memory. A 32 CPU SMP costs $1.25 million, UNIX server cluster with same combined number of CPUs cost 1/3. Linux cluster cost 1/5. However, RAC license for each CPU is $20,000. Unless you build a RAC with more than 8 combined CPUs, you are not going to save cost. Oracle gives away RAC lisence for Standard Edition with ASM storage for free up to 4 -CPU configuration. It is very attractive if you want a high availability system. For large system, SMP always faster than RAC if they both have the same amount of CPU and memory. You get what you pay for.


RAC web Links

No comments:

Post a Comment