Network Topology   «Prev 

Distributed Processing

Using the (Oracle Parallel Server)

Oracle parallel server(OPS) is a technology that allows two or more database instances, generally on different machines, to open and manipulate one database. In other words, the physical data files (and therefore data) in a database can be seen, inserted, updated, and deleted by users logging on to two or more different instances; the instances run on different machines but access the same physical database.
Oracle parallel server requires an operating system that supports clustering and a distributed lock manager because the multiple database instances must share information about the data that is updated, the lock resources, and so on. For example, if a user on instance A updates a row, and a user on instance B performs a query that would return that row, instance B must instruct instance A to write the updated data to the physical database so that the query will deliver the updated information.
Oracle parallel server is intended to provide failover capabilities, which are capabilities that allow a second machine to take over the processing being performed by the first in the event of machine failure (i.e, CPU or motherboard failure). It does not provide any protection from disk failure. Occasionally, parallel server technology is used to achieve horizontal scalability.

What Is Oracle Parallel Server?

Oracle Parallel Server is a robust computing environment that harnesses the processing power of multiple, interconnected computers. Oracle Parallel Server software and a collection of hardware known as a "cluster", unites the processing power of each component to become a single, robust computing environment. A cluster generally comprises two or more computers, or "nodes".
In Oracle Parallel Server environments, all nodes concurrently execute transactions against the same database. Oracle Parallel Server coordinates each node's access to the shared data to provide consistency and integrity.
Harnessing the power of multiple nodes offers obvious advantages. If you divide a large task into sub-tasks and distribute the sub-tasks among multiple nodes, you can complete the task faster than if only one node did the work. This type of parallel processing is clearly more efficient than sequential processing. It also provides increased performance to process larger workloads and accommodate growing user populations.
If you establish high node-to-data affinity with accurate partitioning, you can effectively scale your applications to meet increasing data processing demands. As you add resources, Oracle Parallel Server can exploit them and extend their processing powers beyond the limits of the individual components. You can use Oracle Parallel Server for many system types. For example, data warehousing applications accessing read-only data are prime candidates for Oracle Parallel Server. In addition, Oracle Parallel Server successfully manages increasing numbers of online transaction processing systems as well as hybrid systems that combine the characteristics of both read-only and read/write applications. Oracle Parallel Server also serves as an important component of robust high availability solutions. A properly configured Oracle Parallel Server environment can tolerate failures with minimal or no downtime.

This is a configuration in which the data resides in a central, controlled environment, but the processing is distributed across a network of remote CPUs. The main advantage to this approach is the control over the data and the ability to have redundant CPUs for extra reliability and scalability. The main disadvantage is that the Oracle database becomes a single point of failure, and a runaway Oracle task could slow down the entire system. Oracle implements this approach with its Oracle Parallel Server (OPS) product.
A parallel database system seeks to improve performance through parallelization of various operations, such as loading data, building indexes and evaluating queries. Although data may be stored in a distributed fashion, the distribution is governed solely by performance considerations. Parallel database improves processing and input/output speeds by using multiple CPUs and disks in parallel. Centralized and client-server database systems are not powerful enough to handle such applications. In parallel processing, many operations are performed simultaneously, as opposed to serial processing, in which the computational steps are performed sequentially.