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