i. A distributed database system should appear like a centralized database even if different sites are running on different hardware and have different network types.
ii. The relations in the distributed system will be distributed over a number of different sites. However, a user is not required to know which relations ate stored on which site.
iii. Also, the user queries should not be affected if the relations are moved from one site to another. The user requests should be stated in terms of relations and should take no account of the location or the network. It should be noted that in spite of fragmentation and replication each data item in a distributed database system must have a unique name.
iv. Given that one of the objectives of a distributed database system is to provide autonomy to all sites, naming of data objects becomes a serious issue. One approach is to use a central name server, but a better solution is to devise another system for generating names, e.g., site 17. account.f 3.c2. Users obviously cannot be expected to remember names like site17.account.f 3.c2 and the distributed database system must translate user queries to queries on the data located at different sites.
i. Fragmentation involves decomposition of a table in many pans while replication involves placing copies of each table or each of their fragments on more than one site in the system.
ii. In a distributed database system, in spite of data being replicated at several sites, a user is not required to know how fragments of a relation are replicated when using the system. Data replication is important since it provides increased reliability, increased availability and increased parallelism. Replication also of course needs more storage.
iii. Nevertheless, the performance and reliability aspects of replication are too important and storage costs have now declined so much that one can ignore the increased storage factor.
iv. The user requests should be stated in terms of relations that take no account of replication. Using replicating copies effectively makes the retrieval, update and concurrency algorithms much more complex.
v. As an example, we again consider the three-node distributed database of Bharat Airlines.
vi. The data in this system, for example, the table Flight as well as the other tables, must be replicated because the airline cannot afford to have one of the nodes going down or so overloaded that response time becomes unacceptable.
vii. It will probably be best to replicate data on all three nodes to ensure high level of availability and reliability of the system.
i. Fragmentation is dividing a relation in several fragments and storing the fragments on different sites.
ii. In a distributed database system, the user does not need to know about fragmentation or how many replicas of each fragment exist in the system.
iii. A relation in the system may be partitioned into a number of fragments and those fragments be replicated. User requests should be stated in terms of relations assuming they are not fragmented and replicated.
iv. As an example, continuing with the system of Bharat Airlines, as already noted, information about different flights is stored in different nodes but the information is replicated at all three nodes.
v. For example, the table Flight is fragmented based on where each flight originates. There is no reason for a user to know how the tables have been fragmented and replicated.