Distributed and mobile DBMSs Transparencies
©Pearson Education 2009 Chapter 16 - Objectives Main concepts of distributed DBMSs (DDBMSs) Differences between DDBMSs and distributed processing. Advantages and disadvantages of distributed databases. Main issues associated with distributed database design. How fragmentation should be carried out. The importance of allocation and replication. 2
©Pearson Education 2009 Chapter 16 - Objectives Levels of transparency that should be provided by DDBMS. Main concepts associated with database replication. Main concepts associated with mobile DBMSs. 3
©Pearson Education 2009 DDBMS concepts Distributed Database A logically interrelated collection of shared data (and a description of this data), physically distributed over a computer network. Distributed DBMS Software system that permits the management of the distributed database and makes the distribution transparent to users. 4
©Pearson Education 2009 DDBMS concepts Collection of logically-related shared data. Data split into fragments. Fragments may be replicated. Fragments/replicas allocated to sites. Sites linked by a communications network. Data at each site is under control of a DBMS. DBMSs handle local applications autonomously. Each DBMS participates in at least one global application. 5
©Pearson Education 2009 Distributed DBMS 6
©Pearson Education 2009 Distributed processing A centralized database that can be accessed over a computer network. 7
©Pearson Education 2009 Advantages of DDBMSs Reflects organizational structure Improved shareability and local autonomy Improved availability Improved reliability Improved performance Economics Modular growth. 8
©Pearson Education 2009 Disadvantages of DDBMSs Complexity Cost Security Integrity control more difficult Lack of standards Lack of experience Database design more complex. 9
©Pearson Education 2009 Types of DDBMS Homogeneous DDBMS All sites use same DBMS product. Much easier to design and manage. Approach provides incremental growth and allows increased performance. Heterogeneous DDBMS Sites may run different DBMS products, with possibly different underlying data models. Occurs when sites have implemented their own databases and integration is considered later. Translations required. Typical solution: gateways. 10
©Pearson Education 2009 Multidatabase system (MDBS) DDBMS in which each site maintains complete autonomy. DBMS that resides transparently on top of existing database and file systems and presents a single database to its users. Allows users to access and share data without requiring physical database integration. Unfederated MDBS (no local users) and federated MDBS. 11
©Pearson Education 2009 Taxonomy of DBMSs 12
©Pearson Education 2009 Distributed database design Three key issues: Fragmentation, Allocation, Replication. 13
©Pearson Education Distributed database design Fragmentation Relation may be divided into a number of sub- relations, which are then distributed. Allocation Each fragment is stored at site with “optimal” distribution. Replication Copy of fragment may be maintained at several sites.
©Pearson Education Fragmentation Definition and allocation of fragments carried out strategically to achieve: Locality of Reference. Improved Reliability and Availability. Improved Performance. Balanced Storage Capacities and Costs. Minimal Communication Costs. Involves analyzing most important applications, based on quantitative/qualitative information.
©Pearson Education Fragmentation Quantitative information may include: frequency with which an application is run; site from which an application is run; performance criteria for transactions and applications. Qualitative information may include transactions that are executed by application, type of access (read or write), and predicates of read operations.
©Pearson Education Why fragment? Usage: Applications work with views rather than entire relations. Efficiency: Data is stored close to where it is most frequently used. Data that is not needed by local applications is not stored. Parallelism: With fragments as unit of distribution, transaction can be divided into several subqueries that operate on fragments. Security: Data not required by local applications is not stored and so not available to unauthorized users.
©Pearson Education Why fragment? - Disadvantages Performance, Integrity.
©Pearson Education Correctness rules for fragmentation Three correctness rules: Completeness, Reconstruction, Disjointness.
©Pearson Education Correctness rules for fragmentation Completeness If relation R is decomposed into fragments R 1, R 2,... R n, each data item that can be found in R must appear in at least one fragment. Reconstruction Must be possible to define a relational operation that will reconstruct R from the fragments. Reconstruction for horizontal fragmentation is Union operation and Join for vertical.
©Pearson Education Correctness rules for fragmentation Disjointness If data item d i appears in fragment R i, then it should not appear in any other fragment. Exception: vertical fragmentation, where primary key attributes must be repeated to allow reconstruction. For horizontal fragmentation, data item is a tuple. For vertical fragmentation, data item is an attribute.
©Pearson Education Types of fragmentation Four types of fragmentation: Horizontal, Vertical, Mixed, Derived. Other possibility is no fragmentation: If relation is small and not updated frequently, may be better not to fragment relation.
©Pearson Education Horizontal and vertical fragmentation
©Pearson Education Mixed fragmentation
©Pearson Education Horizontal fragmentation Consists of a subset of the records of a table. Defined using WHERE clause in SQL SELECT. For example: DC 1 : SELECT * FROM DVDCopy WHERE dCenterNo=‘D001’; DC 2 : SELECT * FROM DVDCopy WHERE dCenterNo=‘D002’; DC 3 : SELECT * FROM DVDCopy WHERE dCenterNo=‘D003’; DC 4 : SELECT * FROM DVDCopy WHERE dCenterNo=‘D004’;
©Pearson Education Vertical fragmentation Consists of a subset of the columns of a table. Defined using SELECT clause of SQL SELECT. For example: S 1 : SELECT staffNo, position, salary FROM Staff; S 2 : SELECT staffNo, name, , dCenterNo FROM Staff;
©Pearson Education Mixed fragmentation Consists of a horizontal fragment that is vertically fragmented, or a vertical fragment that is horizontally fragmented. For example, from above example: SELECT * FROM S 2 WHERE dCenterNo = ‘D001’; SELECT * FROM S 2 WHERE dCenterNo = ‘D002’; SELECT * FROM S 2 WHERE dCenterNo = ‘D003’; SELECT * FROM S 2 WHERE dCenterNo = ‘D004’;
©Pearson Education Derived horizontal fragmentation A horizontal fragment that is based on horizontal fragmentation of a parent relation. Ensures that fragments that are frequently joined together are at same site. For example: DR 1 : SELECT dr.* FROM DVDRental dr, DC 1 WHERE dr.DVDNo = DC 1.DVDNo; DR 2 : SELECT dr.* FROM DVDRental dr, DC 2 WHERE dr.DVDNo = DC 2.DVDNo; DR 3 : SELECT dr.* FROM DVDRental dr, DC 3 WHERE dr.DVDNo = DC 3.DVDNo; DR 4 : SELECT dr.* FROM DVDRental dr, DC 4 WHERE dr.DVDNo = DC 4.DVDNo;
©Pearson Education Data allocation Centralized: Consists of single database and DBMS stored at one site with users distributed across the network. Partitioned: Database partitioned into disjoint fragments, each fragment assigned to one site. Complete Replication: Consists of maintaining complete copy of database at each site. Selective Replication: Combination of partitioning, replication, and centralization.
©Pearson Education Comparison of data allocation strategies
©Pearson Education Distributed database design methodology 1. Use normal methodology to produce a design for the global relations. 2. Examine topology of system to determine where databases will be located. 3. Analyze most important transactions and identify appropriateness of horizontal/vertical fragmentation. 4. Decide which tables are not to be fragmented. 5. Examine tables on 1 side of relationships and determine a suitable fragmentation schema. Tables on many side may be suitable for derived fragmentation.
©Pearson Education Transparencies in a DDBMS Distribution Transparency Fragmentation Transparency Location Transparency Replication Transparency Local Mapping Transparency Naming Transparency
©Pearson Education Transparencies in a DDBMS Transaction Transparency Concurrency Transparency Failure Transparency Performance Transparency DBMS Transparency
©Pearson Education Distribution transparency Distribution transparency allows user to perceive database as single, logical entity. If DDBMS exhibits distribution transparency, user does not need to know: data is fragmented (fragmentation transparency), location of data items (location transparency), otherwise call this local mapping transparency. With replication transparency, user is unaware of replication of fragments.
©Pearson Education Transaction transparency Ensures that all distributed transactions maintain distributed database’s integrity and consistency. In IBM’s Distributed Relational Database Architecture (DRDA), four types of transactions: Remote request Remote unit of work Distributed unit of work Distributed request.
©Pearson Education IBM’s DRBA
©Pearson Education Concurrency transparency All transactions must execute independently and be logically consistent with results obtained if transactions executed one at a time, in some arbitrary serial order. Same fundamental principles as for centralized DBMS. DDBMS must ensure both global and local transactions do not interfere with each other. Similarly, DDBMS must ensure consistency of all subtransactions of global transaction.
©Pearson Education Concurrency transparency Replication makes concurrency more complex. If a copy of a replicated data item is updated, update must be propagated to all copies. Could propagate changes as part of original transaction, making it an atomic operation. However, if one site holding copy is not reachable, then transaction is delayed until site is reachable. Could limit update propagation to only those sites currently available. Remaining sites updated when they become available again. Could allow updates to copies to happen asynchronously, sometime after the original update. Delay in regaining consistency may range from a few seconds to several hours.
©Pearson Education Failure transparency DDBMS must ensure atomicity and durability of global transaction. Means ensuring that subtransactions of global transaction either all commit or all abort. Thus, DDBMS must synchronize global transaction to ensure that all subtransactions have completed successfully before recording a final COMMIT for global transaction. Must do this in presence of site and network failures.
©Pearson Education Failure transparency – Two-phase Commit Two phases: a voting phase and a decision phase. Coordinator asks all participants whether they are prepared to commit transaction. If one participant votes abort, or fails to respond within a timeout period, coordinator instructs all participants to abort transaction. If all vote commit, coordinator instructs all participants to commit. All participants must adopt global decision. If participant votes abort, free to abort transaction immediately If participant votes commit, must wait for coordinator to broadcast global-commit or global-abort message.
©Pearson Education Failure transparency – Two-phase Commit
©Pearson Education Performance transparency DDBMS must perform as if it were a centralized DBMS. DDBMS should not suffer any performance degradation due to distributed architecture. DDBMS should determine most cost-effective strategy to execute a request. Must consider fragmentation, replication, and allocation schemas. Distributed QP maps data request into ordered sequence of operations on local databases. DQP has to decide: which fragment to access; which copy of a fragment to use; which location to use.
©Pearson Education Performance transparency DQP produces execution strategy optimized with respect to some cost function. Typically, costs associated with a distributed request include: I/O cost; CPU cost; communication cost.
©Pearson Education Performance transparency - Example Member(memberNo, mCity) records in Seattle DVDCopy(DVDNo, catalogNo) records in NY Rental(memberNo, DVDNo) records in Seattle SELECT dc.DVDNo FROM DVDCopy dc, Rental r, Member m WHERE dc.DVDNo=r.DVDNo AND r.memberNo=m.memberNo AND dc.catalogNo = ‘634817’ AND m.mCity = ‘Chicago’; Each record is 20 characters long members in Chicago; rentals of ‘War of the Worlds’ (634817). Computation time negligible compared to communication time.
©Pearson Education Performance transparency - Example StrategyTime ( 1)Move DVDCopy table to Seattle and process query there.33.3 mins (2)Move Member and Rental tables to New York and process query there.1.17hours (3)Join Member & Rental at Seattle, select records for Chicago members, and for each of these in turn, check at New York for an associated catalogNo = ‘634817’.33.3mins (4)Select DVD copies with catalogNo = ‘634817’ at New York and for each one found, check at Seattle for a rental involving a member living in Chicago.11.12hours (5)Join Member and Rental tables at Seattle, select Chicago members, project result over DVDNo, and move this result to New York for matching with catalogNo = ‘634817’.2 seconds (6)Select DVD copies with catalogNo = ‘634817’ at New York and move the result to Seattle for matching with rentals associated with Chicago members.41 seconds
©Pearson Education Dates 12 rules for a DDBMS 0.Fundamental Principle To the user, a distributed system should look exactly like a nondistributed system. 1.Local Autonomy 2.No Reliance on a Central Site 3.Continuous Operation 4.Location Independence 5.Fragmentation Independence 6.Replication Independence
©Pearson Education Dates 12 rules for a DDBMS 7.Distributed Query Processing 8.Distributed Transaction Processing 9.Hardware Independence 10.Operating System Independence 11.Network Independence 12.Database Independence Last four rules are ideals.
©Pearson Education Replication servers Replication Process of generating and reproducing multiple copies of data at one or more sites. Provides users with access to current data where and when they need it. Provides number of benefits, including improved performance when centralized resources get overloaded, increased reliability and data availability, and support for mobile computing and data warehousing.
©Pearson Education Replication servers Synchronous – updates to replicated data are part of enclosing transaction. If one or more sites that hold replicas are unavailable transaction cannot complete. Large number of messages required to coordinate synchronization. Asynchronous - target database updated after source database modified. Delay in regaining consistency may range from few seconds to several hours or even days.
©Pearson Education Replication - functionality At basic level, has to be able to copy data from one database to another (synch or asynchronous). Other functions include: Scalability. Mapping and Transformation. Object Replication. Specification of Replication Schema. Subscription mechanism. Initialization mechanism.
©Pearson Education Replication – data ownership Ownership relates to which site has privilege to update the data. Main types of ownership are: Master/slave (or asymmetric replication), Workflow, Update-anywhere (or peer-to-peer or symmetric replication).
©Pearson Education Replication – Master/Slave Ownership Asynchronously replicated data is owned by one (master) site, and can be updated by only that site. Using ‘publish-and-subscribe’ metaphor, master site makes data available. Other sites ‘subscribe’ to data owned by master site, receiving read-only copies. Potentially, each site can be master site for non- overlapping data sets, but update conflicts cannot occur.
©Pearson Education Replication – Workflow Ownership Avoids update conflicts, while providing more dynamic ownership model. Allows right to update replicated data to move from site to site. However, at any one moment, only ever one site that may update that particular data. Example is order processing system, which follows steps, such as order entry, credit approval, invoicing, shipping, and so on.
©Pearson Education Replication – Update Anywhere Ownership Creates peer-to-peer environment where multiple sites have equal rights to update replicated data. Allows local sites to function autonomously, even when other sites are not available. Shared ownership can lead to conflict scenarios and have to detect conflict and resolve it.
©Pearson Education Mobile databases Witnessing increasing demands on mobile computing to provide support for growing number of mobile workers. Such a workforce require to work as if in the office but in reality they are working from remote location places. With rapid expansion of cellular, wireless, and satellite comms, soon be possible for mobile users to access any data, anywhere, at any time. However,, business etiquette, practicalities, security, and costs may still limit communication (eg. can’t get online connection for as long as want, whenever you want). Mobile databases offer a solution for some of these restrictions.
©Pearson Education Mobile databases Mobile database A database that is portable and physically separate from a centralized database server but is capable of communicating with that server from remote sites allowing the sharing of corporate data. Components of a mobile database environment include: corporate database server and DBMS that manages and stores the corporate data and provides corporate applications; remote database and DBMS that manages and stores the mobile data and provides mobile applications; mobile database platform that includes laptop, PDA, or other Internet access devices; two-way communication links between the corporate and mobile DBMS.
©Pearson Education Mobile database environment
©Pearson Education Mobile DBMSs Additional functionality required of mobile DBMSs includes ability to: communicate with centralized database server through modes such as wireless or Internet access; replicate data on centralized database server and mobile device; synchronize data on centralized database server and mobile device; capture data from various sources such as the Internet; manage data on the mobile device; analyze data on a mobile device; create customized mobile applications.