solidDB C Replicator (CREP) provides an asynchronous mechanism to replicate write operations across any number of solidDB instances. The mechanism is based on reading entries from the transaction log and re-running the operations in one or more target databases.
The CREP mechanism allows you to configure many different replication topologies including bi-directional topologies, see Supported topologies. CREP contains a mechanism for detecting and resolving conflicts that are caused by the same row being updated simultaneously in multiple database instances.
CREP replication is configured by defining partitions that contain the tables to be replicated. Hence, it is possible for database instances to have local tables that are not part of replication. It is also possible to configure replication so that some columns of a replicated table are not replicated.
Designing a multi-database system that uses CREP involves engineering work in both system topology and data model design.
CREP provides a flexible toolkit for creating different kinds of multi-database systems for various goals, for example:
▪ You can scale a system horizontally by either sharing the same data in multiple database instances or partitioning the data. This enables you to scale a system for both volume and transaction throughput.
▪ You can create an arbitrary number of asynchronously replicated copies of a database for geographical redundancy, fault tolerance, reporting and other purposes.
CREP replication overhead is designed to be low and, due to CREP being a push-based replication solution, there are no peaks of CPU and network consumption caused by too frequent polling. The overall overhead and CPU consumption that is required by CREP replication is substantially lower than that required to process the actual database operations that are replicated, and therefore replication should not be the bottleneck.
Similarly to Advanced Replication, the transfer of data is transactional. All rows that are replicated in the same transaction become visible at the same time. Also, all successfully committed transactions are guaranteed to be replicated to all target databases in transactional order.
Migration and compatibility
CREP does not support databases from earlier releases of solidDB as the source or target databases for replication.