Database Design, Application Development, and Administration, 5 th Edition Copyright © 2011 by Michael V. Mannino. All rights reserved. Chapter 18 Client-Server.

Slides:



Advertisements
Similar presentations
Distributed Data Processing
Advertisements

Distributed Processing, Client/Server and Clusters
ICS 434 Advanced Database Systems
Database System Concepts and Architecture
Database Architectures and the Web
Distributed databases
Chapter 3 Database Architectures and the Web Pearson Education © 2009.
MIS 385/MBA 664 Systems Implementation with DBMS/ Database Management Dave Salisbury ( )
Chapter 13 (Web): Distributed Databases
8.
Distributed components
Technical Architectures
Distributed Database Management Systems
Overview Distributed vs. decentralized Why distributed databases
12 Chapter 12 Client/Server Systems Hachim Haddouti.
Chapter 12 Distributed Database Management Systems
McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 17 Client-Server Processing, Parallel Database Processing,
Chapter 9: The Client/Server Database Environment
Definition of terms Definition of terms Explain business conditions driving distributed databases Explain business conditions driving distributed databases.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Overview of Database Languages and Architectures.
Database System Architectures  Client-server Database System  Parallel Database System  Distributed Database System Wei Jiang.
1 © Prentice Hall, 2002 The Client/Server Database Environment.
DATABASE MANAGEMENT SYSTEMS 2 ANGELITO I. CUNANAN JR.
Lecture The Client/Server Database Environment
Client-Server Processing and Distributed Databases
The Client/Server Database Environment
Introduction to Databases Transparencies 1. ©Pearson Education 2009 Objectives Common uses of database systems. Meaning of the term database. Meaning.
Chapter 3 Database Architectures and the Web Pearson Education © 2009.
A Brief Overview by Aditya Dutt March 18 th ’ Aditya Inc.
Database Architectures and the Web
PMIT-6102 Advanced Database Systems
1 Distributed and Parallel Databases. 2 Distributed Databases Distributed Systems goal: –to offer local DB autonomy at geographically distributed locations.
Database System Concepts and Architecture Lecture # 3 22 June 2012 National University of Computer and Emerging Sciences.
1 Chapter 3 Database Architecture and the Web Pearson Education © 2009.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Database Architectures and the Web Session 5
Database Design – Lecture 16
9/5/2012ISC329 Isabelle Bichindaritz1 Web Database Environment.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
10 1 Chapter 10 Distributed Database Management Systems Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel.
Database Systems: Design, Implementation, and Management Tenth Edition Chapter 12 Distributed Database Management Systems.
Database Systems: Design, Implementation, and Management Ninth Edition Chapter 12 Distributed Database Management Systems.
Week 5 Lecture Distributed Database Management Systems Samuel ConnSamuel Conn, Asst Professor Suggestions for using the Lecture Slides.
The Client/Server Database Environment Ployphan Sornsuwit KPRU Ref.
Personal Computer - Stand- Alone Database  Database (or files) reside on a PC - on the hard disk.  Applications run on the same PC and directly access.
Database Architectures Database System Architectures Considerations – Data storage: Where do the data and DBMS reside? – Processing: Where.
10 1 Chapter 10 Distributed Database Management Systems Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Kjell Orsborn UU - DIS - UDBL DATABASE SYSTEMS - 10p Course No. 2AD235 Spring 2002 A second course on development of database systems Kjell.
Distributed Databases
Databases Illuminated
INTRODUCTION TO DBS Database: a collection of data describing the activities of one or more related organizations DBMS: software designed to assist in.
Distributed database system
Coupling Facility. The S/390 Coupling Facility (CF), the key component of the Parallel Sysplex cluster, enables multisystem coordination and datasharing.
Chapter 1 Database Access from Client Applications.
1 TCS Confidential. 2 Objective : In this session we will be able to learn:  What is Cloud Computing?  Characteristics  Cloud Flavors  Cloud Deployment.
IT 5433 LM1. Learning Objectives Understand key terms in database Explain file processing systems List parts of a database environment Explain types of.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
Distributed Databases
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Lecture 9: The Client/Server Database Environment Modern Database Management 9 th Edition.
Business System Development
Database Architectures and the Web
The Client/Server Database Environment
The Client/Server Database Environment
Database Architectures and the Web
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Chapter 17: Database System Architectures
Introduction to Databases Transparencies
Distributed Databases
Database System Architectures
Presentation transcript:

Database Design, Application Development, and Administration, 5 th Edition Copyright © 2011 by Michael V. Mannino. All rights reserved. Chapter 18 Client-Server Processing, Parallel Database Processing, and Distributed Databases

Slide 2 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Outline  Overview  Client-Server Database Architectures  Parallel Database Architectures  Architectures for Distributed Database Management Systems  Transparency for Distributed Database Processing  Distributed Database Processing

Slide 3 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Evolution of Distributed Processing and Distributed Data  Need to share resources across a network  Timesharing (1970s)  Remote procedure calls (1980s)  Client-server computing (1990s)

Slide 4 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Timesharing Network

Slide 5 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Simple Resource Sharing

Slide 6 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Client-Server Processing

Slide 7 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Distributed processing and data

Slide 8 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Motivation for Client-Server Processing  Flexibility: the ease of maintaining and adapting a system  Scalability: the ability to support scalable growth of hardware and software capacity  Interoperability: open standards that allow two or more systems to exchange and use software and data

Slide 9 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Motivation for Parallel Database Processing  Scaleup: increased work that can be accomplished  Speedup: decrease in time to complete a task  Availability: increased accessibility of system  Highly available: little downtime  Fault-tolerant: no downtime

Slide 10 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Motivation for Distributed Data  Data control: locate data to match an organization’s structure  Communication costs: locate data close to data usage to lower communication cost and improve performance  Reliability: increase data availability by replicating data at more than one site

Slide 11 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Cloud Computing

Slide 12 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Motivation for Cloud Computing  Reduced fixed costs: no licensing fees and hosting requirements  Dynamic resource allocation  Economies of scale  Possible loss of control  Restrictions on environments

Slide 13 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Summary of Distributed Processing and Data TechnologyAdvantagesDisadvantages Client-server processing Flexibility, interoperability, scalabilityHigh complexity, high development cost, possible interoperability problems Parallel database processing Speedup, scaleup, availability, scalability for predictive performance improvements Possible interoperability problems, high cost Distributed databases Local control of data, improved performance, reduced communication costs, increased reliability High complexity, additional security concerns Cloud computing No initial licensing costs, no hosting, dynamic scalability, high availability, economies of scale, specialization Possible performance reductions and loss of control and flexibility through reliance on external organizations

Slide 14 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Client-Server Database Architectures  Arrangement of components (clients and servers) among computers connected by a network  Supports efficient processing of messages (requests for service) between clients and servers.

Slide 15 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Design Issues  Division of processing: the allocation of tasks to clients and servers  Process management: interoperability among clients and servers and efficiently processing messages between clients and servers Middleware: software for process management

Slide 16 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Division of Processing  Presentation: code to maintain the graphical user interface  Validation: code to ensure the consistency of the database and user inputs  Business logic: code to perform business functions  Workflow: code to ensure completion of business processes  Data access: code to extract data to answer queries and modify a database

Slide 17 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Middleware  A software component that performs process management  Allow clients and servers to exist on different platforms  Allows servers to efficiently process messages from a large number of clients  Often located on a dedicated computer

Slide 18 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Client-Server Computing with Middleware

Slide 19 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Types of Middleware  Transaction-processing monitors: relieve the operating system of managing database processes  Message-oriented middleware: maintain a queue of messages  Object-request brokers: provide a high level of interoperability and message intelligence  Data access middleware: provide a uniform interface to relational and non relational data using SQL

Slide 20 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Two-Tier Architecture

Slide 21 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Two-Tier Architecture  A PC client and a database server interact directly to request and transfer data.  The PC client contains the user interface code.  The server contains the data access logic.  The PC client and the server share the validation and business logic.

Slide 22 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Three-Tier Architecture (Middleware Server)

Slide 23 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Three-Tier Architecture (Application Server)

Slide 24 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Three-Tier Architecture  To improve performance, the three-tier architecture adds another server layer either by a middleware server or an application server. The additional server software can reside on a separate computer. Alternatively, the additional server software can be distributed between the database server and PC clients.

Slide 25 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Multiple-Tier Architecture  A client-server architecture with more than three layers: a PC client, a backend database server, an intervening middleware server, and application servers.  Provides more flexibility on division of processing  The application servers perform business logic and manage specialized kinds of data such as images.

Slide 26 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Multiple-Tier Architecture

Slide 27 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Multiple-Tier Architecture with Web Server

Slide 28 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Web Service Architecture  Generalize multiple-tier architectures for electronic business commerce  Supports services provided/used by automated agents  Advantages  Deploy services faster  Communicate services in standard formats  Find services easier

Slide 29 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Web Service Components

Slide 30 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Web Service Standards  HTTP, FTP, TCP-IP  Simple Object Access Protocol: XML message processing  Web Service Description Language (WSDL)  Universal Description, Discovery Integration  Web Services Flow Language

Slide 31 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Cloud Computing Architectures  Convenient, on-demand network access to a shared pool of configurable computing resources  Rapidly provisioned  Minimal management effort or service provider interaction  Support a variety of service and deployment models

Slide 32 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Cloud Service Models

Slide 33 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Service Model Details  Infrastructure as a Service (IaaS)  Hardware and software infrastructure  User organization development environments  Platform as a Service (PaaS)  Standard development environments provided  Infrastructure provided  Software as a Service (SaaS)  Standardized services  No hosting or monitoring needed

Slide 34 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Cloud Deployment Models

Slide 35 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Deployment Model Details  Public cloud: open to any organization  Private cloud: resource sharing among parts of an organization  Community cloud: resource sharing among cooperating organizations  Hybrid cloud: combines private cloud with a public or community cloud

Slide 36 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Database Products in a Cloud  Specialized database service  Amazon SimpleDB  Simplified domain model  Full relational DBMS products  Specialized licensing and administrative services  Amazon RDS, IBM DB2, Oracle, and others  Microsoft SQL Server Azure in Windows Azure cloud

Slide 37 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Parallel DBMS  Uses a collection of resources (processors, disks, and memory) to perform work in parallel  Divide work among resources to achieve desired performance (scaleup and speedup) and availability.  Uses high speed network, operating system, and storage system  Purchase decision involves more than parallel DBMS

Slide 38 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Basic Architectures

Slide 39 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Clustering Architectures

Slide 40 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Design Issues  Load balancing: CN architecture most sensitive  Cache coherence: CD architecture problem  Interprocessor communication: CN architecture most sensitive  Application transparency: no knowledge about parallelism

Slide 41 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Oracle Real Application Clusters

Slide 42 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Oracle RAC Features  Cache fusion to synchronize cache access  Query optimizer intelligence  Connection load balancing  Automatic failover  Comprehensive administration interface

Slide 43 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases IBM DB2 SPF

Slide 44 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases IBM SPF Features  Automatic or DBA determined partitioning  Query optimizer intelligence  High scalability  Partitioned log parallelism

Slide 45 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Distributed Database Management  Transparency  Oracle Distributed Databases  Distributed Database Processing

Slide 46 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Distributed Database Architectures  DBMSs need fundamental extensions.  Underlying the extensions are a different component architecture and a different schema architecture.  Component Architecture manages distributed database requests.  Schema Architecture provides additional layers of data description.

Slide 47 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Global Requests

Slide 48 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Component Architecture

Slide 49 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Schema Architecture I

Slide 50 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Schema Architecture II

Slide 51 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Distributed Database Transparency  Transparency is related to data independence.  With transparency, users can write queries with no knowledge of the distribution, and distribution changes will not cause changes to existing queries and transactions.  Without transparency, users must reference some distribution details in queries and distribution changes can lead to changes in existing queries.

Slide 52 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Motivating Example

Slide 53 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Fragments Based on the CustRegion Column

Slide 54 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Fragments Based on the WareHouseNo Column

Slide 55 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Fragmentation Transparency  Fragmentation transparency provides the highest level of data independence.  Users formulate queries and transactions without knowledge of fragments (locations, or local formats).  If fragments change, queries and transactions are not affected.

Slide 56 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Location Transparency  Location transparency provides a lesser level of data independence than fragmentation transparency.  Users need to reference fragments in formulating queries and transactions.  However, knowledge of locations and local formats is not necessary.

Slide 57 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Local Mapping Transparency  Local mapping transparency provides a lesser level of data independence than location transparency.  Users need to reference fragments at sites in formulating queries and transactions.  However, knowledge of local formats is not necessary.

Slide 58 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Oracle Distributed Databases  Homogeneous and heterogeneous distributed databases  Emphasis on site autonomy  Provides local mapping transparency  Each site is a separately managed database.

Slide 59 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Oracle Links  One way link from local to remote  Support remote access to other users’ objects  Necessary to have knowledge of remote database objects  Use synonyms and views with links to reduce remote database knowledge

Slide 60 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Database Names

Slide 61 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Oracle Link Types  Reference to a remote database  Private  Link in a specific schema of the local database  Available to link owner only  Most secure but limited connection  Public  Database-wide link  Available to all users of a database  Global  Network-wide link  Available to users and procedures in any database

Slide 62 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Link Users  Connected user  Local user  Must have account in both databases  Current user  Global user  Account in both databases  Fixed user  Specified in link creation statement  User in remote database

Slide 63 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Link Examples CREATE DATABASE LINK sales.us.americas.acme_auto.com CREATE DATABASE LINK sales.us.americas.acme_auto.com CONNECT TO CURRENT USER CREATE PUBLIC DATABASE LINK sales.us.americas.acme_auto.com CONNECT TO scott IDENTIFIED BY tiger

Slide 64 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Using Oracle Links  Object naming approach: SELECT e.empno, e.ename, d.dname FROM e, d WHERE e.deptno = d.deptno; INSERT INTO SELECT * FROM admin.emp;

Slide 65 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Creating and Using Synonyms CREATE PUBLIC SYNONYM AcmeSalesEmp FOR CREATE PUBLIC SYNONYM AcmeHQDept FOR SELECT e.empno, e.ename, d.dname FROM AcmeSalesEmp e, AcmeHQDept d WHERE e.deptno = d.deptno INSERT INTO AcmeSalesEmp SELECT * FROM admin.emp

Slide 66 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Oracle Partitioning Technology  Hybrid approach combining parallel and distributed database technology  Supports improved performance for large tables with high availability requirements  Provides fragmentation transparency  Variety of partitioning options

Slide 67 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Oracle Partitioning Options  Range: consecutive ranges  List: enumeration of unordered values  Hash: function to spread values into groups  Interval: equal width ranges  REF: parent-child partitioning  Composite: combine range, list, and hash  Virtual column: calculated column

Slide 68 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Distributed Database Processing  Distributed data adds considerable complexity to query processing and transaction processing.  Distributed database processing involves movement of data, remote processing, and site coordination.  Performance implications sometimes cannot be hidden.

Slide 69 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Distributed Query Processing  Involves both local (intra site) and global (inter site) optimization.  Multiple optimization objectives  The weighting of communication costs versus local processing costs depends on network characteristics.  There are many more possible access plans for a distributed query.

Slide 70 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Distributed Transaction Processing  Distributed DBMS provides concurrency and recovery transparency.  Independently operating sites must be coordinated.  New kinds of failures exist because of the communication network.  New protocols are necessary.

Slide 71 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Distributed Concurrency Control  The simplest scheme involves centralized coordination.  Centralized coordination involves the fewest messages and the simplest deadlock detection.  The number of messages can be twice as much in distributed coordination.  Primary Copy Protocol is used to reduce overhead with locking multiple copies.

Slide 72 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Centralized Coordination

Slide 73 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Distributed Recovery Management  Distributed DBMSs must contend with failures of communication links and sites.  Detecting failures involves coordination among sites.  The recovery manager must ensure that different parts of a partitioned network act in unison.  The protocol for distributed recovery is the two phase commit protocol (2PC).

Slide 74 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Voting and Decision Phases

Slide 75 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Summary  Utilizing distributed processing and data can significantly improve DBMS services but at the cost of new design challenges.  Client-server architectures provide alternatives among cost, complexity, and benefit levels.  Parallel database processing provides improved performance (speedup and scaleup) and availability.  Cloud services promise reduced fixed costs and flexible deployment.  Architectures for distributed DBMSs differ in the integration of the local databases and level of data independence.