Introduction to Databases
DBMS Architectures and Features
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
Traditional multi-user system architecture
single mainframe and multiple (dumb) terminals runs application programs and DBMS formats data for presentation on terminals
Heavy load on the central mainframe
Teleprocessing ...
Tendency to replace mainframes with network of
personal computers (downsizing)
file-server architectures client-server architectures ...
File-Server Architecture
data request
LAN or WAN
Workstation 1 (DBMS)
file
Database File-Server
Workstation 2 (DBMS) Workstation n (DBMS)
A file-server is a computer that is connected to a network
and mainly serves as a shared storage
e.g. for shared access to a database
In a file-server architecture the processing is distributed
over the network
workstations (application and DBMS) request data (files)
10
File-Server Architecture ...
SQL Request Example
SELECT name, street FROM Customer, Order WHERE [Link] = [Link] AND name = 'Urs Frei';
Since the file-sever is not SQL-aware, the entire
Customer and Order relations (files) have to be
transferred
Disadvantages
heavy network traffic each workstation runs a full instance of the DBMS complex integrity, concurrency and recovery control
- multiple DBMSs may concurrently access the same shared file
11
Two-Tier Client-Server Architecture
data request
LAN or WAN
Client 1
selected data
Database Server (DBMS)
Client 2
Client n
Application consists of a client (first tier) and a server
(second tier) that might run on different machines
clear separation of concerns between client and server thin client vs. thick client
- less or more application logic on the client side
Supports decentralised business environments
12
Two-Tier Client-Server Architecture ...
Client (first tier) tasks
presentation of data (user interface) business and data application logic send database requests to the server and process results manage (concurrent) database access (data services)
- authorisation, integrity checks, query/update processing, recovery control, ...
Server (second tier) tasks
business logic (e.g. validation of data) single client and single server multiple clients and single server multiple clients and multiple servers
13
Different possible client-server topologies
Two-Tier Client-Server Architecture ...
Communication between client and server via interprocess communication (IPC) or over network
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
reduced communication costs
- only selected data is transferred
reduced hardware costs
- only server has to run a DBMS
increased consistency/security through separation of concerns
- constraint checking in a single place (server)
14
Two-Tier Client-Server Architecture ...
Advantages ...
wider access to existing databases maps well to open system architectures limitations in terms of enterprise scalability with thousands of potential clients
- significant client-side administration overhead
e.g. expensive deployment of new busines and data application logic
Disadvantages
- thick client requires a considerable amount of resources (CPU, RAM, ...) for running applications efficiently
15
Three-Tier Client-Server Architecture
LAN or WAN
Client 1
data request selected data
Application Server
Database Database Server
Client 2
Client n
In the 1990s, the three-tier client-server architecture was
introduced to address the enterprise scalability problem
e.g. driven by emerging web applications
Application consists of a presentation tier (client), a
logic tier (application server) and a data tier (database server) that might run on different platforms
16
Three-Tier Client-Server Architecture ...
Presentation tier (first tier) tasks
presentation of data (user interface) basic input validation (thin client) send requests to the server and visualise results business logic data processing logic basic data validation manage (concurrent) database access (data services)
- authorisation, integrity checks, query/update processing, recovery control, ...
Logic tier (second tier) tasks
Data tier (third tier) tasks
17
Three-Tier Client-Server Architecture ...
Advantages
reduced costs for thin clients due to lower resource requirements (CPU, RAM, ...)
- e.g. applications running in a web browser
application logic is centralised in a single application server
- reduces the software distribution problem (updates) that is present in two-tier client-server architectures
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
Web Information Systems (WIS)
HTTP Request
Internet
HTTP Response
Database Application Server DB Server
Client
The tree-tier architecture maps very naturally to Web
environments
browser as a thin client, application server (web server) and database server
The move towards thin browser clients has dramatically
reduced the costs for software deployment
19
N-Tier Architecture
HTTP Request
Internet
HTTP Response
Database Web Server Application Server DB Server
Client
HTML Pages
The three-tier architecture can be extended with
additional intermediary tiers for increased flexibility
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 2 Site 2 Site n
Database 3
Systems exchanging information and services in a peerto-peer-like manner without a central authority
no global schema and need for schema integration (matching) no dedicated clients and servers sites may dynamically form new client/server relationships
21
Data and service sharing
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
There exist different types of middleware
asynchronous publish/subscribe
- subscribe for different types of messages
SQL-oriented data access
- open database connectivity (ODBC)
...
22
Parallel Database Architectures
Processor Memory Memory Processor Memory Processor
Processor Processor Memory Disk Processor
Memory
Disk Disk
Processor
Memory Disk
Processor
Disk Disk
shared memory
shared disk
shared nothing
Parallel machines (multiple processors) can be used to
speed up the transaction processing
Different models for parallel database architectures
shared memory, shared disk, shared nothing and hierarchical
25
Distributed DBMS (DDBMS)
Database Site 1
LAN or WAN
Site 3
Database Site 2 Site n
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
28
Distributed DBMS
Distributed DBMS (DDBMS) ...
Distinction between local and global transactions
local transaction
- accesses only data from the site from which the transaction was initiated
global transaction
- accesses data from several different sites
Reasons for building a distributed DBMS
data sharing
- possibility to access data that resides at other sides
autonomity
- 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
Distributed DBMS (DDBMS) ...
Reasons for building a distributed DBMS ...
costs and scalability
- use cluster of PCs instead of large mainframe systems
integration of existing DBMS
- coexistence of legacy systems with new applications
dynamic organisational structure
- mergers and acquisitions
Implementation issues
transactions have to be executed atomically accross different sites (two-phase commit protocol)
- commit decission is left to a single coordinator
distributed concurrency control
- deadlock detection has to be carried out accros multiple sites
30
Service-Oriented Architectures (SOA)
Architecture that modularises functionality as
interoperable services
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.
31
Service-oriented database architecture (SODA)
Software as a service (SaaS)
Service-Oriented Architectures (SOA) ...
Share business logic, data and processes via web
service APIs
Big Web Services
- Universal Description, Discovery and Integration (UDDI) - Web Services Description Language (WSDL) - Simple Object Access Protocol (SOAP)
RESTful Web Services
Web services are based on established technologies
such as the Extensible Markup Language (XML)
Special service orchestration languages for the use of
services
e.g. Business Process Execution Language (BPEL)
32
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
33
Cloud Computing ...
Cloud services
infrastructure as a service (IaaS)
- OS virtualisation - e.g. Amazon EC2, Rackspace, ...
platform as a service (PaaS)
- provide platform to run applications - e.g. Google App Engine, Windows Azure Platform, ...
software as a service (SaaS)
- provide software as a service over the Internet - e.g. Google Docs, ...
Cloud service vendor gets some degree of control
34
Cloud Computing ...
New challenges for database management
in cloud computing
cloud database server might be less reliable
- might become difficult to guarantee a specific quality of service (QoS) for an application realised in the cloud
backup, replication, ... store data in the cloud or on servers on the Internet examples
- QuickBase, [Link] - Blist, [Link] - ...
Online or web-based databases
35
Cloud Data Service Example
Amazon Simple Storage Service (Amazon S3)
online storage service with unlimited storage space store objects (up to 5 GB in size) in buckets Web Service API distributed database written in Erlang offers a Web Service API makes uses of S3 and EC2 on demand scaling non-relational data store
- schemaless - hashtables with set of key value pairs
Amazon SimpleDB
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, [Link]
New requirements for mobile DBMSs
location-dependent queries context-aware queries
37
Mobile DBMS ...
New requirements for mobile DBMSs ...
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)
security
- which portion of a database can/should be replicated on a mobile device?
...
38