Distributed Database Architecture -
|Oracle's Distributed Database Architecture|
How Distributed Database System (DDBMS) works -
In the figure above we may consider the application to be running on a PC (say Client), issuing some statements seeking to perform the "transaction" (say Operation on data) in local database (HQ database to which it is physically connected) together with a few statements directed towards remote database (Sales database). Then for the part of the transaction statements and the tables residing on the local database (HQ) it acts as a server and takes the role as a client (say broker) while "brokering" the request for the remote database (Sales). In the same way the changes which are part of one transaction may be "committed" with a single "commit" statement by the user (application) and changes will be saved to the respective databases. The whole transaction mechanism as such works in a "seamless" manner, transparent to the application.
Why use Distributed Database System -
The motivation for using the DDBMS comes from the following advantages -
- The development of computer networks promote decentralization - Networks allow the data sharing from remote servers and so there is no need all the data of an organization to be stored on a single server (and hence rely on that single server).
- The organizational structure of the company might be reflected in the database organization - A company consists of different units (say departments) for carrying out its business and it is possible that each department may be provided with a database to work from it.
- Capacity and Incremental growth - Expand as you go is always an economical option for every business instead of investing in the hardware with anticipated growth.
- Reliability and availability - DDBMS allow the replication of the data across several nodes. Hence the failure of a node still allows access to the replicated copy of the data from another node.
- Reduced communication overhead - Equally advantageous is the characteristic of the data replication to store the data close to its anticipated use. This also helps in reducing communication overhead.
- Collection of logically related shared data.
- Data split into fragments.
- Fragments may be replicated.
- Fragments / replicas allocated to sites (nodes).
- Sites linked by communication network.
- Data at each site is under control of DBMS.
- DBMSs handle local operations autonomously.
- Each DBMS participates in at-least one global application.