Shared cache - the future of parallel databases

It is a common misconception that the shared nothing database is the preferred parallel database architecture for both scalability as well as price/ performance. This paper explains that, contrary to popular belief, a shared-cache architecture as implemented in Oracle 9i Real Application Clusters (RAC) is not only viable but also the future of parallel database architectures. We argue that business needs, hardware trends and database application trends favor shared-cache architectures for both OLTP and DSS workloads. We show that the shared-cache architecture allows the DBMS to choose from a superset of the parallel execution strategies that can be used in a shared nothing system. Shared cache uses SMP-like global buffer cache coherence protocol for OLTP transactions and shared-nothing-like partitioned parallelism for DSS workloads. We then explain the innovations present in Oracle 9i RAC to implement a shared-cache database using commodity hardware components. Finally, we explore future directions to further improve the shared-cache architecture on commodity clusters.