5
Difference in software poses a problem while processing transactions or queries. Sites may be unaware of each other and end up providing only limited facilities for cooperation in transaction or query processing. In heterogeneous systems, different nodes may have different hardware & software and data structures. Different computers and operating systems, database applications or data models may be used at each of the locations. DBMS is required to allow communication between different sites. The users must be able to make requests in a database language at their local sites. However, there may be compatibility issues among these different structures. The heterogeneous system is often not technically or economically feasible. A user at one location may be able to read but not update the data at another location. There are two principal approaches to store a relation in a distributed database system.
A) Replication, wherein the system maintains several replicas of the same relation at different sites. B) Fragmentation, wherein the relation is fragmented into several relations in such a way that the actual relation could be reconstructed from the fragments. The fragments are then distributed to different locations.
There are several reasons to use distributed database systems.
● It helps in handling of the distributed data with different levels of transparency
● It increases the reliability and availability of data
● It provides local or site autonomy which in turn leads to efficient data management
● If there were ever a catastrophic event such as a fire, all of the data would not be in one place, but distributed in multiple locations. This protects large chunks of important data.
● Data is located near the site of greatest demand, allowing load on the databases to be balanced among servers.
● Systems can be modified, added to, and removed from the distributed database systems without affecting other nodes or data
● There is continuous operation of the system even if some nodes are offline / not working
However, there is reason for caution as to the following reasons :
● More extensive infrastructure means extra labour costs
● Remote database fragments must be secured for data protection
● In a distributed database, enforcing integrity over a network may require too much of the network ' s resources
● In addition to the challenges posed by traditional database design, the design of a distributed database has to consider fragmentation of data, scattering of fragments to specific sites and data replication
● There may be concurrence between the operation of two or more different sites or nodes. This poses a major problem to the system operation as a whole. It can be solved by locking and timestamping.