Chapter 3 Database Architectures and the Web Pearson
Chapter 3 Database Architectures and the Web Pearson Education © 2009
Chapter 3 - Objectives u The meaning of the client–server architecture and the advantages of this type of architecture for a DBMS u The difference between two-tier, three-tier and ntier client–server architectures u The function of an application server u The meaning of middleware and the different types of middleware that exist u The function and uses of Transaction Processing (TP) Monitors Pearson Education © 2009
Chapter 3 - Objectives u The purpose of a Web service and the technological standards used u The meaning of service-oriented architecture (SOA) u The difference between distributed DBMSs, and distributed processing u The architecture of a data warehouse u The software components of a DBMS u About Oracle’s logical and physical structure Pearson Education © 2009
Multi-user DBMS Architectures u Teleprocessing – Traditional architecture for multi-user systems – One computer with a single central processing unit (CPU) and a number of terminals – Put a huge burden on the central computer u Downsizing – Replacing expensive mainframe computers with more cost-effective networks of personal computers Pearson Education © 2009
Teleprocessing u Traditional architecture. u Single mainframe with a number of terminals attached. u Trend is now towards downsizing. 5 Pearson Education © 2009
Multi-user DBMS Architectures u File-server architecture – Processing is distributed about the network – Three main disadvantages » Large amount of network traffic » Full copy of DBMS required on each workstation » Concurrency, recovery, and integrity control are complex u Multiple DBMSs can access the same files Pearson Education © 2009
File-Server Architecture Pearson Education © 2009 7
Multi-user DBMS Architectures u Traditional two-tier client–server architecture – Client process requires some resource – Server provides the resource – Basic separation of four main components of business application – Typical interaction between client and server Pearson Education © 2009
Traditional Two-Tier Client-Server Pearson Education © 2009 9
Summary of client–server functions Pearson Education © 2009
Multi-user DBMS Architectures u Three-tier client–server architecture – User interface layer – Business logic and data processing layer – DBMS – Many advantages over traditional two-tier or single-tier designs Pearson Education © 2009
Three-Tier Client-Server Pearson Education © 2009 12
Multi-user DBMS Architectures u N-tier architectures – Three-tier architecture can be expanded to n tiers u Application servers – Hosts an application programming interface (API) to expose business logic and business processes for use by other applications Pearson Education © 2009
Multi-user DBMS Architectures u Middleware – Software that mediates with other software – Communication among disparate applications – Six main types » » » Asynchronous Remote Procedure Call (RPC) Synchronous RPC Publish/Subscribe Message-Oriented middleware (MOM) Object-request broker (ORB) SQL-oriented data access Pearson Education © 2009
Multi-user DBMS Architectures u Transaction processing monitor – Controls data transfer between clients/servers – Provides a consistent environment, particularly for online transaction processing (OLTP) – Significant advantages » » » Transaction routing Managing distributed transactions Load balancing Funneling Increased reliability Pearson Education © 2009
Multi-user DBMS Architectures Transaction processing monitor Pearson Education © 2009
Web Services and Service-Oriented Architectures u Web service – Software system that supports interoperable machine-to-machine interaction over a network – No user interface – Examples of Web services – Uses widely accepted technologies and standards Pearson Education © 2009
Relationship between WSDL, UDDI, and SOAP Pearson Education © 2009
Web Services and Service-Oriented Architectures u Service-Oriented Architectures (SOA) – Architecture for building applications that implement business processes as sets of services – Published at a granularity relevant to the service consumer – Loosely coupled and autonomous services – Web services designed for SOA different from other Web services Pearson Education © 2009
Traditional vs. SOA Architecture Pearson Education © 2009
Distributed DBMSs u Distributed database – Logically interrelated collection of shared data physically distributed over a computer network u Distributed DBMS – Software system that permits the management of the distributed database – Makes the distribution transparent to users Pearson Education © 2009
Distributed DBMSs u Characteristics of DDBMS – Collection of logically related shared data – Data split into fragments – Fragments may be replicated – Fragments/replicas are allocated to sites – Sites are linked by a communications network – Data at each site is controlled by DBMS – DMBS handles local apps autonomously – Each DBMS in one or more global app Pearson Education © 2009
Distributed DBMSs u Distributed processing – Centralized database that can be accessed over a computer network u System consists of data that is physically distributed across a number of sites in the network Pearson Education © 2009
Data Warehousing u Data warehouse – Consolidated/integrated view of corporate data – Drawn from disparate operational data sources – Range of end-user access tools capable of supporting simple to highly complex queries to support decision making – Subject-oriented, integrated, time-variant, and nonvolatile Pearson Education © 2009
Typical Architecture of a Data Warehouse Pearson Education © 2009
Components of a DBMS u Major components of a DBMS: – Query processor – Database manager (DM) – File manager – DML preprocessor – DDL compiler – Catalog manager Pearson Education © 2009
Components of a DBMS u Major software components for database manager – Transaction manager – Authorization control – Scheduler – Command processor – Recovery manager – Integrity checker – Buffer manager – Query optimizer Pearson Education © 2009
Cloud Computing u NIST definition: A model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e. g. networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. ” Pearson Education © 2009 28
Cloud Computing – Key Characteristics u On-demand self-service – Consumers can obtain, configure and deploy cloud services without help from provider. u Broad network access – Accessible from anywhere, from any standardized platform (e. g. desktop computers, laptops, mobile devices). Pearson Education © 2009 29
Cloud Computing – Key Characteristics u Resource pooling – Provider’s computing resources are pooled to serve multiple consumers, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand. Examples of resources include storage, processing, memory, and network bandwidth. Pearson Education © 2009 30
Cloud Computing – Key Characteristics u Rapid elasticity – caters for customer’s spikes in demand reduces risk of outages and service interruptions. Capacity can be automated to scale rapidly based on demand. u Measured service – uses a metering capability to measure usage of service (e. g. storage, processing, bandwidth, and active user accounts). Pearson Education © 2009 31
Cloud Computing – Service Models u Software as a Service (Saa. S): – Software and data hosted on cloud. Accessed through using thin client interface (e. g. web browser). Consumer may be offered limited user specific application configuration settings. – Examples include Salesforce. com sales management applications, Net. Suite’s integrated business management software, Google’s Gmail and Cornerstone On. Demand. Pearson Education © 2009 32
Cloud Computing – Service Models u Platform as a Service (Paa. S) – Allows creation of web applications without buying/maintaining the software and underlying infrastructure. Provider manages the infrastructure including network, servers, OS and storage, while customer controls deployment of applications and possibly configuration. – Examples include Salesforce. com’s Force. com, Google’s App Engine, and Microsoft’s Azure. Pearson Education © 2009 33
Cloud Computing – Service Models u Infrastructure as a Service (Iaa. S) – Provider’s offer servers, storage, network and operating systems – typically a platform virtualization environment – to consumers as an on-demand service, in a single bundle and billed according to usage. – A popular use of Iaa. S is in hosting websites. Examples Amazon’s Elastic Compute Cloud (EC 2), Rackspace and Go. Grid. Pearson Education © 2009 34
Cloud Computing – Comparison of Services Models Pearson Education © 2009 35
Benefits of Cloud Computing u Cost-Reduction: Avoid up-front capital expenditure. u Scalability/Agility: Organisations set up resources on an as-needs basis. u Improved Security: Providers can devote expertise & resources to security; not affordable by customer. u Improved Reliability: Providers can devote expertise & resources on reliability of systems; not affordable by customer. u Access to new technologies: Through use of provider’s systems, customers may access latest 36 technology. Pearson Education © 2009
Benefits of Cloud Computing u Faster development: Provider’s platforms can provide many of the core services to accelerate development cycle. u Large scale prototyping/load testing: Providers have the resources to enable this. u More flexible working practices: Staff can access files using mobile devices. u Increased competitiveness: Allows organizations to focus on their core competencies rather than their IT infrastructures. Pearson Education © 2009 37
Risks of Cloud Computing u Network Dependency: Power outages, bandwidth issues and service interruptions. u System Dependency: dependency on availability and reliability of provider’s systems. u Cloud Provider Dependency: Provider could became insolvent or acquired by competitor, resulting in the service suddenly terminating. Pearson Education © 2009 38
Risks of Cloud Computing u Lack of control: Customers unable to deploy technical or organisational measures to safeguard the data. May result in reduced availability, integrity, confidentiality, intervenability and isolation. u Lack of information on processing transparency Pearson Education © 2009 39
Cloud-Based Database Solutions u As a type of Software as a Service (Saa. S), cloud -based database solutions fall into two basic categories: – Data as a Service (Daa. S), and – Database as a Service (DBaa. S) u Key difference between the two options is mainly how the data is managed. Pearson Education © 2009 40
Cloud-Based Database Solutions u DBaa. S – Offers full database functionality to application developers. – Provides a management layer that provides continuous monitoring and configuring of the database to optimized scaling, high availability, multi-tenancy (that is, serving multiple client organizations), and effective resource allocation in the cloud, thereby sparing the developer from ongoing database administration tasks. Pearson Education © 2009 41
Cloud-Based Database Solutions u Daa. S: – Services enables data definition in the cloud and subsequently querying. – Does not implement typical DBMS interfaces (e. g. SQL) but instead data is accessed via common APIs. – Enables organization with valuable data to offer access to others. Examples Urban Mapping (geography data service), Xignite (financial data service) and Hoovers (business data service. ) Pearson Education © 2009 42
Cloud-based database solutions u Multi-tenant cloud database-shared server, separate database server process architecture. Pearson Education © 2009 43
Cloud-based database solutions u Multi-tenant cloud database-shared DBMS server, separate databases. Pearson Education © 2009 44
Cloud-based database solutions u Multi-tenant cloud database–shared database, separate schema architecture. Pearson Education © 2009 45
- Slides: 45