Distributed Database Management System (DDBMS)–Advantages and Disadvantages
Users access the distributed database through a variety of applications, each designed to provide a specific set of functionality. In a distributed database system database, the applications running at any of the system’s sites should be able to operate on any of the database fragments. The software that is used to manage a distributed database is called a “distributed database management system” (DDBMS).
Many organizations are naturally distributed over different locations. For example, a company may have locations in different cities, or a bank may have multiple branches. It is natural for databases used in those organizations to be distributed over these locations. An important requirement of such a distribution is that the users can access data both locally and at other locations.
Different advantages of distributed databases are as follows:
Local data is owned and managed locally. Security, integrity, storage representation, and hardware are controlled locally. However, users can access remote data when necessary.
Reliability and Availability
When a centralized system fails, the database is unavailable to all users. A distributed system will continue to function at some reduced level when a component fails. It continues to operate if one or more sites go down or communication links fail.
Efficient Querying Processing
Queries about data stored locally are answered faster. The queries can be split to execute in parallel at different sites or they can be redirected to less busy sites.
It is much easier to add another site to the distributed system than to expand a centralized system. Suppose that an organization expands to a new location or adds a new workgroup. It is often easier and more economical to add a local computer and its associated data to the distributed network than to expand a large central computer.
It costs much less to create and maintain a system of smaller computers with the equivalent power of a single large computer.
Some disadvantages of the distributed database system are as follows:
Software Complexity & High Costs
A DDBMS is more complex than a centralized DBMS. Therefore, it is more expensive to buy and maintain. There are also additional manpower costs to manage and maintain the local DBMSs and the underlying network.
The various sites must exchange messages and perform additional calculations to ensure proper coordination among data at the different sites.
It is harder to enforce data integrity when data is updated at different sites simultaneously.
Complex Database Design
Besides the normal difficulties of designing a centralized database, the design of a distributed database has to take account of fragmentation and replication of data, and allocation of fragments.
If the data are not distributed properly according to their usage, or if queries are not formulated correctly, response to requests for data can be extremely slow.
Functions of a DDBMS
A distributed DBMS provides access to data at various sites. A DDBMS is required to perform the following functions in addition to the functions of a DBMS:
• Extended communication services to provide access to remote sites and allow the transfer of queries and data among them.
• Extended system catalog (Global System Catalog) to store data distribution details; this way can determine the location from which to retrieve requested data.
• Distributed query processing. If necessary, translate the request at one site using a local DBMS into the proper request to another site using a different DBMS and data model.
• Extended concurrency control to maintain consistency of replicated data.
• Extended recovery services to be able to recover from individual site crashes and failure of communication links.