Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Database Design, Application Development, and Administration, 5 th Edition Copyright © 2011 by Michael V. Mannino. All rights reserved. Chapter 18 Client-Server."— Presentation transcript:

1 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

2 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

3 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)

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

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

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

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

8 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

9 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

10 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

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

12 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

13 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

14 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.

15 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

16 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

17 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

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

19 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

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

21 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.

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

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

24 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.

25 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.

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

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

28 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

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

30 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

31 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

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

33 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

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

35 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

36 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

37 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

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

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

40 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

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

42 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

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

44 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

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

46 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.

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

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

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

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

51 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.

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

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

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

55 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.

56 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.

57 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.

58 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.

59 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

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

61 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

62 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

63 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

64 Slide 64 Chapter 18: Client-Server Processing, Parallel Database Processing, and Distributed Databases Using Oracle Links  Object naming approach: schema.schema_object@global_database_name SELECT e.empno, e.ename, d.dname FROM admin.emp@sales.division3.acme.com e, admin.dept@hq.acme.com d WHERE e.deptno = d.deptno; INSERT INTO admin.emp@sales.division3.acme.com SELECT * FROM admin.emp;

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

66 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

67 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

68 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.

69 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.

70 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.

71 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.

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

73 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).

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

75 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.


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

Similar presentations


Ads by Google