There are three different modes of replication for SAP HANA
system
Synchronous in-memory (default):
Synchronous
in memory (mode=syncmem) means the log write is considered as successful, when
the log entry has been written to the log volume of the primary and sending the
log has been acknowledged by the secondary instance after copying to memory.
When the connection to the
secondary system is lost, the primary system continues transaction processing
and writes the changes only to the local disk.
Data loss can occur when primary
and secondary fail at the same time as long as the secondary system is connected
or when a takeover is executed, while the secondary system is disconnected.
This option provides better performance because it is not necessary to wait for
disk I/O on the secondary instance, but is more vulnerable to data loss.
Synchronous
Synchronous (mode=sync) means the
log write is considered as successful when the log entry has been written to
the log volume of the primary and the secondary instance.
When the connection to the
secondary system is lost, the primary system continues transaction processing
and writes the changes only to the local disk.
No data loss occurs in this
scenario as long as the secondary system is connected. Data loss can occur,
when a takeover is executed while the secondary system is disconnected.
Additionally, this replication
mode can run with a full sync option. This means that log write is successful
when the log buffer has been written to the log file of the primary and the
secondary instance. In addition, when the secondary system is disconnected (for
example, because of network failure) the primary systems suspends transaction
processing until the connection to the secondary system is re-established. No
data loss occurs in this scenario. You can set the full sync option for system
replication only with the parameter [system_replication]/enable_full_sync). For
more information on how to enable the full sync option, see Enable Full Sync Option for System Replication.
Asynchronous
Asynchronous (mode=async) means the primary
system sends redo log buffers to the secondary system asynchronously. The
primary system commits a transaction when it has been written to the log file
of the primary system and sent to the secondary system through the network. It
does not wait for confirmation from the secondary system.
This option
provides better performance because it is not necessary to wait for log I/O on
the secondary system. Database consistency across all services on the secondary
system is guaranteed. However, it is more vulnerable to data loss. Data changes
may be lost on takeover.
Comments