DBMS Architectures and Features - Lecture 7 - Introduction to Databases (1007156ANR)
Upcoming SlideShare
Loading in...5
×
 

DBMS Architectures and Features - Lecture 7 - Introduction to Databases (1007156ANR)

on

  • 22,267 views

This lecture is part of an Introduction to Databases course given at the Vrije Universiteit Brussel.

This lecture is part of an Introduction to Databases course given at the Vrije Universiteit Brussel.

Statistics

Views

Total Views
22,267
Views on SlideShare
21,814
Embed Views
453

Actions

Likes
4
Downloads
733
Comments
0

8 Embeds 453

http://www.ustudy.in 372
http://www.slideshare.net 50
http://ustudy.in 15
http://wise.vub.ac.be 9
http://www.inf.ethz.ch 4
file:// 1
https://training.blackboard.com 1
https://www.google.co.in 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

DBMS Architectures and Features - Lecture 7 - Introduction to Databases (1007156ANR) DBMS Architectures and Features - Lecture 7 - Introduction to Databases (1007156ANR) Presentation Transcript

  • 2 December 2005 Introduction to Databases DBMS Architectures and Features Prof. Beat Signer Department of Computer Science Vrije Universiteit Brussel http://www.beatsigner.com
  • Beat Signer - Department of Computer Science - bsigner@vub.ac.be 2March 27, 2014 DBMS Components Access Methods System Buffers Authorisation Control Integrity Checker Command Processor Program Object Code DDL Compiler File Manager Buffer Manager Recovery Manager Scheduler Query Optimiser Transaction Manager Query Compiler Queries Catalogue Manager DML Preprocessor Database Schema Application Programs Database Manager Data Manager DBMS Programmers Users DB Admins Based on 'Components of a DBMS', Database Systems, T. Connolly and C. Begg, Addison-Wesley 2010 Data, Indices and System Catalogue
  • Beat Signer - Department of Computer Science - bsigner@vub.ac.be 3March 27, 2014 DBMS Components ...  DML preprocessor  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 (catalogue manager)
  • Beat Signer - Department of Computer Science - bsigner@vub.ac.be 4March 27, 2014 DBMS Components ...  Catalogue manager  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 - ...
  • Beat Signer - Department of Computer Science - bsigner@vub.ac.be 5March 27, 2014 Database Manager Components  Authorisation control  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  Integrity checker  ensures that the operation is not going to violate any integrity constraints (e.g. key constraints)  Query optimiser  computes an optimal query execution strategy  transforms the initial query plan into the best available sequence of operations on the given data
  • Beat Signer - Department of Computer Science - bsigner@vub.ac.be 6March 27, 2014 Database Manager Components ...  Transaction manager  processes any transaction-specific operations  Scheduler  manages the relative order in which transaction operations are executed  Recovery manager  deals with commits and aborts of transactions  ensures that the database remains in a consistent state in case of failures  Buffer manager  transfers data between main memory and secondary storage
  • Beat Signer - Department of Computer Science - bsigner@vub.ac.be 7March 27, 2014 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  ...
  • Beat Signer - Department of Computer Science - bsigner@vub.ac.be 8March 27, 2014 Teleprocessing  Traditional multi-user system architecture  single mainframe and multiple (dumb) terminals  Heavy load on the central mainframe  runs application programs and DBMS  formats data for presentation on terminals Mainframe Terminal 1 Terminal 2 Terminal 3 Terminal n
  • Beat Signer - Department of Computer Science - bsigner@vub.ac.be 9March 27, 2014 Teleprocessing ...  Tendency to replace mainframes with network of personal computers (downsizing)  file-server architectures  client-server architectures  ...
  • Beat Signer - Department of Computer Science - bsigner@vub.ac.be 10March 27, 2014 File-Server Architecture  A file-server is a computer that is connected to a network and mainly serves as a shared storage  e.g. for realising shared access to a database  In a file-server architecture the processing is distributed over the network  workstations (application and DBMS) request data (files) Workstation 2 (DBMS) Workstation n (DBMS) Workstation 1 (DBMS) File-Server Database data request file LAN or WAN
  • Beat Signer - Department of Computer Science - bsigner@vub.ac.be 11March 27, 2014 File-Server Architecture ...  SQL Request Example  Since the file-server is not SQL-aware, the Customer and Order relations (files) have to be transferred to the client  Disadvantages  heavy network traffic  high total costs of ownership (TCO) - maintain a full instance of the DBMS on each client (workstation)  complex integrity, concurrency and recovery control - multiple DBMSs may concurrently access the same shared file SELECT name, street FROM Customer, Order WHERE Order.customerID = Customer.customerID AND name = 'Max Frisch';
  • Beat Signer - Department of Computer Science - bsigner@vub.ac.be 12March 27, 2014 Two-Tier Client-Server Architecture  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 LAN or WAN Client 2 Client n Client 1 Server (DBMS) Database data request selected data
  • Beat Signer - Department of Computer Science - bsigner@vub.ac.be 13March 27, 2014 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 the results  Server (second tier) tasks  manage (concurrent) database access (data services) - authorisation, integrity checks, query/update processing, recovery control, ...  business logic (e.g. validation of data)  Different possible client-server topologies  single client and single server  multiple clients and single server  multiple clients and multiple servers
  • Beat Signer - Department of Computer Science - bsigner@vub.ac.be 14March 27, 2014 Two-Tier Client-Server Architecture ...  Communication between client and server via inter- process communication (IPC) or over network  special protocols such as ODBC (JDBC) introduced earlier in the course when discussing the Call Level Interface (CLI)  Advantages  increased performance - certain tasks performed in parallel and server can be tuned for DB processing  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)
  • Beat Signer - Department of Computer Science - bsigner@vub.ac.be 15March 27, 2014 Two-Tier Client-Server Architecture ...  Disadvantages  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 - thick client requires a considerable amount of resources (CPU, RAM, ...) to run applications efficiently
  • Beat Signer - Department of Computer Science - bsigner@vub.ac.be 16March 27, 2014 Three-Tier Client-Server Architecture  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 LAN or WAN Client 1 Database Server Database data request selected data Client 2 Client n Application Server
  • Beat Signer - Department of Computer Science - bsigner@vub.ac.be 17March 27, 2014 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  Logic tier (second tier / middle tier) tasks  business logic  data processing logic  Data tier (third tier) tasks  basic data validation  manage (concurrent) database access (data services) - authorisation, integrity checks, query/update processing, recovery control, ...
  • Beat Signer - Department of Computer Science - bsigner@vub.ac.be 18March 27, 2014 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
  • Beat Signer - Department of Computer Science - bsigner@vub.ac.be 19March 27, 2014 Web Information Systems (WIS)  The tree-tier architecture maps very naturally to web environments  browser as a thin client, application server and database server  The move towards thin browser clients has dramatically reduced the costs for software deployment Internet HTTP Request HTTP Response Client Application Server DB Server Database
  • Beat Signer - Department of Computer Science - bsigner@vub.ac.be 20March 27, 2014 N-Tier Architecture  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 Internet HTTP Request HTTP Response Client Application Server HTML Pages Web Server DB Server Database
  • Beat Signer - Department of Computer Science - bsigner@vub.ac.be 21March 27, 2014 Peer-to-Peer Architecture  Systems exchanging information and services in a peer- to-peer-like manner without a central authority  no global schema  need for schema integration (matching)  Data and service sharing  no dedicated clients and servers  sites may dynamically form new client/server relationships LAN or WAN Site 3 Site n Database 3 Site 2 Database 2 Site 1 Database 1 Database n
  • Beat Signer - Department of Computer Science - bsigner@vub.ac.be 22March 27, 2014 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  There exist different types of middleware  remote procedure call (RPC) - Java RMI - CORBA - XML RPC  asynchronous publish/subscribe - subscribe for different types of messages  SQL-oriented data access - open database connectivity (ODBC), JDBC, ...  ...
  • Beat Signer - Department of Computer Science - bsigner@vub.ac.be 23March 27, 2014 Transaction Processing Monitor  Complex applications can be built on top of several resource managers  e.g. multiple DBMSs, operating systems, ...  A Transaction Processing Monitor (TP Monitor) is a middleware component that provides uniform access to the services of a number of resource managers DB Server 1 Database 1 DB Server n Database n TP Monitor Service 1 Service r . . . Client 1 Client m Application Server
  • Beat Signer - Department of Computer Science - bsigner@vub.ac.be 24March 27, 2014 Transaction Processing Monitor ...  A TP Monitor offers a number of advantages  transaction routing - increase scalability by directing transactions to specific DBMSs  distributed transaction management - manage transactions that require access to multiple heterogeneous DBMSs - e.g. based on XA standard for distributed transaction processing  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
  • Beat Signer - Department of Computer Science - bsigner@vub.ac.be 25March 27, 2014 Parallel Database Architectures  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 Processor Memory Processor Processor Disk Disk shared memory Processor Processor Processor Disk Disk shared disk Memory Memory Memory Processor Disk shared nothing Memory Processor Disk Memory
  • Beat Signer - Department of Computer Science - bsigner@vub.ac.be 26March 27, 2014 Parallel Database Architectures ...  Shared memory  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
  • Beat Signer - Department of Computer Science - bsigner@vub.ac.be 27March 27, 2014 Parallel Database Architectures ...  Shared nothing  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"
  • Beat Signer - Department of Computer Science - bsigner@vub.ac.be 28March 27, 2014 Distributed DBMS (DDBMS)  Distributed database  logically related collection of shared data and metadata that is distributed over a network  Distributed DBMS  software system to manage the distributed database in a transparent way LAN or WAN Site 3 Site n Database Site 2 Database Site 1 Database Database
  • Beat Signer - Department of Computer Science - bsigner@vub.ac.be 29March 27, 2014 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  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
  • Beat Signer - Department of Computer Science - bsigner@vub.ac.be 30March 27, 2014 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 across multiple sites
  • Beat Signer - Department of Computer Science - bsigner@vub.ac.be 31March 27, 2014 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  Service-oriented database architecture (SODA)  e.g. single SQL Server processes acting as service providers  Software as a service (SaaS)  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 32March 27, 2014 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)
  • Beat Signer - Department of Computer Science - bsigner@vub.ac.be 33March 27, 2014 Cloud Computing  Internet-based computing with on-demand and pay-per- use 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 The Cloud Google Microsoft Amazon Yahoo Client 1 Client 2 Client 3 Client n
  • Beat Signer - Department of Computer Science - bsigner@vub.ac.be 34March 27, 2014 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
  • Beat Signer - Department of Computer Science - bsigner@vub.ac.be 35March 27, 2014 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, ...  Online or web-based databases  store data in the cloud or on servers on the Internet  examples - QuickBase, quickbase.intuit.com - Blist, www.blist.com - ...
  • Beat Signer - Department of Computer Science - bsigner@vub.ac.be 36March 27, 2014 Cloud Data Service Example  Amazon Simple Storage Service (Amazon S3)  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
  • Beat Signer - Department of Computer Science - bsigner@vub.ac.be 37March 27, 2014 Mobile DBMS  Users want access to information on the move via mobile devices  tourist information systems  salesperson who is visiting their customers  emergency services  ...  New requirements for mobile DBMSs  small footprint databases that can run on mobile devices with limited resources - e.g. db4objects, http://www.db4o.com  location-dependent queries  context-aware queries
  • Beat Signer - Department of Computer Science - bsigner@vub.ac.be 38March 27, 2014 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?  ...
  • Beat Signer - Department of Computer Science - bsigner@vub.ac.be 39March 27, 2014 Homework  Study the following chapter of the Database System Concepts book  chapter 17 - sections 17.1-17.6 - Database-System Architectures
  • Beat Signer - Department of Computer Science - bsigner@vub.ac.be 40March 27, 2014 Exercise 7  Structured Query Language (SQL) 
  • Beat Signer - Department of Computer Science - bsigner@vub.ac.be 41March 27, 2014 References  A. Silberschatz, H. Korth and S. Sudarshan, Database System Concepts (Sixth Edition), McGraw-Hill, 2010  T. Connolly and C. Begg, Database Systems: A Practical Approach to Design, Implementation and Management (Fifth Edition), Addison-Wesley, 2010
  • 2 December 2005 Next Lecture Storage Management