140 likes | 277 Views
Outline. Introduction Background Distributed DBMS Architecture Introduction to Database Concepts Alternatives in Distributed Database Systems Datalogical Architecture Implementation Alternatives Component Architecture Distributed Database Design (Briefly)
E N D
Outline • Introduction • Background • Distributed DBMS Architecture • Introduction to Database Concepts • Alternatives in Distributed Database Systems • Datalogical Architecture • Implementation Alternatives • Component Architecture • Distributed Database Design (Briefly) • Distributed Query Processing (Briefly) • Distributed Transaction Management (Extensive) • Building Distributed Database Systems (RAID) • Mobile Database Systems • Privacy, Trust, and Authentication • Peer to Peer Systems
Distribution Distributed multi-DBMS Peer-to-peer Distributed DBMS Client/server Autonomy Multi-DBMS Federated DBMS Heterogeneity Alternatives in Distributed Database Systems
Dimensions of the Problem • Distribution • Whether the components of the system are located on the same machine or not • Heterogeneity • Various levels (hardware, communications, operating system) • DBMS important one • data model, query language,transaction management algorithms • 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.
Datalogical Distributed DBMS Architecture ... ES: External Schema GCS: Global Conceptual Schema LCS: Local Conceptual Schema LIS: Local Internal Schema ES1 ESn ES2 GCS ... LCS1 LCS2 LCSn ... LIS1 LIS2 LISn
Datalogical Multi-DBMS Architecture ... GESn GES2 GES1 • GES: Global External Schema • LES: Local External Schema … … LES11 LES1n GCS LESn1 LESnm … LCS2 LCSn LCS1 … LIS1 LIS2 LISn • LCS: Local Conceptual Schema • LIS: Local Internal Schema
Database Timesharing Access to a Central Database Terminals or PC terminal emulators • No data storage • Host running all software Batch requests Network Response Communications Application Software DBMS Services
Communications DBMS Services Database Multiple Clients/Single Server Applications Applications Applications Client Services Client Services Client Services Communications Communications Communications LAN High-level requests Filtered data only
Database Task Distribution Application QL Interface Programmatic Interface … Communications Manager SQL query result table Communications Manager Query Optimizer Lock Manager Storage Manager Page & Cache Manager
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
Problems With Multiple-Client/Single Server • Server forms bottleneck • Server forms single point of failure • Database scaling difficult
Communications Communications DBMS Services DBMS Services Database Database Multiple Clients/Multiple Servers • directory • caching • query decomposition • commit protocols Applications Client Services Communications LAN
Communications Communications DBMS Services DBMS Services Database Database Server-to-Server • SQL interface • programmatic interface • other application support environments Applications Client Services Communications LAN
Components of a Multi-DBMS USER Global Requests Responses GTP GUI GQP GS GRM GQO Component Interface Processor (CIP) Component Interface Processor (CIP) Local Requests Local Requests Transaction Manager User Interface User Interface Transaction Manager D B M S D B M S Scheduler Query Processor Query Processor Scheduler … Recovery Manager Query Optimizer Query Optimizer Recovery Manager Runtime Sup. Processor Runtime Sup. Processor
Directory Issues Type Local & distributed & non-replicated Local & central & non-replicated (?) Global & central & non-replicated Global & distributed & non-replicated (?) Local & central & replicated (?) Location Global & central & replicated (?) Local & distributed & replicated Global & distributed & replicated Replication