Functions of Distributed Database System in DBMS
A distributed database is essentially a database that is dispersed across numerous sites, i.e., on various computers or over a network of computers, and is not restricted to a single system. A distributed database system is spread across several locations with distinct physical components. This can be necessary when different people from all over the world need to access a certain database. It must be handled such that, to users, it seems to be a single database.
1. Homogeneous Database: A homogeneous database stores data uniformly across all locations. All sites utilize the same operating system, database management system, and data structures. They are therefore simple to handle.
2. Heterogeneous Database: With a heterogeneous distributed database, many locations may employ various software and schema, which may cause issues with queries and transactions. Moreover, one site could not be even aware of the existence of the other sites. Various operating systems and database applications may be used by various machines. They could even employ separate database data models. Translations are therefore necessary for communication across various sites.
Distributed Data Storage
Data may be stored on several places in two ways using distributed data storage are:
1. Replication - With this strategy, every aspect of the connection is redundantly kept at two or more locations. It is a completely redundant database if the entire database is accessible from every location. Systems preserve copies of the data as a result of replication.
This has advantages since it makes more data accessible at many locations. Moreover, query requests can now be handled in parallel.
But, there are some drawbacks as well. Data must be updated often. All changes performed at one site must be documented at every site where that relation is stored in order to avoid inconsistent results. There is a tone of overhead here. Moreover, since concurrent access must now be monitored across several sites, concurrency management becomes far more complicated.
2. Fragmentation- In this method, the relationships are broken up into smaller pieces and each fragment is kept in the many locations where it is needed. To ensure there is no data loss, the pieces must be created in a way that allows for the reconstruction of the original relation. As fragmentation doesn't result in duplicate data, consistency is not a concern.
Relationships can be fragmented in one of two ways:
Sometimes a strategy that combines fragmentation and replication is employed.
Uses for distributed databases
A form of database management system known as a distributed database system stores data across several computers or sites that are linked by a network. Each location in a distributed database system has its own database, which are linked together to create a single, integrated system.
A distributed database system's key benefit is that it can offer more availability and dependability than a centralized database system. As the data is spread over numerous locations, the system can still operate even if one or more of the locations fail. Also, by dispersing the data and processing burden across several sites, a distributed database system can offer superior performance.
For distributed database systems, there are several possible architectures, including:
Client-server architecture: Users connect to a central server, which controls a distributed database system. The server is in charge of maintaining data storage, controlling access, and organizing transactions.
Peer-to-peer architecture: Under this design, every distributed database system site is linked to every other site. Each website is in charge of overseeing its own data management and organizing business with other websites.
Federated architecture: In this architecture, each site in the distributed database system maintains a separate, independent database. Nevertheless, the databases are connected via a middleware layer that offers a standard interface for accessing and querying the data.
Applications for distributed database systems include e-commerce, financial services, and telephony. Thoughtful thought must be given to issues like data dissemination, replication, and consistency when creating and administering a distributed database system.
A process used in distributed or decentralized multi-agent platforms to come to a consensus. The mechanism for passing messages depends on it.
A network's processes collectively choose the leader. Every procedure starts with a leadership bid. Consensus is used in classic or conventional distributed systems to provide dependability and fault tolerance. It indicates that in a decentralized environment, where each party is independent and has the power to decide for themselves, it is possible for certain nodes or parties to act deliberately or improperly. So, in certain particular situations, it is crucial to reach a conclusion or share a viewpoint. So, the biggest challenge is coming to a consensus in a setting where people might act deliberately or improperly crash the operation. Hence, in this type of distributed system, our goal is to maintain dependability, which refers to making sure that things work well even when there are bad people around.
Ways to reach distributed consensus:
In order to reach distributed consensus, several requirements must be met:
Basically, we should get to a conclusion with a value that must represent the starting value of some process since it is absurd to come to a decision where the agreed value does not reflect anyone's first preference.
The Distributed Consensus Protocol's accuracy
It can be characterized by the next two characteristics.
Distributed consensus application:
In essence, distribution causes the system's design and execution to become more complicated. To accomplish the following potential benefits:
Function of Centralized DBMS:
In addition to centralized DBMS functions, the distributed database must be able to do the following tasks.
Distributed database system features:
However these features essentially make a DDBMS more difficult than a centralized DBMS.
Several interconnected databases that are geographically dispersed across many sites make up a distributed database system. A distributed database system performs the following tasks:
DBMS Requires a Distributed Database
Let's begin with databases and their many kinds.
An organized collection of information is called a database. In a database, the data may be conveniently accessed, managed, amended, updated, controlled, and organized.
The two main categories of databases are distributed and centralized databases. Why do we even need a Distributed Database in DBMS is the question at hand. For the time being, let's imagine that we only have centralized databases.
Throughput, latency, scalability, availability, fault tolerance, and many other difficulties that may occur while utilizing a single system and a single database are all resolved by distributed databases.