Distributed Database System – GeeksforGeeks

A distributed database is

basically a database that is not limited to one system, but is distributed across different sites, i.e. on multiple computers or on a network of computers. A distributed database system is located in multiple sites that do not share physical components. This may be necessary when multiple users globally need to access a particular database. It should be managed in such a way that it looks like a single database to users.

Types:

1. Homogeneous database: In a homogeneous database, all different sites store the database identically. The operating system, database management system, and data structures used are all the same at all sites. Therefore, they are easy to manage.

Arabic numeral. Heterogeneous database: In a heterogeneous distributed database, different sites may use different schemas and software that can cause problems in processing queries and transactions. Also, a particular site may be completely unaware of the other sites. Different computers may use a different operating system, a different database application. They can even use different data models for the database. Therefore, translations are required for different sites to communicate.

Distributed data storage: There are 2 ways that data can be stored in different sites. These are:

1. Replication: In this approach, the entire relationship is stored redundantly in 2 or more sites. If the entire database is available at all sites, it is a fully redundant database. Therefore, in replication, systems maintain copies of the data.

This is advantageous as it increases the availability of data across different sites. In addition, query requests can now be processed in parallel. However, it also has certain disadvantages. The data must be constantly updated. Any changes made to a site must be recorded on each site on which the relationship is stored or else it may lead to inconsistencies. This is a lot of overhead. In addition, concurrency control becomes much more complex as concurrent access must now be verified across multiple sites.

Arabic numeral. Fragmentation: In this approach, relationships are fragmented (i.e. divided into smaller parts) and each of the fragments is stored in different sites where they are required. You must ensure that the fragments are such that they can be used to reconstruct the original relationship (i.e. that there is no data loss). Fragmentation is advantageous as it does not create copies of data, consistency is not an issue.

Fragmentation of

relationships can be done in two ways:

Horizontal fragmentation – Division by rows – The relationship is

  • fragmented into groups of tuples so that each tuple is assigned to at least one fragment. Vertical fragmentation – Division by
  • columns – The schema of the relationship is divided into smaller schemes. Each fragment must contain a common candidate key to ensure lossless joining.

In certain cases, a hybrid approach of fragmentation and replication is used.

Distributed Database Applications: It is used in

  • the Corporate Management Information System. It
  • is used

  • in multimedia applications
  • . Used in military control system,

  • hotel chains, etc
  • .

  • It is also used in manufacturing control system.

References : Database system concepts by Silberschatz, Korth and Sudarshan

A database system

Distributed is a type of database management system that stores data on multiple computers or sites that are connected by a network. In a distributed database system, each site has its own database, and the databases are connected together to form a single integrated system.

The main advantage of a distributed database system

is that it can provide higher availability and reliability than a centralized database system. Because data is stored in multiple sites, the system can continue to function even if one or more sites fail. In addition, a distributed database system can provide better performance by distributing data load and processing across multiple sites.

There are several different architectures for

distributed database systems, including:

Client-server architecture: In this architecture, clients connect to a central server, which manages the distributed database system. The server is responsible for coordinating transactions, managing data storage, and providing access control.

Peer-to-peer architecture

: In this architecture, each site in the distributed database system is connected to all other sites. Each site is responsible for managing its own data and coordinating transactions with other sites.

Federated architecture: In this architecture, each site in the distributed database system maintains its own independent database, but the databases are integrated through a middleware layer that provides a common interface for accessing and querying data.

Distributed database systems can be used in a variety of applications, including e-commerce, financial services, and telecommunications. However, designing and managing a distributed database system can be complex and requires careful consideration of factors such as data distribution, replication, and consistency.

Advantages of the distributed database system:

1) There is fast data processing as multiple sites participate in processing requests. 2) The reliability and availability of this system is high. 3) It has a reduced operating cost.4) It is easier to expand the system by adding more sites. 5) Sharing capacity and local autonomy have improved.

Disadvantages of the distributed database system:

1) The system becomes complex to manage and control. 2) Security issues must be handled carefully. 3) The system requires deadlock handling during transaction processing, otherwise the whole system may be in an inconsistent state. 4) There is a need for some standardization for the processing of the distributed database system.