Outline
Introduction
 What is a distributed DBMS
 Problems
 Current state-of-affairs
 Background
 Distributed DBMS Architecture
 Distributed Database Design
 Semantic Data Control
 Distributed Query Processing
 Distributed Transaction Management
 Parallel Database Systems
 Distributed Object DBMS
 Database Interoperability
 Current Issues
Distributed DBMS Page 1.1
 File Systems
 program 1
 File 1
 data description 1
 program 2
 data description 2 File 2
 program 3
 data description 3 File 3
Distributed DBMS Page 1.2
 Database Management
 Application
 program 1
 (with data
 semantics)
 DBMS
 description
 Application
 program 2 manipulation
 (with data database
 semantics) control
 Application
 program 3
 (with data
 semantics)
Distributed DBMS Page 1.3
 Motivation
 Database Computer
 Technology Networks
 integration distribution
 Distributed
 Database
 Systems
 integration
 integration ≠ centralization
Distributed DBMS Page 1.4
 Distributed Computing
 A concept in search of a definition and a name.
 A number of autonomous processing elements
 (not necessarily homogeneous) that are
 interconnected by a computer network and that
 cooperate in performing their assigned tasks.
Distributed DBMS Page 1.5
 Distributed Computing
 Synonymous terms
 distributed function
 distributed data processing
 multiprocessors/multicomputers
 satellite processing
 backend processing
 dedicated/special purpose computers
 timeshared systems
 functionally modular systems
Distributed DBMS Page 1.6
 What is distributed …
 Processing logic
 Functions
 Data
 Control
Distributed DBMS Page 1.7
 What is a Distributed Database
 System?
 A distributed database (DDB) is a collection of multiple,
 logically interrelated databases distributed over a
 computer network.
 A distributed database management system (D–DBMS)
 is the software that manages the DDB and provides an
 access mechanism that makes this distribution
 transparent to the users.
 Distributed database system (DDBS) = DDB + D–DBMS
Distributed DBMS Page 1.8
 What is not a DDBS?
 A timesharing computer system
 A loosely or tightly coupled multiprocessor
 system
 A database system which resides at one of the
 nodes of a network of computers - this is a
 centralized database on a network node
Distributed DBMS Page 1.9
 Centralized DBMS on a Network
 Site 1
 Site 2
 Site 5
 Communication
 Network
 Site 4 Site 3
Distributed DBMS Page 1.10
 Distributed DBMS Environment
 Site 1
 Site 2
 Site 5
 Communication
 Network
 Site 4 Site 3
Distributed DBMS Page 1.11
 Implicit Assumptions
 Data stored at a number of sites each site
 logically consists of a single processor.
 Processors at different sites are interconnected
 by a computer network no multiprocessors
 parallel database systems
 Distributed database is a database, not a
 collection of files data logically related as
 exhibited in the users’ access patterns
 relational data model
 D-DBMS is a full-fledged DBMS
 not remote file system, not a TP system
Distributed DBMS Page 1.12
 Shared-Memory Architecture
 P1 Pn M
 D
 Examples : symmetric multiprocessors (Sequent,
 Encore) and some mainframes
 (IBM3090, Bull's DPS8)
Distributed DBMS Page 1.13
 Shared-Disk Architecture
 P1 Pn
 D
 M1 Mn
 Examples : DEC's VAXcluster, IBM's IMS/VS
 Data Sharing
Distributed DBMS Page 1.14
 Shared-Nothing Architecture
 P1 Pn
 D1 Dn
 M1 Mn
 Examples : Teradata's DBC, Tandem, Intel's
 Paragon, NCR's 3600 and 3700
Distributed DBMS Page 1.15
 Applications
 Manufacturing - especially multi-plant
 manufacturing
 Military command and control
 EFT
 Corporate MIS
 Airlines
 Hotel chains
 Any organization which has a
 decentralized organization structure
Distributed DBMS Page 1.16
 Distributed DBMS Promises
 Transparent management of distributed,
 fragmented, and replicated data
 Improved reliability/availability through
 distributed transactions
 Improved performance
 Easier and more economical system expansion
Distributed DBMS Page 1.17
 Transparency
 Transparency is the separation of the higher level
 semantics of a system from the lower level
 implementation issues.
 Fundamental issue is to provide
 data independence
 in the distributed environment
 Network (distribution) transparency
 Replication transparency
 Fragmentation transparency
 horizontal fragmentation: selection
 vertical fragmentation: projection
 hybrid
Distributed DBMS Page 1.18
 Example
 EMP ASG
 ENO ENAME TITLE ENO PNO RESP DUR
 E1 J. Doe Elect. Eng. E1 P1 Manager 12
 E2 M. Smith Syst. Anal. E2 P1 Analyst 24
 E3 A. Lee Mech. Eng. E2 P2 Analyst 6
 E4 J. Miller Programmer E3 P3 Consultant 10
 E5 B. Casey Syst. Anal. E3 P4 Engineer 48
 E6 L. Chu Elect. Eng. E4 P2 Programmer 18
 E7 R. Davis Mech. Eng. E5 P2 Manager 24
 E8 J. Jones Syst. Anal. E6 P4 Manager 48
 E7 P3 Engineer 36
 E7 P5 Engineer 23
 E8 P3 Manager 40
 PROJ PAY
 PNO PNAME BUDGET TITLE SAL
 P1 Instrumentation 150000 Elect. Eng. 40000
 P2 Database Develop. 135000 Syst. Anal. 34000
 P3 CAD/CAM 250000 Mech. Eng. 27000
 P4 Maintenance 310000 Programmer 24000
Distributed DBMS Page 1.19
 Transparent Access
 SELECT ENAME,SAL
 Tokyo
 FROM EMP,ASG,PAY
 WHERE DUR > 12
 Boston Paris
 AND EMP.ENO = ASG.ENO
 AND PAY.TITLE = EMP.TITLE Paris projects
 Paris employees
 Communication Paris assignments
 Network Boston employees
 Boston projects
 Boston employees
 Boston assignments
 Montreal
 New
 Montreal projects
 York
 Paris projects
 Boston projects New York projects
 New York employees with budget > 200000
 New York projects Montreal employees
 New York assignments Montreal assignments
Distributed DBMS Page 1.20
 Distributed Database - User View
 Distributed Database
Distributed DBMS Page 1.21
 Distributed DBMS - Reality
 User
 Query
 DBMS
 Software
 User
 Application
 DBMS
 Software
 DBMS Communication
 Software Subsystem
 User
 DBMS User Application
 Software Query DBMS
 Software
 User
 Query
Distributed DBMS Page 1.22
 Potentially Improved Performance
 Proximity of data to its points of use
 Requires some support for fragmentation and replication
 Parallelism in execution
 Inter-query parallelism
 Intra-query parallelism
Distributed DBMS Page 1.23
 Parallelism Requirements
 Have as much of the data required by each
 application at the site where the application
 executes
 Full replication
 How about updates?
 Updates to replicated data requires implementation of
 distributed concurrency control and commit protocols
Distributed DBMS Page 1.24
 System Expansion
 Issue is database scaling
 Emergence of microprocessor and workstation
 technologies
 Demise of Grosh's law
 Client-server model of computing
 Data communication cost vs telecommunication
 cost
Distributed DBMS Page 1.25
Distributed DBMS Issues
 Distributed Database Design
 how to distribute the database
 replicated & non-replicated database distribution
 a related problem in directory management
 Query Processing
 convert user transactions to data manipulation
 instructions
 optimization problem
 min{cost = data transmission + local processing}
 general formulation is NP-hard
Distributed DBMS Page 1.26
 Distributed DBMS Issues
 Concurrency Control
 synchronization of concurrent accesses
 consistency and isolation of transactions' effects
 deadlock management
 Reliability
 how to make the system resilient to failures
 atomicity and durability
Distributed DBMS Page 1.27
 Relationship Between
 Issues
 Directory
 Management
 Query Distribution
 Reliability
 Processing Design
 Concurrency
 Control
 Deadlock
 Management
Distributed DBMS Page 1.28
 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
Distributed DBMS Page 1.29