What's the difference between RAC and OPS? Instead of using OPS why one should go to the complex structure of RAC?
Oracle 7, 8, and 8i let you cluster multiple machines against the same datafiles with Oracle Parallel Server, OPS. This gives you good scalability and high availability. There was a problem with OPS, though. If one instance modified a data block, and that data block was requested by another instance, that dirty data block had to be written to disk first before the second instance could read it. This was known as "disk pinging" and could hamper performance. Oracle 8.1.6 introduced a concept known as Cache Fusion. With Cache Fusion, dirty blocks could be moved along the cluster interconnect to the second instance's buffer cache. Disk pinging was removed from the equation. Before Cache Fusion, the only way to avoid disk pinging was to segragate application usage among the available nodes.
Oracle9i basically changed the name of OPS to Real Application Clusters (RAC) and added some new features as well. Cache Fusion was only one of the benefits of RAC over OPS. Another benefit was improved Transparent Application Failover, where client connections would fail over to an available node in the cluster should the node they were connected to go down. While one could say that RAC is more "complex" that OPS, it is that complexity that adds much more features to the mix. And Oracle is addressing some of these issues with RAC on Linux and RAC for 10g.
If given the choice, I would vote for RAC over OPS every time. OPS runs on software that is either unsupported or will be desupported by the end of the year. RAC performs much better and is the future direction of Oracle. Why start with older software?
Dig Deeper on Oracle database design and architecture
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.