Distributed DBMS Issues
Distributed DBMS Issues
• Reliability
• How to make the system resilient to failures
• Atomicity and durability
Relationship Between
Issues Directory
Management
Query Distribution
Reliability
Processing Design
Concurrency
Control
Deadlock
Management
Related Issues
• Operating System Support
• Operating system with proper support for database operations
• Dichotomy between general purpose processing requirements and database processing
requirements
• Open Systems and Interoperability
• Distributed Multidatabase Systems
• More probable scenario
• Parallel issues
Architecture
• Defines the structure of the system
• components identified
• functions of each component defined
• interrelationships and interactions between components defined
ANSI/SPARC Architecture
Users
Conceptual Conceptual
view
Schema
• Autonomy
• Not well understood and most troublesome
• Various versions
• Design autonomy: Ability of a component DBMS to decide on issues related to its own design.
• Communication autonomy: Ability of a component DBMS to decide whether and how to communicate with other
DBMSs.
• Execution autonomy: Ability of a component DBMS to execute local operations in any manner it wants to.
Client/Server Architecture
Advantages of Client-Server
Architectures
• More efficient division of labor
• Horizontal and vertical scaling of resources
• Better price/performance on client machines
• Ability to use familiar tools on client machines
• Client access to remote data (via standards)
• Full DBMS functionality provided to client workstations
• Overall better system price/performance
Database Server
Distributed Database Servers
Datalogical Distributed DBMS Architecture
ES1 ES2 ... ESn
GCS
Semantic Data
User Interface
Local Recovery
Global Query
Local Query
Controller
Optimizer
Execution
Handler
Processor
Processor
Manager
Runtime
Monitor
Support
Global
USER
System
responses
Datalogical Multi-DBMS Architecture
GES1 GES2 ... GESn
Local Local
User Multi-DBMS User
Request Layer Request
Global Global Global
Subrequest Subrequest Subrequest