Documente Academic
Documente Profesional
Documente Cultură
http://vub.academia.edu/BeatSigner
2 December 2005
DBMS Components
Programmers Application Programs DBMS DML Preprocessor Query Compiler DDL Compiler Users Queries DB Admins Database Schema
Authorisation Control
Catalogue Manager
Integrity Checker
Command Processor
Query Optimiser
Transaction Manager
Data Manager Database Manager
Scheduler
Buffer Manager
Recovery Manager
Access Methods
File Manager
System Buffers
Based on 'Components of a DBMS', Database Systems, T. Connolly and C. Begg, Addison-Wesley 2010
transforms embedded SQL statements into statements of the host language interacts with the query compiler to generate the appropriate host language code
Query compiler
transforms queries into a set of low-level instructions (query plan) which are forwarded to the database manager component
DDL compiler
converts a set of DDL statements into a set of tables tables and metadata are stored in the system catalogue
provides access and manages the system catalogue used by most DBMS components
Database manager
processes user-submitted queries interfaces with application programs contains a set of components
- query optimiser - transaction manager - ...
checks whether as user has the necessary rights to execute a specific operation
Command processor
executes the steps of a given query plan handed over by the authorisation control component
ensures that the operation is not going to violate any integrity constraints (e.g. key constraints)
Integrity checker
Query optimiser
computes an optimal query execution strategy transforms the initial query plan into the best available sequence of operations on the given data
March 30, 2012 Beat Signer - Department of Computer Science - bsigner@vub.ac.be 5
processes any transaction-specific operations manages the relative order in which transaction operations are executed
Scheduler
Recovery manager
deals with commits and aborts of transactions ensures that the database remains in a consistent state in case of failures
Buffer manager
DBMS Architectures
There is a wide variety of different DBMS architectures
Teleprocessing File-Server Architecture Two-Tier Client-Server Architecture Three-Tier Client Server Architecture N-Tier Architecture Peer-to-Peer Architecture Distributed DBMS Service-Oriented Architecture Cloud Architecture ...
Teleprocessing
Terminal 1
Terminal 3
Mainframe
Terminal 2
Terminal n
runs application programs and DBMS formats data for presentation on terminals
Teleprocessing ...
Tendency to replace mainframes with network of
personal computers (downsizing)
File-Server Architecture
data request
LAN or WAN
Workstation 1 (DBMS)
file
Database File-Server
Disadvantages
heavy network traffic high total costs of ownership (TCO)
- maintain a full instance of the DBMS on each client (workstation)
11
LAN or WAN
Client 1
selected data
Client 2
Client n
clear separation of concerns between client and server thin client vs. thick client
- less or more application logic on the client side
presentation of data (user interface) business and data application logic send database requests to the server and process the results
single client and single server multiple clients and single server multiple clients and multiple servers
March 30, 2012 Beat Signer - Department of Computer Science - bsigner@vub.ac.be 13
special protocols such as ODBC (JDBC) introduced earlier in the course when discussing the Call Level Interface (CLI)
increased performance
- certain tasks performed in parallel and server can be tuned for DB processing
Advantages
14
Disadvantages
- thick client requires a considerable amount of resources (CPU, RAM, ...) to run applications efficiently
15
selected data
Application Server
Client 2
Client n
presentation of data (user interface) basic input validation (thin client) send requests to the server and visualise results
17
reduced costs for thin clients due to lower resource requirements (CPU, RAM, ...)
- e.g. applications running in a web browser
increased modularity
- easier to replace one tier without affecting the other tiers
load balancing becomes easier with a clear separation between the core business logic and the database functionality
18
Internet
HTTP Response
Client
N-Tier Architecture
HTTP Request
Internet
HTTP Response
Database
Web Server Application Server DB Server
Client
HTML Pages
e.g. separation between web server and application server in the previous web information system example
- increases the flexibility for load balancing by introducing multiple web servers - only dynamic content delivered by the application server whereas static content is directly managed by the web server
20
Peer-to-Peer Architecture
Database 1
Site 1
LAN or WAN
Site 3
Database 3
Systems exchanging information and services in a peerto-peer-like manner without a central authority
no dedicated clients and servers sites may dynamically form new client/server relationships
March 30, 2012 Beat Signer - Department of Computer Science - bsigner@vub.ac.be 21
Middleware
Software that connects (mediates) between software
components or applications
hide complexity of heterogenous and distributed components (e.g. servers) and provide a uniform interface
remote procedure call (RPC)
- Java RMI - CORBA - XML RPC
asynchronous publish/subscribe
- subscribe for different types of messages
March 30, 2012
...
Beat Signer - Department of Computer Science - bsigner@vub.ac.be 22
Database
DB Server 1
DB Server n
transaction routing
- increase scalability by directing transactions to specific DBMSs
load balancing
- balance requests across multiple DBMSs by directing to least loaded server
funelling
- establish connections with DBMSs and funnel user requests through these connections thereby reducing the number of required connections
increased reliability
- if a DBMS fails, the TP monitor can resubmit the request to another DBMS or hold the transaction request until the DBMS becomes available and resubmit
24
Memory
Disk
Disk
Disk
Processor
Memory Disk
Processor
Disk
shared memory
shared disk
Disk
shared nothing
25
processors and disks have access to a shared memory via a bus very efficient communication between processors not scalable since bus becomes a bottleneck
Shared disk
all processors can access all disks via an interconnection network each processor has its own memory certain degree of fault tolerance if processor/memory fails also disks maybe have fault tollerance (e.g. RAID architecture) interconnection to the disk systems becomes bottleneck
26
each node consists of a processor, memory and one or more disks high-speed interconnection network between processors more scalable than shared memory or shared disk model increased communication costs for non-local disk access
Hierarchical
combines the different models (composition) top level is shared nothing between nodes
- each node can be a shared memory or shared disk "subsystem"
27
LAN or WAN
Site 3
Database
Distributed database
logically related collection of shared data and metadata that is distributed over a network
software system to manage the distributed database in a transparent way
Beat Signer - Department of Computer Science - bsigner@vub.ac.be 28
Distributed DBMS
local transaction
- accesses only data from the site from which the transaction was initiated
global transaction
- accesses data from several different sites
data sharing
- possibility to access data that resides at other sides
autonomy
- each site retains a certain degree of control over the local data
availability
- if one site fails the other sites may still be able to continue operating - data might be replicated at serveral sites for increased availability
29
Implementation issues
transactions have to be executed atomically accross different sites (two-phase commit protocol)
- commit decission is left to a single coordinator
30
loose coupling of services service encapsulation interoperability between different operating systems and programming languages new services can be defined as a mashup of existing services
e.g. single SQL Server processes acting as service providers software is offered as a service and on the other hand might be a composition of other services
- e.g. service for data storage etc.
Beat Signer - Department of Computer Science - bsigner@vub.ac.be 31
Cloud Computing
Microsoft
Google
Client 1
The Cloud
Yahoo Amazon
Client 3
Client 2
Client n
Internet-based computing with on-demand and pay-peruse access to shared resources, data and software
Main characteristics
web-based access (e.g. Web Service API or browser) pay only for the services that are actually used (pay-per-use) no initial investment (e.g. for resources) required
March 30, 2012 Beat Signer - Department of Computer Science - bsigner@vub.ac.be 33
34
35
online storage service with unlimited storage space store objects (up to 5 TB in size) in buckets Web Service API
Amazon SimpleDB
distributed database written in Erlang offers a Web Service API makes use of S3 and EC2 on demand scaling non-relational data store
- schemaless - hashtables with set of key value pairs - eventual consistency
36
Mobile DBMS
Users want access to information on the move via mobile
devices
tourist information systems salesperson who is visiting their customers emergency services ...
small footprint databases that can run on mobile devices with limited resources
- e.g. db4objects, http://www.db4o.com
37
communicate with centralised database server via wireless network or fixed Internet connections replicate data on a centralised server and on a mobile device
- synchronisation challenges
caching of data and transactions to cope with potential network connection failures opportunistic (peer-to-peer based) information exchange with other mobile DBMSs
- e.g. dynamic P2P Bluetooth connections with other devices in range (proximity-based information exchange)
March 30, 2012
security
- which portion of a database can/should be replicated on a mobile device?
...
Beat Signer - Department of Computer Science - bsigner@vub.ac.be 38
Homework
Study the following chapter of the
Database System Concepts book
chapter 17
- sections 17.1-17.6 - Database-System Architectures
39
Exercise 7
Structured Query Language (SQL) PostgreSQL
40
References
A. Silberschatz, H. Korth and S. Sudarshan,
Database System Concepts (Sixth Edition), McGraw-Hill, 2010
41
Next Lecture
Storage Management
2 December 2005