Oracle Grid Computing Resources
There are
several resources for learning more about Oracle grid computing, consulting
support and the Oracle Grid Computing book.
Oracle Grid Consulting
BC has immediate access to
full-time RAC architecture consultants, for any Oracle RAC
architecture issue.
|
BC has Oracle certified RAC experts
available to perform Oracle RAC architecture. Just call, and get a RAC
expert to do your RAC architecture, using proven RAC architecture
techniques.
|
Oracle Grid
Computing Book
Mike Ault's premier book "Oracle
10g Grid and Real Application Clusters" has complete Real
Application Clusters RAC architecture advice and details, highly
recommended for anyone who needs to understand the Oracle RAC
architecture.
Oracle Dynamic Grid Computing
by
Donald K. Burleson
On
the
OracleWorld Web page, we see the announcement that the next
generation of Oracle Grid technology was unveiled by Larry Ellison:
"It
[Oracle Grid computing technology] promises not only to change the way you run your data center,
but to change the way you think about the data center itself. It
adapts to your changing business needs so that you can spend
more time thinking about how to run your business, knowing that
your infrastructure will respond with the reliable, secure
performance your applications need.
It
[Oracle Grid computing technology] represents a significant
rethinking of the traditional role of software infrastructure in
areas such as system performance, clustering and storage. The
software is the first infrastructure designed for Grid
computing"
Oracle
Corporation has been promoting Grid computing technology for the past year,
and we need to take a closer look at Oracle Gris computing to see
the benefits of this new technology.
Grid
computing is the on-demand sharing of computing resources with in
a tightly-coupled network. For those of you who are old enough to
remember data processing in the 1980s, the IBM mainframes are a
primitive example of Grid computing. Mainframes have several CPUs,
each independent, and the MVS/ESA operating system allocated work
to the processors based on least-recently-used algorithms and
customized task dispatching priorities. Of course, RAM and disk
resources were available to all programs executing on the huge,
monolithic server.
However, Grid computing is fundamentally different from
mainframes. In the 21st century, Grid computing performs a
"virtualization" of distributed computing resources and allows for
the automated allocating of resources as system demand changes.
Each server is independent, yet ready to participate in a variety
of processing requests from many types of applications.
Grid computing also employs special software infrastructure (for
Oracle, using
Oracle*Streams) to monitor resource usage and allocate
requests to the most appropriate resource. This enables a
distributed enterprise to function as if it were a single
supercomputer (refer to Figure 1).
Figure 1: Server virtualization technology.
Remember, Grid computing is all about reducing costs and ensuring
acceptable performance, and infinite scalability.
The History of Grid Computing
The
idea of Grid computing arose from the need to solve
highly-parallel computational problems that were beyond the
processing capability of any single computer. These types of
scientific parallel computing problems are non-linear, and
therefore ideal for splitting-out into subprograms because there
is no need for each subprogram to communicate with the master
program. The main program will send out a program to a remote
computer in the network, where the program will execute
independently from the master. Upon completion, the subprograms
deliver the results back to the main program.
The
Search For Extraterrestrial Intelligence (SETI) project is the
best-known example of distributed grid computing. Participants
register their PC with SETI, and the SETI software uses computing
cycles from thousands of PCs across the globe to solve complex
analytical problems.
Why Grid Computing?
Let's take a quick look at some of the problems that led to the
development of Grid technology. The trend of the 1990s was toward
small, cheap, dedicated servers, and Oracle shops replace a single
mainframe with hundreds of UNIX and MS-Windows servers. However,
IT shops soon realized that the high expense of maintaining
multiple servers plus the requirement to over-allocate hardware
was eroding these savings. The problems of using dedicated servers
include:
1.
Expense: In large enterprise data centers,
hardware resources are deliberately over-allocated to accommodate
processing-load peaks.
2.
Wastefulness: Because each application resides on
a single server, there is significant duplication of work, and a
sub-optimal utilization of RAM and CPU resources.
3.
High Maintenance: In many large shops, a
"shuffle" occurs when an application outgrows its server. A new
server is purchased, and the database is moved to the new server.
Then the old server becomes available, and another database is
migrated onto the old server. This shuffling of databases between
servers is a huge headache for the administrators who are kept
busy after hours moving databases to new server platforms.
In
Figure 2, we see how each dedicated Oracle server must be
over-allocated for RAM to meet system demand. As we know, an
increase in volume requires additional PGA RAM for each connected
Oracle user, and the savvy DBA will allocate RAM to the high-water
mark of RAM usage.
Figure 2: Over-allocation of RAM resources.
We
see the same type of over-allocation for CPU resources. To ensure
acceptable response time at peak usage, the Oracle DBA will assign
additional CPU resources to each server (refer to Figure 3).
Figure 3: Over-allocation of CPU resources.
The
Gartner Group predicts that worldwide server blade shipments
will increase to more than one million over the next three years
and that server blade technology is one of the only areas within
the server market that is experiencing significant growth.
All
of the major hardware vendors are now offering server blade
hardware, at far lower costs than traditional UNIX servers:
-
IBM IBM's Grid offering uses their
self-managing server initiative, called eLiza. eLiza claims to
place all resource management software into a coordinated package,
affording the boxes some measure of "self-healing" capability.
eLiza will use Web services to request additional computing
resources. The IBM blade server hardware uses their 64-bit pSeries
chips.
-
Compaq Compaq is also entering the server blade
market with a low-cost blade setup that only costs $17k for a rack
of 10 blade servers.
-
Dell Dell's PowerEdge 1655MC product line allows
a single rack to hold 84 servers, each equipped with up to two hard
drives and dual Intel Pentium III processors. The individual blade
servers will start at $1,499 each and include a single 1.26 GHz
Pentium III and an 18 Gig hard drive. A fully populated enclosure,
which includes six servers, starts at $10,973.
Blades and Independent Processing
It is
critical to note that blade servers are good for programs that do not
require the symmetric multiprocessing (SMP) capabilities of large
mid-range servers. For example, a blade server would not be
appropriate for a RAC node that performs parallel query operations
because blade servers are normally single-CPU machines and OPQ may
require up to 32 CPS for fast large-table, full-table scans. For OLTP
Oracle9i RAC system, blade server are perfect because the nature of
individual queries does not require multiple CPU resources.
Blade
servers are ideal for Oracle9iAS web cache servers or Oracle HTTP
servers because a new server can easily be added into the Oracle9iAS
server farm. In Oracle9iAS, we can use a rack of blade servers and
pre-install Oracle Web Server and Oracle HTTP server (OHS) software.
At runtime, the Oracle9iAS administrator can add these server blades
to their Oracle9iAS farm, using each blade as either a Web cache
server or an HTTP server, depending upon the stress on the system.
Figure
4: Using blade servers with Oracle9iAS.
It is
important to understand that Grid computing is not the on-demand
allocation of computing resources to an existing server. Rather, Grid
computing is the use of software tools to farm-out processing tasks to
independent servers or add additional servers to an existing cluster
or farm. This allows the enterprise to share computing, storage, data,
programs, and other resources in a dynamic fashion.
How Grid Works with Oracle
Oracle
Grid computing allows for two ways to provide on-demand computing
resources. These involve direct hardware allocation via blades, and
the allocation of remote servers to execute Oracle tasks:
-
Add processing power to existing systems Server
blades can be allocated to Oracle9i RAC clusters.
-
Server banks Oracle servers can be established
with no local data and copies of all application stored procedures.
This would allow for three types of distributed execution:
-
Remote execution Entire programs, along with
the data are shipped to the remote server for execution. Using
Oracle Streams, the results are sent back to the initiating
instance.
-
Remote data extracts Distributed SQL can
execute from a bank of servers with instances, but no local Oracle
data
-
Remote process execution Oracle applications
can call PL/SQL stored procedures on the least-loaded servers
Oracle
follows the Sun Microsystems definition of delivering computing
resources as a "utility," much the same way as additional electricity
is added to a network during high-usage times.
Oracle
whitepapers suggest that the next generation of Oracle Grid computing
will use Oracle*Streams as the glue for the Grid communications.
Oracle*Streams allows for the streaming of data between Oracle
instances, and also provides built-in tools for replication, data
warehouse ETL (data loading), message queues and messaging.
Hence,
Oracle*Streams could be used as the vehicle for a Grid system whereby
Oracle detects a resource shortage and invokes a procedure to relieve
the stress on the database. While using Oracle*streams as the
backbone, Oracle identifies three ways that computing resources can be
assigned:
1. Oracle9i Real Application Clusters (RAC)
Using existing Oracle9i RAC capabilities, data blade servers can be
used to add instance nodes. This allows for automated scalability, and
a rack of server blades can be allocated to the Oracle9i RAC system on
an as-needed basis.
2. Oracle transportable tablespaces
Transportable Tablespaces allow Oracle data files to be unplugged from
a database and copied to another Oracle instance (on another server)
and then added into that Oracle instance (refer to Figure 5).
Transportable Tablespaces also supports simultaneous mounting of
read-only tablespaces by two or more databases. Using transportable
tablespaces with Oracle*Streams, the Grid could request a refresh of
the tablespace data at any time.
Figure
5: Using transportable tablespaces to enable resource allocation.
Distributed SQL
Oracle
SQL can be executed from any Oracle instance, accessing the data
remotely using database links. This provides a framework where SQL
servers may be allocated, all executing queries that access the same
Oracle database.
However, it is important to remember that not all types of queries
will benefit from remote execution. A simple Oracle query such as the
one below would have all of the processing work (sorting) done on the
remote server, saving no computing resources.
select
cust_name
from
customer
order by
cust_name;
Farming
out SQL queries to remote non-RAC instances makes more sense when the
initiating instance has an opportunity to use its own computing
resources to service the query. For example, consider the following
distributed query, run from an instance named Omaha:
select
cust_name.
order_number,
from
customer@new_york,
orders@san_fran
where
region = WEST'
order by
cust_name,
order_number;
This
type of query is ideal for remote execution because the bulk of the
data processing will be done on the Omaha instance (refer to Figure
6).
Figure
6: Remote SQL query execution.
In this
example, the new_york and san_fran servers perform the disk I/O to
retrieve the requested data, passing the result set back to the Omaha
instance. The Omaha instance will use its computing resources to join
the tables together and perform the sorting.
Despite
the apparent growth of server blade technology, there are critics who
claim that the technology is exaggerated.
Limitations of Grid Technology
In an
interesting Blue Arc article titled, "Blade Server Not
Looking so Sharp," Dr. Geoff Barrall (CTO of BlueArc Corporation)
notes several issues with Blade Server computing:
-
Not low cost Barrall claim that the costs for a
rack of blade servers, despite their limited functionality, is often
as high as the cost of a fully configured rack mount server with
similar specifications.
-
Limited I/O In a blade server, the I/O paths are
shared, leading to limitations in the number of peripheral I/Os that
can take place, such as disk I/O or server-to-server network
communication.
-
Limited flexibility Blade servers cannot be
retired and replaced in the same way regular rack mount servers can,
and there is a loss of flexibility in the way servers can be
interconnected.
Conclusion
All
Oracle professionals eagerly await Oracle's announcement about the
latest release of the Oracle database and its adoption of Grid
computing as a central feature.
Time
will tell if the market embraces the technology and if Oracle has hit
the mark with Grid technology, or if Oracle Grid will slip by the
wayside as computing resources become cheaper.
Learn more about Oracle Grid
Computing
Get the book, a great guide to
Oracle grid computing with hundreds of pages of Oracle grid
computing tips and techniques.
Only $51.95
(30% off)
|