0% found this document useful (0 votes)
289 views

Database Architectures

This document discusses various database management system (DBMS) architectures. It begins by describing traditional teleprocessing architectures that used mainframe computers and dumb terminals. It then covers client-server architectures like file-server, two-tier, and three-tier architectures. Other architectures discussed include peer-to-peer, n-tier, parallel, and distributed DBMS architectures. The document also discusses middleware, distributed transactions, and service-oriented architectures.

Uploaded by

worm123_123
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
289 views

Database Architectures

This document discusses various database management system (DBMS) architectures. It begins by describing traditional teleprocessing architectures that used mainframe computers and dumb terminals. It then covers client-server architectures like file-server, two-tier, and three-tier architectures. Other architectures discussed include peer-to-peer, n-tier, parallel, and distributed DBMS architectures. The document also discusses middleware, distributed transactions, and service-oriented architectures.

Uploaded by

worm123_123
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 29

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 Order.customerID = Customer.customerID 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, quickbase.intuit.com - Blist, www.blist.com - ...

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, http://www.db4o.com

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

You might also like