Inside Oracle 43

 By Graham Keitch

Oracle has its own story to tell when it comes to high performance computing. Graham Keitch investigates.

HardCopy Issue: 43 | Found In: Database | Published: 01/02/2009 | Last Revision: 06/07/2010

Oracle RAC Process
Oracle RAC comprises multiple database instances running on two or more clustered machines, accessing a shared storage device via cluster technology. The machines that host the database instances are linked by a high-speed interconnect to form the cluster.

Oracle Database 11g is a cross-platform database designed without compromise for deployment in high performance computing (HPC) environments such as the HPC architectures available from Sun and IBM. HPC requires that the software makes maximum use of available hardware resources. Grid computing provides a topology that allows this to happen by pooling networked resources and provisioning on demand to meet changing business needs. Rather than use dedicated servers and storage for each application, grid computing enables multiple applications to share resources with obvious benefits in agility, resilience and cost. This topology is increasingly being adopted to address the performance, scalability and availability requirements of mission critical applications. Oracle has a long history of supporting grid computing and the importance it places on this is highlighted by the fact that the ‘g’ in both Oracle 10g and 11g stands for ‘grid’.

Real Application Clusters

Grid computing is another term for distributed and large-scale cluster computing or network-distributed parallel processing. In the case of Oracle, this relates to the deployment of a single database across a cluster of servers (nodes) using a centralised technology called Oracle Real Application Clusters (RAC) for enhanced fault tolerance, performance and scalability. This is achieved without the need for application changes. From a fault tolerance and management perspective, shared access removes any single point of failure from the database solution. In the event of a system fault in one of the nodes, data can continue to be accessed from any of the remaining nodes. Committed work on the failed node is recovered automatically without administrator intervention and without data loss.

RAC Permutations

There are several ways to implement Oracle Real Application Clusters and each address a different high performance or availability requirement or combination of both.

High availability clusters improve the availability of the computing system in case of failure. Not all nodes in the cluster necessarily need to contribute to process operation. Some can be configured as redundant standby nodes in an active/passive deployment. These will operate only in the case of main node failure.

Load balancing clusters are used to increase performance by distributing the load among different computing nodes in the cluster. A load balancer, which is installed in front of all computing nodes, is responsible for distributing the load. In case of a node failure, the remaining node(s) will take over to service future requests. Load balancing clusters also act as high availability clusters. This configuration is referred to as an active/active deployment.

High Performance Computing (HPC) has the aim of building a massive parallel computer from a set of small machines. HPC is focused on raw performance and not on high availability. It is often used in scientific calculations.

Grid computing achieves some of the high performance features associated with HPC but treats each node in the cluster as a separate machine and not as part of a single computer. This provides the robustness missing in HPC but at the expense of performance.

To better understand clustering in an Oracle environment, it is necessary to appreciate the concepts of ‘database’ and ‘instance’. The former refers to a collection of data files, control files and redo logs located on disk. The ‘instance’ comprises the collection of Oracle-related memory and operating system processes that run on a computer system. In a non-RAC environment, a single instance accesses a single database. In a RAC environment, two or more computers each with an instance concurrently access a single database. This allows an application or user to connect to either computer and have access to a single coordinated set of data. It is through the application of extra computing resource (instances) that high performance is achieved. Oracle RAC comes as part of Oracle Database 11g Standard Edition and is an add-on option at the Enterprise level. It is also subject to the same licensing criteria as the Database itself. Enterprise Edition places no upper limit on the number of processors in the server (or across the grid) while Standard Edition may only be deployed where the total number of processor sockets in the server or cluster doesn’t exceed four. Oracle Database 11g includes Oracle Clusterware which handles cluster messaging, locking, failure detection and recovery. When used with RAC, this automatically manages all Oracle processes. Automatic Storage Management (ASM) is built into the Oracle database kernel and is also included with Oracle Database to provide file system and volume manager capabilities. This simplifies tasks such as creating databases and disk space management. It also provides a simple storage management interface across all server and storage platforms and is thus a requirement for RAC.

Share and Bookmark  

Comments

Be the first to comment about this article...

Leave a comment

You must login to place comments.

Skin Border Image

Related Links

Skin Border Image