![Page 1: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/1.jpg)
1
Chapter 22 & 23
Distributed DBMSs - Concepts and Design
Transparencies
![Page 2: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/2.jpg)
2
Chapter 22 - Objectives
Concepts. Advantages and disadvantages of distributed
databases. Functions and architecture for a DDBMS. Distributed database design. Levels of transparency. Comparison criteria for DDBMSs.
![Page 3: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/3.jpg)
3
Concepts
Distributed DatabaseA logically interrelated collection of shared data (and a description of this data), physically distributed over a computer network.
Distributed DBMSSoftware system that permits the management of the distributed database and makes the distribution transparent to users.
![Page 4: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/4.jpg)
4
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.
![Page 5: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/5.jpg)
5
Distributed DBMS
![Page 6: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/6.jpg)
6
Distributed Processing
A centralized database that can be accessed over a computer network. This is not a DDBMS
![Page 7: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/7.jpg)
7
Parallel DBMS
A DBMS running across multiple processors and disks designed to execute operations in parallel, whenever possible, to improve performance.
Based on premise that single processor systems can no longer meet requirements for cost-effective scalability, reliability, and performance.
Parallel DBMSs link multiple, smaller machines to achieve same throughput as single, larger machine, with greater scalability and reliability.
Paralled DBMS isn’t necessarily a DDBMS
![Page 8: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/8.jpg)
8
Parallel DBMS
Main architectures for parallel DBMSs are:
– Shared memory,– Shared disk,– Shared nothing.
![Page 9: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/9.jpg)
9
Parallel DBMS
(a) shared memory
(b) shared disk
(c) shared nothing
![Page 10: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/10.jpg)
10
Advantages of DDBMSs
Reflects organizational structure Improved shareability and local autonomy Improved availability Improved reliability Improved performance Economics Modular growth
![Page 11: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/11.jpg)
11
Disadvantages of DDBMSs
Complexity Cost Security Integrity control more difficult Lack of standards Lack of experience Database design more complex
![Page 12: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/12.jpg)
12
Types of DDBMS
Homogeneous DDBMS Heterogeneous DDBMS
![Page 13: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/13.jpg)
13
Homogeneous DDBMS
All sites use same DBMS product. Much easier to design and manage. Approach provides incremental growth and
allows increased performance.
![Page 14: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/14.jpg)
14
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 to allow for:– Different hardware.
– Different DBMS products.
– Different hardware and different DBMS products.
![Page 15: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/15.jpg)
15
Distributed Database Design
Three key issues:
– Fragmentation,– Allocation,– Replication.
![Page 16: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/16.jpg)
16
Distributed Database Design
FragmentationRelation may be divided into a number of sub-relations, which are then distributed.
AllocationEach fragment is stored at site with “optimal” distribution.
ReplicationCopy of fragment may be maintained at several sites.
![Page 17: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/17.jpg)
17
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.
![Page 18: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/18.jpg)
18
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.
![Page 19: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/19.jpg)
19
Data Allocation
Four alternative strategies regarding placement of data:– Centralized,– Partitioned (or Fragmented),– Complete Replication,– Selective Replication.
![Page 20: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/20.jpg)
20
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.
![Page 21: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/21.jpg)
21
Data Allocation
Complete Replication
Consists of maintaining complete copy of database at each site.
Selective Replication
Combination of partitioning, replication, and centralization.
![Page 22: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/22.jpg)
22
Comparison of Strategies for Data Distribution
![Page 23: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/23.jpg)
23
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.
![Page 24: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/24.jpg)
24
Why Fragment?
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.
![Page 25: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/25.jpg)
25
Why Fragment?
Disadvantages
– Performance,– Integrity.
![Page 26: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/26.jpg)
26
Correctness of Fragmentation
Three correctness rules:
– Completeness,– Reconstruction,– Disjointness.
![Page 27: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/27.jpg)
27
Correctness of Fragmentation
Completeness
If relation R is decomposed into fragments R1, R2, ... Rn, 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 .
![Page 28: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/28.jpg)
28
Correctness of Fragmentation
Disjointness If data item di appears in fragment Ri, 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.
![Page 29: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/29.jpg)
29
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.
![Page 30: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/30.jpg)
30
Horizontal and Vertical Fragmentation
![Page 31: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/31.jpg)
31
Mixed Fragmentation
![Page 32: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/32.jpg)
32
Transparencies in a DDBMS
Distribution Transparency
– Fragmentation Transparency– Location Transparency– Replication Transparency– Local Mapping Transparency– Naming Transparency
![Page 33: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/33.jpg)
33
Transparencies in a DDBMS
Transaction Transparency
– Concurrency Transparency– Failure Transparency
Performance Transparency
– DBMS Transparency
DBMS Transparency
![Page 34: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/34.jpg)
34
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 .
![Page 35: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/35.jpg)
35
Naming Transparency
Each item in a DDB must have a unique name. DDBMS must ensure that no two sites create a
database object with same name. One solution is to create central name server.
However, this results in:– loss of some local autonomy;– central site may become a bottleneck;– low availability; if the central site fails,
remaining sites cannot create any new objects.
![Page 36: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/36.jpg)
36
Naming Transparency
Alternative solution - prefix object with identifier of site that created it.
For example, Branch created at site S1 might be named S1.BRANCH.
Also need to identify each fragment and its copies. Thus, copy 2 of fragment 3 of Branch created at site S1
might be referred to as S1.BRANCH.F3.C2. However, this results in loss of distribution transparency.
![Page 37: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/37.jpg)
37
Naming Transparency
An approach that resolves these problems uses aliases for each database object.
Thus, S1.BRANCH.F3.C2 might be known as LocalBranch by user at site S1.
DDBMS has task of mapping an alias to appropriate database object.
![Page 38: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/38.jpg)
38
Transaction Transparency
Ensures that all distributed transactions maintain distributed database’s integrity and consistency.
Distributed transaction accesses data stored at more than one location.
Each transaction is divided into number of subtransactions, one for each site that has to be accessed.
DDBMS must ensure the indivisibility of both the global transaction and each of the subtransactions.
![Page 39: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/39.jpg)
39
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.
![Page 40: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/40.jpg)
40
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.
![Page 41: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/41.jpg)
41
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.
![Page 42: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/42.jpg)
42
Replication Servers
Currently some prototype and special-purpose DDBMSs, and many of the protocols and problems are well understood.
However, to date, general purpose DDBMSs have not been widely accepted.
Instead, database replication, the copying and maintenance of data on multiple servers, may be more preferred solution.
Every major database vendor has replication solution.
![Page 43: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/43.jpg)
43
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).
![Page 44: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/44.jpg)
44
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.
![Page 45: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/45.jpg)
45
Master/Slave Ownership – Data Dissemination
![Page 46: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/46.jpg)
46
Master/Slave Ownership – Data Consolidation
![Page 47: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/47.jpg)
47
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.
![Page 48: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/48.jpg)
48
Workflow Ownership
![Page 49: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/49.jpg)
49
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.
![Page 50: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/50.jpg)
50
Update-Anywhere Ownership
![Page 51: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/51.jpg)
51
Non-Transactional versus Transactional Update
Early replication mechanisms were non-transactional.
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.
![Page 52: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/52.jpg)
52
Non-Transactional versus Transactional Update
![Page 53: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/53.jpg)
53
Snapshots
Allow asynchronous distribution of changes to individual tables, collections of tables, views, or partitions of tables according to pre-defined schedule.
For example, may store Staff relation at one site (master site) and create a snapshot with complete copy of Staff relation at each branch.
Common approach for snapshots uses the recovery log, minimizing the extra overhead to the system.
![Page 54: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/54.jpg)
54
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.
![Page 55: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/55.jpg)
55
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.
![Page 56: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/56.jpg)
56
Database Triggers
CREATE TRIGGER StaffAfterInsRowBEFORE INSERT ON StaffFOR EACH ROWBEGIN INSERT INTO
[email protected] (:new.staffNo, :new:fName, :new:lName, :new.position, :new:sex, :new.DOB, :new:salary, :new:branchNo);
END;
![Page 57: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/57.jpg)
57
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.
![Page 58: 1 Chapter 22 & 23 Distributed DBMSs - Concepts and Design Transparencies](https://reader035.vdocuments.us/reader035/viewer/2022062321/56649e555503460f94b4cdbf/html5/thumbnails/58.jpg)
58
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.