Distributed Databases

Homogeneous Databases

Distributed Transactions

Concurrency Control in Distributed Databases

Cloud-Based Databases

Distributed Data Storage

Commit Protocols

Distributed Query Processing

Directory Systems

All sites have identical database management system software

Heterogeneous Databases

Different sites may use different schemas, and different database-management system software

Data Replication

Data Fragmentation

Availability

Increased parallelism.

Increased overhead on update

horizontal fragmentation,

Vertical fragmentation

Transparency

Fragmentation transparency

Replication transparency

Location transparency

System Structure

System Failure Modes

Transaction manager

Transaction coordinator

Basic failures

Failure of a site

Loss of messages

Failure of a communication link.

Network partition

partitioned

split into two (or +) subsystems

Two-Phase Commit

Alternative Models of Transaction Processing

Three-Phase Commit

extension of the two-phase commit protocol that avoids the blocking problem under certain assumptions

Persistent messages

messages that are guaranteed to be delivered to
the recipient exactly once regardless of failures,

Locking Protocols

Timestamping

Replication with Weak Degrees of Consistency

Deadlock Handling

Single Lock-Manager Approach

Distributed Lock Manager


Primary Copy


Majority Protocol

Biased Protocol


Quorum Consensus Protocol

Availability

Comparison with Remote Backup

Site Reintegration

Read One, Write All Available Approach


Quorum Consensus Protocol

Coordinator Selection

Trading Off Consistency for Availability

Backup coordinator

maintains enough information locally to allow it to assume the role of coordinator with minimal disruption to the distributed system.

Query Transformation

Simple Join Processing

Semijoin Strategy

Join Strategies that Exploit Parallelism

Heterogeneous Distributed Databases

Unified View of Data

Query Processing

Transaction Management in Multidatabases

Local transactions

Global transactions

new concept in computing that emerged in
the late 1990s and the 2000s

Data Storage Systems on the Cloud

Traditional Databases on the Cloud

Challenges with Cloud-Based Databases

Directory Access Protocols

LDAP: Lightweight Directory Access Protocol

Distributed Directory Trees

Data Manipulation

LDAP Data Model

directories store entries

Each entry must have a distinguished name