Introduction of DDBMS
- Distributed databases play a crucial role in modern computing, having higher scalability, availability, and performance in handling large volumes of data across geographically dispersed locations.
Definition of DDBMS
- Distributed databases are those types of systems that store data across multiple physical or logical locations, providing improved scalability, fault tolerance, and performance by distributing data processing and storage tasks across a network of interconnected nodes.
Characteristics of DDBMS
-
Data Distribution: In DDBMS, Data is partitioned according to need and stored across multiple nodes or servers in a network.
-
Replication: In DDBMS, several copies of data may exist on multiple nodes/locations to ensure fault tolerance and availability.
-
Autonomy: DDBMS supports Autonomy i.e., each node in a distributed database system that may operate independently, contributing to its portion of the data separately.
-
Concurrency Control: Distributed databases implement mechanisms or tools to manage concurrent access and ensure data consistency across multiple nodes, especially during concurrent updates.
-
Transactions and ACID Properties: DDBMS maintains transactional integrity and consistency through mechanisms supporting the basic rules of DBMS, i.e., Atomicity, Consistency, Isolation, and Durability (ACID).
Types of DDBMS
- There are two types of DDBMS –
-
Homogeneous Distributed Database: In this DDBMS, there are similar DBMSs that exist across all nodes in the distributed system.
-
Heterogeneous Distributed Database: In this DDBMS, there are different types or versions of DBMS that exist across all the different nodes, requiring additional translation or middleware for communication.
-
Advantages of DDBMS
- DDBMS has the following advantages –
-
Scalability: DDBMS enables horizontal scaling by adding more new required nodes in the systems to accommodate increased data or load.
-
Fault Tolerance: DDBMS uses redundant copies of data to ensure system availability even if some nodes fail/crash suddenly.
-
Performance: DDBMS supports distributed processing and hence reduces network traffic and latency for local access to data.
-
Geographical Distribution: DDBMS supports global access and finally reduces the data access time by placing data closer to end-users’ locations or nodes.
- Data Consistency: DDBMS ensures data consistency across distributed nodes, especially during concurrent updates.
- Network Complexity: DDBMS manages complex network communication, synchronization, and data transfer across a distributed environment.
- Security and Privacy: DDBMS ensures data security, access control, and compliance across heavily distributed nodes.
- Blockchain Technology: Distributed DBMS technology supports the new modern concept of decentralization, transparency, and immutability for transactional data which is used at large scale in Blockchain technology.
- Edge Computing: The concept of distributed databases is used in optimizing edge devices to support IoT and real-time data processing at the network edge.
-
Disadvantages of DDBMS
- DDBMS setup cost is high.
- DDBMS supports data duplicacy.
-
Designing and maintaining a distributed database is complex and requires expertise and careful planning.
Examples of DDBMS
Bigtable (Google Cloud), Amazon DynamoDB(NoSQL databases), Cassandra(NoSQL databases), etc.
0 Comments