5. Introduction
• Why do we care about databases?
• Abstraction
6. Introduction
• Why do we care about databases?
• Abstraction
• Details of storage and access are irrelevant
7. Introduction
• Why do we care about databases?
• Abstraction
• Details of storage and access are irrelevant
• Concurrency
8. Introduction
• Why do we care about databases?
• Abstraction
• Details of storage and access are irrelevant
• Concurrency
• Crash recovery
9. Introduction
• Why do we care about databases?
• Abstraction
• Details of storage and access are irrelevant
• Concurrency
• Crash recovery
• Integrity and Security (privacy)
10. Introduction
• Why do we care about databases?
• Abstraction
• Details of storage and access are irrelevant
• Concurrency
• Crash recovery
• Integrity and Security (privacy)
• Multi-user
16. Distributed Databases
• Definition: A single DBMS running across
multiple CPUs, disks and/or networks,
designed to permit safe parallel access.
17. Concepts
• Distributed Processing
• Central database, distributed processing
18. Distributed Processing
• Multiple processors or cores
• Same memory (multi-core)
• Same disk (networked storage)
• Concurrency Control provided by
transactions
19. Concepts
• Distributed Processing
• Central database, distributed processing
• Ad-hoc Distributed Database
• Database physically distributed over
network
21. Distributed Databases
• Fragmentation
• Large dataset broken up into smaller components
• Allocation
• Fragments should be stored according to usage
22. Distributed Databases
• Fragmentation
• Large dataset broken up into smaller components
• Allocation
• Fragments should be stored according to usage
• Replication
• Copy maintained at multiple sites to take
advantage of additional processing power or
decreased latency
23. Distributed Databases
• Might be implicit!
Fragmentation
• Large dataset broken up into smaller components
• Allocation
• Fragments should be stored according to usage
• Replication
• Copy maintained at multiple sites to take
advantage of additional processing power or
decreased latency
24. Distributed Databases (2)
• How do we decide how to fragment a
database?
• Data, application and usage dependant!
25. Distributed Databases (2)
• How do we decide how to fragment a
database?
• Data, application and usage dependant!
• Goals:
• Locality
• Minimal Communication
• Balance storage, processing, monetary costs
26. Concepts
• Distributed Processing
• Central database, distributed processing
• Ad-hoc Distributed Database
• Database physically distributed over
network
• Distributed DBMS (DDBMS)
• Software that makes distribution transparent
29. Distributed DBMS
• Key Concept: Transparency
• Transparent Distribution
• One centralised database from
perspective of user (programmer)
30. Distributed DBMS
• Key Concept: Transparency
• Transparent Distribution
• One centralised database from
perspective of user (programmer)
• Transparent Transactions
31. Distributed DBMS
• Key Concept: Transparency
• Transparent Distribution
• One centralised database from
perspective of user (programmer)
• Transparent Transactions
• Integrity of data maintained across
multiple databases
32. Distributed DBMS (2)
• Requires advanced:
• Recovery Services
• Concurrency control
• Focus of this course