your image

Distributed Database System - GeeksforGeeks

me_l
.geeksforgeeks.1
Related Topic
:- Databases Mysql Database

Distributed Database System

  • Difficulty Level : Medium
  • Last Updated : 06 Jul, 2021

A distributed database is basically a database that is not limited to one system, it is spread over different sites, i.e, on multiple computers or over a network of computers. A distributed database system is located on various sites that don’t share physical components. This may be required when a particular database needs to be accessed by various users globally. It needs to be managed such that for the users it looks like one single database. 

Types: 

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

2. Heterogeneous Database: 
In a heterogeneous distributed database, different sites can use different schema and software that can lead to problems in query processing and transactions. Also, a particular site might be completely unaware of the other sites. Different computers may use a different operating system, different database application. They may even use different data models for the database. Hence, translations are required for different sites to communicate. 

 

 

 

 

Distributed Data Storage :
There are 2 ways in which data can be stored on different sites. These are: 

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

This is advantageous as it increases the availability of data at different sites. Also, now query requests can be processed in parallel. 
However, it has certain disadvantages as well. Data needs to be constantly updated. Any change made at one site needs to be recorded at every site that relation is stored or else it may lead to inconsistency. This is a lot of overhead. Also, concurrency control becomes way more complex as concurrent access now needs to be checked over a number of sites. 

2. Fragmentation –
In this approach, the relations are fragmented (i.e., they’re divided into smaller parts) and each of the fragments is stored in different sites where they’re required. It must be made sure that the fragments are such that they can be used to reconstruct the original relation (i.e, there isn’t any loss of data). 
Fragmentation is advantageous as it doesn’t create copies of data, consistency is not a problem. 
 

Fragmentation of relations can be done in two ways: 
 

  • Horizontal fragmentation – Splitting by rows – 
    The relation is fragmented into groups of tuples so that each tuple is assigned to at least one fragment.
  • Vertical fragmentation – Splitting by columns – 
    The schema of the relation is divided into smaller schemas. Each fragment must contain a common candidate key so as to ensure lossless join.

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

References : 
Database System Concepts by Silberschatz, Korth and Sudarshan

Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.

 

Like

0

Previous

Difference between Centralized Database and Distributed Database

Next

Advantages of Distributed database

RECOMMENDED ARTICLES

Page :

Difference between Centralized Database and Distributed Database

11, Jun 20

Functions of Distributed Database System

08, Oct 18

Distributed Consensus in Distributed Systems

11, Jan 21

Advantages of Distributed database

04, Oct 18

Date's Twelve Rules for Distributed Database Systems

06, Aug 20

MOSS Concurrency Control Protocol (Distributed Locking in Database)

20, Dec 20

Project Idea | Distributed Downloading System

17, Jul 17

How to pre populate database in Android using SQLite Database

30, Apr 20

Difference between Database Administrator (DBA) and Database Engineer

21, Jul 20

Difference between Open Source Database and Commercial Database

20, Nov 20

Difference between Database Administrator vs Database Architect

01, Mar 21

Federated database management system issues

08, Oct 18

Personnel involved in Database Management System

22, Aug 19

Advantages of Database Management System

20, Nov 19

Difference between Database System and Data Warehouse

02, Dec 19

Top 5 Free, Cross-Platform, and Open-Source Database System in 2020

07, Jul 20

Structure of Database Management System

06, Jul 20

Getting started with Database Management System

20, Aug 20

Database Management System | Dependency Preserving Decomposition

16, Aug 15

Introduction of DBMS (Database Management System) | Set 1

19, Oct 16

Election algorithm and distributed processing

19, Jun 18

Comparison - Centralized, Decentralized and Distributed Systems

24, Dec 18

Difference between Parallel and Distributed databases

10, Jun 21

Difference between Parallel Computing and Distributed Computing

25, Nov 19

Article Contributed By :

 

me_l

@me_l

Vote for difficulty

Current difficulty : Medium

EasyNormalMediumHardExpert

Improved By :

Article Tags :

Practice Tags :

Improve Article

Report Issue

Comments