Synchronous and Asynchronous Replication

You can also define whether replication is performed in synchronous or asynchronous mode for the space.

Asynchronous Replication

Asynchronous replication is the default behavior. It offers the best performance; however, it does not guarantee that the data modification is n-replicated to the desired degree by the time the operation completes.

Asynchronous replication does not degrade the coherency or consistency of the data view between members of a space. Under normal operating conditions, all e space members are notified of the change in the data at almost the same time when the operation returns.

Synchronous Replication

Synchronous replication offers the highest level of safety, at the expense of performance. With synchronous replication, an operation that modifies one of the tuples in the space only returns an indication of success when the modification has been replicated up to the degree of replication required for the space.

Comparison of Asynchronous and Synchronous Replication

Asynchronous replication is more permissive than synchronous replication. It allows performance of operations that modify space data even when the configured degree of replication cannot be achieved because there are not enough seeders— as soon as a sufficient number of additional seeders have joined the space, the replication is performed automatically. Synchronous replication does not allow such operations.

Asynchronous replication provides a best effort quality of replication, while synchronous replication ensures a strict enforcement of the replication degree.