Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Open Database Connectivity wikipedia , lookup
Serializability wikipedia , lookup
Extensible Storage Engine wikipedia , lookup
Relational model wikipedia , lookup
Functional Database Model wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Concurrency control wikipedia , lookup
Database model wikipedia , lookup
Versant Object Database wikipedia , lookup
Chapter 26 Replication and Mobile Databases Pearson Education © 2009 Chapter 26 - Objectives How a replicated database differs from a distributed database. The benefits of database replication. Distributed deadlock detection. Examples of applications that use database replication. Basic components of a replication system. Pearson Education © 2009 2 Chapter 26 - Objectives How synchronous replication differs from asynchronous replication. The main types of data ownership are master/salve, workflow, and update-anywhere. The functionality of a database replication server. Main implementation issues associated with database replication. Pearson Education © 2009 3 Chapter 26 - Objectives How mobile computing supports the mobile worker. Functionality of a mobile DBMS. How Oracle DBMS supports database replication. Pearson Education © 2009 4 Introduction to Database Replication Functionality of DDBMS is attractive. However, implementations of required protocols and algorithms are complex and can cause problems that may outweigh advantages. Alternative and more simplify approach to data distribution is provided by a replication server. Every major database vendor has replication solution. Pearson Education © 2009 5 Introduction to Database Replication Database Replication is the process of copying and maintaining database objects, such as relations, in multiple databases that make up a distributed database system. Pearson Education © 2009 6 Benefits of Database Replication Pearson Education © 2009 7 Applications of Replication Replication supports a variety of applications that have very different requirements. Some applications are supported with only limited synchronization between the copies of the database and the central database system. Other applications demand continuous synchronization between all copies of the database. Pearson Education © 2009 8 Basic Components of Database Replication Replication object is a database object such as a relation, index, view, procedure, or function existing on multiple servers in a distributed database system. In a replication environment, any updates made to a replication object at one site are applied to the copies at all other sites. Pearson Education © 2009 9 Basic Components of Database Replication Replication objects are managed using replication groups. A replication group is a collection of replication objects that are logically related. A replication group can exist at multiple replication sites. Pearson Education © 2009 10 Basic Components of Database Replication Replication environments support two basic types of sites: master sites and slave sites. A replication group can be associated with one or more master sites and with one or more slave sites. Pearson Education © 2009 11 Basic Components of Database Replication One site can be both master site for one replication group and slave site for different replication group. However, one site cannot be both the master site and slave site for same replication group. Pearson Education © 2009 12 Basic Components of Database Replication A master site controls a replication group and the objects in that group. This is achieved by maintaining a complete copy of all objects in a replication group and by propagating any changes to a replication group to any slave sites. Pearson Education © 2009 13 Basic Components of Database Replication A slave site can contain all or a subset of objects from a replication group. However, slave sites only contain a snapshot of a replication group. Typically, a snapshot site is refreshed periodically to synchronize it with its master site. Pearson Education © 2009 14 Basic Components of Database Replication For a replication environment with many master sites, all of those sites communicate directly with one another to continually propagate data changes in the replication group. Pearson Education © 2009 15 Synchronous Versus Asynchronous Replication 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 © 2009 16 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 © 2009 17 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 nonoverlapping data sets, but update conflicts cannot occur. Pearson Education © 2009 18 Master/Slave Ownership – Data Dissemination Pearson Education © 2009 19 Master/Slave Ownership – Data Consolidation Pearson Education © 2009 20 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 set. Example is order processing system, which follows series of steps, such as order entry, credit approval, invoicing, shipping, and so on. Pearson Education © 2009 21 Workflow Ownership Pearson Education © 2009 22 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 employ methodology for conflict detection and resolution. Pearson Education © 2009 23 Update-Anywhere Ownership Pearson Education © 2009 24 Replication Servers Functionality Basic function is copy data from one database to another (using synch. or asynch. replication). Other functions include: – Scalability – Mapping and Transformation – Object Replication – Specification of Replication Schema – Subscription mechanism – Initialization mechanism – Easy Administration Pearson Education © 2009 25 Implementation Issues Issues associated with the provision of data replication by the replication server include: – transactional updates; – snapshots and database triggers; – conflict detection and resolution. Pearson Education © 2009 26 Non-Transactional versus Transactional Update Early replication mechanisms were nontransactional. Data was copied without maintaining atomicity of transaction. With transactional-based mechanism, structure of original transaction on source database is also maintained at target site. Pearson Education © 2009 27 Non-Transactional versus Transactional Update Pearson Education © 2009 28 Snapshots Allow asynchronous distribution of changes to individual tables, collections of tables, views, or partitions of tables according to pre-defined schedule. Common approach for snapshots uses the recovery log, minimizing the extra overhead to the system. Pearson Education © 2009 29 Snapshots In some DBMSs, process is part of server, while in others it runs as separate external server. In event of network or site failure, need queue to hold updates until connection is restored. To ensure integrity, order of updates must be maintained during delivery. Pearson Education © 2009 30 Database Triggers Could allow users to build their own replication applications using database triggers. Users’ responsibility to create code within trigger that will execute whenever appropriate event occurs. Pearson Education © 2009 31 Database Triggers CREATE TRIGGER StaffAfterInsRow BEFORE INSERT ON Staff FOR EACH ROW BEGIN INSERT INTO [email protected] VALUES (:new.staffNo, :new:fName, :new:lName, :new.position, :new:sex, :new.DOB, :new:salary, :new:branchNo); END; Pearson Education © 2009 32 Database Triggers - Drawbacks Management and execution of triggers have a performance overhead. Burden on application/network if master table updated frequently. Triggers cannot be scheduled. Difficult to synchronize replication of multiple related tables. Activation of triggers cannot be easily undone in event of abort or rollback. Pearson Education © 2009 33 Conflict Detection and Resolution When multiple sites are allowed to update replicated data, need to detect conflicting updates and restore data consistency. For a single table, source site could send both old and new values for any rows updated since last refresh. At target site, replication server can check each row in target database that has also been updated against these values. Pearson Education © 2009 34 Conflict Detection and Resolution Also want to detect other types of conflict such as violation of referential integrity. Some of most common mechanisms are: – – – – – – Earliest and latest timestamps. Site Priority. Additive and average updates. Minimum and maximum values. User-defined. Hold for manual resolution. Pearson Education © 2009 35 Mobile Databases Increasing demands on mobile computing to provide types of support required by growing number of mobile workers. Work as if in the office but in reality working from remote locations. ‘Office’ may accompany remote worker in form of laptop, PDA (Personal Digital Assistant), or other Internet access device. Pearson Education © 2009 36 Mobile Database Database that is portable and physically separate from a centralized database server but is capable of communicating with server from remote sites allowing the sharing of corporate data. Pearson Education © 2009 37 Mobile DBMS Pearson Education © 2009 38 Mobile DBMS 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 Internet; – manage/analyze data on the mobile device; – create customized mobile applications. Pearson Education © 2009 39