Distributed Data, Distributed Processing
This is the approach of many Oracle systems, whereby both
- the data and
- the processing
are distributed across a network is to use a distributed database.
The primary advantage to this approach is the ability to assign both data and processors on an as-needed basis.
The main disadvantage is the problem of coordinating backup and recovery of the data across all the distributed nodes.
This is implemented with Oracle Parallel Server with Oracle Net Services interfaces to remote databases.
Distributed query processing in Oracle can be described as follows. In Oracle, the query is executed at the node that the user is signed-on to,
while other database's partition a distributed query into sub-queries, executing each subquery on it's host processor. In Oracle, a distributed query might query data items from widely distributed databases in a single query.
Oracle implements distributed queries using database links.
The performance of a query should not depend on where the data resides. The optimization of distributed queries is vital because a poor execution plan
can take orders of magnitude longer than the "correct" one. For example, if a query includes a large intermediate result set, that data probably should not be shipped over the network to the database with a small table that is to be joined with the result set