Cơ sở dữ liệu - Chapter 17: Client - Server processing, parallel database processing, and distributed databases

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

ppt58 trang | Chia sẻ: huyhoang44 | Lượt xem: 652 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Cơ sở dữ liệu - Chapter 17: Client - Server processing, parallel database processing, and distributed databases, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chapter 17Client-Server Processing, Parallel Database Processing, and Distributed Databases OutlineOverviewClient-Server Database Architectures Parallel Database Architectures Architectures for Distributed Database Management Systems Transparency for Distributed Database Processing Distributed Database Processing Evolution of Distributed Processing and Distributed Data Need to share resources across a networkTimesharing (1970s)Remote procedure calls (1980s)Client-server computing (1990s) Timesharing Network Simple Resource Sharing Client-Server Processing Distributed processing and data Motivation for Client-Server Processing Flexibility: the ease of maintaining and adapting a systemScalability: 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 Motivation for Parallel Database Processing Scaleup: increased work that can be accomplishedSpeedup: decrease in time to complete a task Availability: increased accessibility of systemHighly available: little downtimeFault-tolerant: no downtimeMotivation 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 performanceReliability: increase data availability by replicating data at more than one siteSummary of Distributed Processing and Data Client-Server Database Architectures Client-Server Architecture is an arrangement of components (clients and servers) among computers connected by a network. A client-server architecture supports efficient processing of messages (requests for service) between clients and servers.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 managementTasks to Distribute Presentation: code to maintain the graphical user interfaceValidation: code to ensure the consistency of the database and user inputs Business logic: code to perform business functionsWorkflow: code to ensure completion of business processesData access: code to extract data to answer queries and modify a database 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. Client-Server Computing with Middleware Types of MiddlewareTransaction-processing monitors: relieve the operating system of managing database processesMessage-oriented middleware: maintain a queue of messages Object-request brokers: provide a high level of interoperability and message intelligenceData access middleware: provide a uniform interface to relational and non relational data using SQL Two-Tier Architecture 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. Three-Tier Architecture (Middleware Server) Three-Tier Architecture (Application Server) 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. 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 processingThe application servers perform business logic and manage specialized kinds of data such as images. Multiple-Tier Architecture Multiple-Tier Architecture with Web ServerWeb Service Architecture Generalize multiple-tier architectures for electronic business commerce Supports services provided/used by automated agentsAdvantagesDeploy services fasterCommunicate services in standard formatsFind services easierWeb Service Components Web Service Standards HTTP, FTP, TCP-IPSimple Object Access Protocol: XML message sendingWeb Service Description Language (WSDL) Universal Description, Discovery IntegrationWeb Services Flow Language Parallel DBMS Uses a collection of resources (processors, disks, and memory) to perform work in parallelDivide work among resources to achieve desired performance (scaleup and speedup) and availability.Uses high speed network, operating system, and storage systemPurchase decision involves more than parallel DBMS Basic Architectures Clustering Architectures Design Issues Load balancing: CN architecture most sensitiveCache coherence: CD architecture problemInterprocessor communication: CN architecture most sensitiveApplication transparency: no knowledge about parallelism Oracle Real Application ClustersOracle RAC Features Cache fusion to synchronize cache accessQuery optimizer intelligenceConnection load balancingAutomatic failoverComprehensive administration interface IBM DB2 SPF IBM SPF Features Automatic or DBA determined partitioningQuery optimizer intelligenceHigh scalabilityPartitioned log parallelism 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. Global Requests Component Architecture Schema Architecture I Schema Architecture II 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. Motivating Example Fragments Based on the CustRegion Column Fragments Based on the WareHouseNo ColumnFragmentation 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.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. 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. Oracle Distributed DatabasesHomogeneous and heterogeneous distributed databases Emphasis on site autonomyProvides local mapping transparencyEach site is a separately managed database. Oracle LinksOne way link from local to remote Support remote access to other users’ objectsNecessary to have knowledge of remote database objectsUse synonyms and views with links to reduce remote database knowledgeDistributed 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. Distributed Query Processing Involves both local (intra site) and global (inter site) optimization. Multiple optimization objectivesThe weighting of communication costs versus local processing costs depends on network characteristics.There are many more possible access plans for a distributed query.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. 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. Centralized Coordination 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). Voting and Decision Phases SummaryUtilizing 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.Architectures for distributed DBMSs differ in the integration of the local databases and level of data independence.

Các file đính kèm theo tài liệu này:

  • pptchapter17_rev_8085.ppt