Document ID:        22588.1
Subject:            DISTRIBUTED DATABASE CHARACTERISTICS
Last Revision Date: 03 February  1996
Author:             SUVISWAN


This article describes the twelve specifications for the ideal distributed
database management system and how ORACLE conforms to these specifications.

Oracle's distributed architecture, comprising SQL*Net, Open Gateway and the
Oracle Server, provides an effective solution to the challenge of sharing
data in a networked environment.

The Oracle Server's distributed architecture provides effective data sharing in 
a networked environment using both client-server and distributed database 
architectures.

In a client-server environment, communication takes place between two
processes that reside on different machines.  The client executes the 
application or application tool and sends requests to the server for data.  The 
received data is processed at the client machine.  This is known as distributed 
processing.

The ideal distributed system should look like a non-distributed system.
Twelve specifications for the ideal distributed database were developed
by C.J. Date.

The Oracle Server supports most of the ideal distributed features.

1. Local Autonomy

The data is owned and managed locally.  Local operations remain purely local.
One site (node) in the distributed system does not depend on another site to
function successfully.

2. No reliance on a central site

All sites are treated as equals.  Each site has its own data dictionary.

3. Continuous Operation

Incorporating a new site has no effect on existing applications and does not
disrupt service.

4. Location Independence

Users can retrieve and update data independent of the site.

5. Fragmentation Independence

Users can store parts of a table at different locations.  Both horizontal and
vertical partitioning of data is possible.

6. Replication Independence

Stored copies of data can be located at multiple sites.  Read-only snapshots
(v7.0) and updatable snapshots (v7.1 and beyond) provide read-only and
updatable copies of tables, respectively.  Symmetric Replication using
triggers make readable and writable replication possible.

7. Distributed Query Processing

Users can query a database residing on another node.  The query is executed
at the node where the data is located.

8. Distributed Transaction Management

A transaction can update, insert or delete data from multiple databases.
The two-phase commit mechanism in Oracle ensures the integrity of distributed
transactions.  Row level locking ensures a high level of data concurrency.

9. Hardware Independence

Oracle7 runs on all major hardware platforms.

10. Operating System Independence

A specific operating system is not required.  Oracle7 runs under a variety
of operating systems.

11. Network Independence

The Oracle Server's SQL*Net supports most popular networking software.
Network independence allows communication across homogeneous and heterogenous
networks.  Oracle's MultiProtocol Interchange enables applications to
communicate with databases across multiple network protocols.

12. DBMS Independence

DBMS Independence is the ability to integrate different databases.  Open
Gateway supports connections to non-Oracle databases.