Database Reference
In-Depth Information
could not be increased in speed. However, the processor could be swapped with a higher-speed processor, provided
that the hardware that uses it will support this new processor's architecture. This scenario is another flavor of vertical
scalability. Instead of replacing the processor with another processor that is of a higher speed, an additional processor
is added, providing twice the processing power and aiding in the distribution of work among the two processors.
This could be taken even further if you consider three or four processors or multiple computers or servers each
with multiple processors. All these processors and servers could be put to use simultaneously to perform functions
in parallel.
Coming back to our metaphor discussion, a person taking a restroom break could slow down packing, and if
the break was a lunch break, the gift-wrapping process could be even slower, because it could cause serialization
or queuing. Computer systems are no different; multiple processors don't always mean processing power is always
there, and there could be one runaway process or one process that needs to retrieve a large volume of data using up all
the power of these computers, which will cause other processes to queue or serialize.
Advantages of moving toward a parallel processing concept include the following:
Adding one big server to handle the entire workload would be more expensive compared to
adding many smaller servers, which help in providing the distribution of workload. One bigger
server could indeed be faster compared to many smaller servers. However, the bigger server
may be more costly (dollar wise) compared to the sum of all the smaller servers combined.
Running a program in parallel on multiple processors or multiple processors across multiple
servers is usually faster than running the same program on a single server processor.
A system can be scaled or built up gradually. If, over time, a system becomes too small
to handle these tasks, additional processors or servers can be added to meet the new
requirements.
On systems that are highly I/O intensive, a single process could do some work, wait for the
I/O, get its turn to access the I/O subsystem, and do some work again, and so forth. If it's the
monolithic process, all these become sequential. If multiple (parallel queries) PQs do it, they
overlap, potentially utilizing additional I/O channels across one or multiple servers to the I/O
subsystems and perform more efficiently.
Various types of hardware are available to support the parallel concepts, such as clustered SMP (symmetric
multiprocessing), MPP (massively parallel processing), and clustered NUMA (non-uniform memory access). These
clustered solutions provide linear scalability, help in distribution of workload, and provide availability. Due to the
scalability factors built into these hardware architectures, they are all potential platforms for parallel processing.
Oracle and Parallel Processing
Oracle also supports parallel processing. Oracle's basic architecture (the background and foreground processes)
demonstrates a parallel processing architecture if implemented on a hardware that supports multiple processors.
Although Oracle supports most of the operating systems on most hardware platforms, its architecture may not scale
on the smaller platforms that have only one processor but may cause high wait times because one processor has to
be shared by the many background and foreground processes. Parallel processing is implemented on either a single
stand-alone database configuration or on multi-instance database configurations, such as RAC.
When Oracle executes SQL statements in parallel, multiple processes work together to execute a single SQL
statement. By dividing the work necessary to execute a statement among multiple processes, Oracle can execute the
statement more quickly than if a single process executed it.
Parallel execution dramatically reduces response time for data-intensive operations on large databases such
as those typically associated with decision support systems (DSS), operational data stores (ODS), data warehouses
(DWH), certain types of online transaction processing (OLTP), and hybrid systems.
 
Search WWH ::




Custom Search