Category
|
HSB
|
CREP
|
Advanced Replication
|
---|---|---|---|
Intended use case
|
High availability and fault tolerance by database duplication. Retains high performance of a single solidDB server.
|
Permanently connected peer-to-peer network designed to retain high performance of a single solidDB server.
|
Loosely connected systems requiring transactional replication with low or moderate transaction loads.
|
Server count
|
Always 2
|
Any number
|
Any number
|
Cross-compatibility with other solidDB replication mechanisms
|
In Advanced Replication, master and replica databases can be a HSB pair.
All CREP databases can be one of a HSB pair.
|
All databases can be one of a HSB pair.
Do not use CREP and Advanced Replication to replicate to or from the same tables.
|
Master and replica databases can be a HSB pair.
Do not use CREP and Advanced Replication to replicate to or from the same tables.
|
Replication topology
|
2 nodes (primary and secondary)
|
Peer-to-peer network.
|
Hierarchical with multiple levels
|
Replication mechanism
|
One-directional. By default, synchronous replication of all write operations.
|
Reading write operations from transaction logs, re-executing selected transactions at specified nodes. Replication is possible in all directions by using the same mechanism.
|
Different mechanisms for moving data upward and downward in hierarchy. Transactions are propagated and re-executed upwards, updated rows are transferred downwards.
|
Conflict resolution
|
Not necessary, conflicts impossible.
|
Simple resolution rules by CREP module.
|
As the synchronization of databases is done by the application, conflict resolution must be done in the application by using stored procedures.
|
Support for different data in each server
|
Database instances are always exact copies of each other.
|
Full flexibility. All database instances can be subsets or supersets of each other. Replicated data is defined by replication partitions.
Tables or columns inside a replicated table can be excluded from replication.
|
Full flexibility. All database instances can be subsets or supersets of each other. Replicated data is defined by publications and saved statements.
Tables or columns inside a replicated table can be excluded from replication.
|
Application impacts
|
Application must handle errors caused by switches in server roles.
|
By default, the application is not aware of CREP. However, database schema must be aware of replication.
|
Application must be aware of Advanced Replication. Transactions to be propagated must be saved explicitly. Also, a separate replication control module is required to handle replication.
|
Additional architectural elements
|
A High Availability Controller (HAC) or Watchdog to monitor and control database instances (included with solidDB).
|
Replication must be configured and controlled in each target database.
|
A replication control module to control propagation and refresh of publications is not included in solidDB, and must be implemented at the application level.
|