C Replication (CREP) allows you to build a multi-server, asynchronously-replicating system of multiple databases. A target database can replicate data from one or several source databases. Replication can be bi-directional and capable of automatically resolving replication conflicts.
CREP is a component that resides inside the solidDB executable that runs in the target database. It controls the asynchronous replication of database operations made in multiple source databases to the target database.
Individual solidDB servers can act as either the source or target database or act in both roles simultaneously. There are no limits to the number of database instances in the network. This allows large and complicated topologies. However, each replication relationship must be set up separately by setting up the CREP component in a particular target database.
Before starting the online replication, target and source databases must synchronize their initial states. This step is called ‘load’ and it is handled by copying an initial dataset from the source database to the target database.
After the source and target databases are configured, CREP monitors the transaction logs of the source database and asynchronously re-executes all committed transactions in the target database. CREP can recover from failures in connectivity or as a result of any of the involved processes being temporarily unavailable.