Efficiency in data synchronization in these configurations and architectures come from determining what data changes, how to scope it and how to reduce the traffic associated with propagating the change. It is customary to have a synchronization layer on the client, a synchronization middleware on the server, and a network connection during the synchronization process that supports bidirectional updates. The basic synchronization process involves the initiation of synchronization – either on demand or on a periodic basis, the preparation of data and its transmission to a server with authentication, the execution of the synchronization logic on the server side to determine the updates and the transformations, the persistence of the changed data over a data adapter to one or more data stores, the detection and resolution of conflicts and finally the relaying of the results of the synchronization back to the client application.
The choice of synchronization
technique depends on the situation. One of the factors that plays into this is
the synchronization mode. There are two
main modes of synchronization: snapshot and net change. Snapshots are the data
as of a point of time. The data in a snapshot does not change. So it is useful
to compare. This synchronization makes it possible to move large amount of data
from one system to another. This is the case when the data has not changed at the
remote location. Since snapshots might contain a large amount of data, a good
network connection is required to transfer it. Updates to the product catalog
or price list is a great use case for snapshot synchronization because the
updates are collected in a snapshot, transferred and loaded at once on the
destination store.
The net changes mode of
synchronization can be considered slightly more efficient than the snapshot
synchronization. In these cases, only the changed data is sent between the source
and destination datastores and it reduces the network bandwidth and connection
times. If the data were to change quite often on one server, only the initial and
final state is required to create the changes that can then be made on the
destination. Both the modes are bidirectional so the changes made in a local
store can be propagated to the enterprise store. The net changes mode does not
take into consideration the changes made in individual transactions. If those
were important, the transaction log based synchronization may work better.
Transmission of data is also important
in the effectiveness of synchronization technique. If an application is able to
synchronize without the involvement of the user, it will work on any network –
wired or wireless otherwise the latter usually requires human intervention to
set up a connection. There are two types of data propagation methods – session based
and message based. The session based synchronization method requires a direct
connection. The updates can be done both ways and they can be acknowledged. The
synchronization resumes even after a disruption. The point from which the synchronization
resumes is usually the last committed transaction. The connection for this data
propagation method can be established well in advance.
No comments:
Post a Comment