Problem solve Get help with specific problems with your technologies, process and projects.

How Oracle10g achieves grid computing

Brian Peasland explains the concept of grid computing and how it's achieved in Oracle 10g.

I heard of grid computing in Oracle10g but could not understand much from Oracle Web sites or magazines. Could you please explain in detail with examples what is meant by grid computing and how Oracle 10g helps to achieve this?
You've asked a question in which all of the details are not yet known. The grid concept is new for Oracle and the first database version to support grids does not yet support grids as fully as it should. Future versions will expand on Oracle's capability to fully utilize grids.

The idea of grids started from the electrical utility companies. Your house is receiving its electrical power from one of these companies. There are many electrical power supply companies. And they have redudancy built into their systems. Should a power substation go down, you shouldn't be without power as other components of the electrical grid will handle the load. Now in practice is doesn't always work this way otherwise you'd never experience a power outage, but that's the basic idea.

Computing has taken this grid concept in order to achieve two goals, higher availability and the ability to add resources on demand. With a grid, if a component of the grid goes down, you do not lose any availability. Let's say you have five servers in your organization, two database servers, two application servers, and an email server. If one of the database servers goes down it would be nice if another one of the five servers can run the database. Many people also buy servers for a specific task. In our scenario, we have two database servers, each of which has more than enough processing power for the databases. What if we want to add another database? Do we buy another server? With grids, you might not have to. Simply add the database to another server. If there are not enough resources on that server, the grid will take resources (CPU, memory) from a server which is not fully utilizing its resources. In this case, a high demand on one of the database servers might mean that the email server which isn't as busy can come to the rescue with its underutilized resources. The grid concept is supposed to let you use idle resources on all your servers in the grid to handle all needs of all applications on the grid.

That's the dream anyway. The Oracle database isn't quite there yet. What is in place is to use multiple servers to run your database. Oracle's Real Application Clusters, which has been around before 10g, lets you run the database on multiple servers. Need more resources to satisfy that end of year processing? With 10g, you can simply plug another server into the cluster. When end of year processing is complete and you do not need that server, simply unplug it and use it for something else. With this concept, companies should be able to better use their hardware resources to support their constantly shifting workloads. The heart of the grid computing effort with Oracle10g is the Real Application Clusters. I think it still has a way to go to live up to all of its hype, but it is a good start.

Dig Deeper on Oracle database design and architecture