Data Replication/Synchonization between systems which is done in a batch manner.
Solutions:
- Change Data Capture (Best Solution):
Salesforce Change Data Capture publishes change events, which represent changes to Salesforce records.
With Change Data Capture, you can receive near-real-time changes of Salesforce records, and synchronize corresponding records in an external data store.
Change Data Capture takes care of the continuous synchronization part of replication. It publishes the deltas of Salesforce data for new and changed records. Change Data Capture requires an integration app for receiving events and performing updates in the external system.
- Using ETL Tool (Good Solution):
This tool connects to the systems, extract data, transform in required target form and then uploads using Bulk or SOAP API.
- Manual Remote Calls (SubOptimal Solution):
Salesforce or external system will call every time the data is changed. However, it would cause huge ongoing traffic and should be avoided if possible.
For all Design Patterns, please refer this.