In a distributed system, several computers are connected in the network and work together as a system. These computers are independent, but their collection appears to users as a single coherent system. A distributed system allows resources and information to be shared. Processes running on these systems can communicate with each other by exchanging messages over a communication channel.
Distributed processing refers to a LAN designed to allow a single program to run in different locations at the same time. Most distributed processing systems contain sophisticated software that detects idle CPUs on the network and dispatches programs to take advantage of them.
Another form of distributed processing involves distributed databases, databases in which the data is stored on two or more computer systems. The database system keeps track of where the data resides, so the distributed nature of the database is not obvious to users.
A distributed database consists of two or more data files located in different locations on a computer network. Because the database is distributed, different users can interfere with each other. However, the DBMS must regularly synchronize the distributed databases to ensure that they all have consistent data.
The software system that facilitates the administration of a DDB in such a way that the distribution aspects are transparent to users.
A DDBMS running on a different computer at each site can handle local applications autonomously and participate in at least one global application that needs data from other sites. Communication between different locations over a network is essential for any global application.
The functions of such a DDBMS are:
To extend communications services to provide access to remote sites and to allow queries and data to be transmitted over the network.
To expand the DD to store data distribution details.
Provide distributed query processing, including optimization and remote data access.
To extend accuracy control to maintain consistency of replicated data.
Extension of recovery services to account for failures of either sites or communication links.
Distributed data storage:
There are two approaches to storing data in a distributed database.
Replication: The system creates different similar copies of all data and each copy is stored in different places. There are two types of replication strategies.
Full Replication: The full replication strategy is to maintain a full copy of the database at each site. This maximizes accessibility and reliability, but the storage and communication costs required for updates can be high.