Previous Table of Contents Next


The Growing Complexity of Computer Architecture

Another phenomena that version 8 of Oracle is responding to is the increasing complexity and sophistication of computer architectures. Today many larger environments are characterized as utilizing cooperative processing where operating systems and/or programs run under multiple hardware CPUs.

When either multiple operating systems or applications utilize many hardware CPUs, you enter the advanced architecture of parallel processing and/or clustering.

The term parallel processing refers to multiple CPUs within a computer or a group of connected computers having the ability to work on the same tasks. Today, these types of architectures are popular and give the computer world a way to replace older legacy systems with more powerful machines. In this configuration, multiple CPUs can work on the same problems.

This structure is more like the human mind. How many times have you gone to sleep with a problem on your mind, only to wake up in the morning with a clear solution. All night your brain was taking care of the physical functions of the body, as well as working on your problem. This is an example of parallel processing, just as is the breathing you are doing now as you read this.

In the world of computing, it is no different; it is much easier to work on multiple tasks at once, rather than wait for each task to complete before continuing to the next step of a problem. You can see this readily in the world of SQL, the universal language of relational databases. For instance, the following SQL can be tackled by multiple CPUs faster:


Select

sum(sales_price)

from sales

where exists

(

    select

    ‘’

    from

    prefered_customer

    where prefered_customer.customer_id = sales.customer_id

)

This query will give you the sales total for all your preferred customers. It contains a sub-select, meaning a second select statement within the parenthesis. By assigning multiple CPUs to parse and execute the two select statements within the query, the job can be performed faster than a single CPU doing the same work (see Figure 4.2).


Figure 4.2.  SQL queries that contain multiple “questions” can be processed simultaneously.

This ability to run parallel queries is vital for any database in today’s market, if the database product is to utilize the full capacity of today’s multiple CPU architecture.

Aside from parallel queries, a database engine itself, the brain of the database, is better optimized if multiple copies of the database “brain” are each running off of different CPUs. This is a higher-level of parallelism. In Oracle, the “brain” of the database is the database instance; by running many database instances on different CPUs, you obviously can yield faster results for the many users of larger systems that are requesting data from the database and demanding the attention of the Oracle RDBMS (see Figure 4.3).


Figure 4.3.  Multiple CPUs can handle user requests for data faster.

This higher-level form of parallelism introduces you to clustering. In clustering, multiple clones of the operating system are run on more than one machine at a time. In this way, many smaller machines can be clustered together to perform record-breaking results. The operating systems, although separate, can work together to solve problems. One common characteristic of clustering is that these multiple operating systems, when running, share a common portion of disk space. This means that the different copies of the operating system must work together to coordinate things on the disk.

Along with the operating system coordination needed in clustering, a database must exist that can run on all of these separate nodes of a cluster just as a standalone database would; but these separate database instances need to act as one database, sharing disk space, data, and managing users that are using the database through the many different nodes of the cluster.

Oracle8 has been specifically developed to take advantage of the these complex changes in the world of computer hardware and architecture. The Oracle database has many different options which relate to the types of parallel processing and clustering that the client needs. The degree to which Oracle can utilize this architecture determines how fast the Oracle database will be “rated” on different popular benchmarks. Furthermore, for every hardware vendor configuration that Oracle supports, Oracle will have the ability to make sales of software; likewise, for configurations they do not support, they will be unable to sell software. Parallel processing and clustering are life and death issues for Oracle8.


Previous Table of Contents Next
Используются технологии uCoz