There are three basic types of replication that we discuss here: Session Based, Message Based and Connection Based.
Session Based Replication
In a session-based replication scheme, synchronization occurs in real time over some sort of direct communications link. For example, the connection could be over a modem, network, or radio modem. Remote sites connect at intervals of minutes, hours, days, or weeks.
A session-based synchronization process is analogous to a telephone conversation in which all extant issues at both ends are resolved. The process follows a particular format. An Asta SkySync remote site begins by opening a connection to an Asta SkySync synchronization server and uploading a complete list of all the changes made to the remote database since the previous synchronization. Upon receiving this data, the server updates the consolidated database, and then sends back all relevant changes. The remote site incorporates the entire set of changes, then sends back a confirmation and closes the connection.
Message Based Replication
Data is exchanged between databases using messages. Messages are typically files, placed in a particular directory, or specially formatted e-mail messages. A message agent, attached to each database, sends messages regarding changes to its own data. The same agent also receives messages from one or more other databases and modifies the database, according to the contents of the received messages. This system allows replication between databases that have no direct connection: an occasional message-based connection such as e-mail or a periodic dial-up link is sufficient.
In message-based communications, each message carries its destination address and other control information, so that no direct connection is needed between applications exchanging information. For example, an e-mail message contains the destination address; there is no direct connection between the sending server and the recipient.
Message services use store and forward methods. Just as session-based client/server applications rely on network communication protocol stacks, such as TCP/IP, so message-based applications rely on message services such as Internet Simple Mail Transfer Protocol (SMTP) or a simple shared file link. Message services use store-and-forward methods to get each message to its destination: for example, e-mail systems store messages until the recipient opens their mail folder to read their mail, at which time the e-mail system forwards the message.
Building a replication system on top of a message system means that a message-based replication system does not need to implement a store-and-forward system to get messages to their destination.
To work reliably, a message-based system must both guarantee that all messages reach their destination and that the messages are applied in the same order that they are sent.
Connection Based Replication
Some replication technologies rely on the presence of a continuous, or at least almost continuous, connection between the databases. Through this connection, the two databases conduct an ongoing dialogue. These types of systems excel at replicating changes quickly. Indeed, given sufficient resources and channel capacity, replication can occur reliably with a lag time of no more than a few seconds. These systems should incorporate store-and-forward techniques that allow replication to continue automatically if a connection is lost and later re-established.
The main drawback of this type of system is that a reliable, continuous connection can be expensive to maintain. This restriction makes connection-based technologies suited to replication between two large, fixed databases. In environments where the remote machines are mobile or are only occasionally connected, message-based or session-based technologies provide more flexible solutions.
Asta SkySync uses of Connection Based Replication