The Congruity replication technology
offers low latency, high throughput data
store replication, supporting applications
that require high availability and high
performance.
The Congruity Replication Engine enables
transparent Multi-Master or Peer Replication.
Unlike traditional master/slave replication
architectures, each replica serves as
a master. Actions can be initiated from
any replica, and are immediately replicated
to all the other participating replicas.
The engine guarantees that all actions
are applied at all the replicas in the
exact same order, and thus that all replicas
remain identical. The engine is highly
scalable and supports tens of replicas
either in a cluster or over the Internet.
Even in local area networks, network
partitions occur regularly due to either
hardware (e.g. temporarily disconnected
switches) or software (heavily loaded
servers). In wide area networks, partitions
can be even more common. The Congruity Replication Engine can recover from a
wide range of network and server failures.
It operates correctly even in environments
that experience server crashes and network
partitions. When partitioned components
remerge, the engines exchange information
about actions that are known to each component,
This exchange enables all components to
share the same knowledge and the data
to appear identical on both sites
The Congruity Replication Engine utilizes
advanced and provably correct protocols
and methods to efficiently generate and
disseminate a global persistent consistent
order of all actions. Congruity Engine
can sustain many hundreds of transactions
per second.
Several elements contribute to the Congruity
Engine's high performance and scalability.
- Optimized synchronization algorithms
minimize latency while providing high
throughput.
- The Congruity algorithm avoids unnecessary
delays resulting from end-to-end acknowledgments.
Unlike typical two-phase commit mechanisms,
the Congruity protocol does not require
an end to end acknowledgement for every
action. Instead, end-to-end acknowledgements
are used only once for every network
connectivity change event (such as network
partition or merge).
- Read only queries can be performed
locally, and need not be sent over the
network, thus providing high performance
and availability.
- Synchronous disk writes are almost
eliminated, without compromising consistency.
- Highly efficient real time ordered
local and wide area network dissemination
is gained by using the Spread group
communication toolkit.
- The Congruity architecture eliminates
the problem of conflicts between replicas
because updates are always invoked in
the same order at all the replicas,
and therefore no conflicts are created.
The replication engine supports various
semantic models, from strict consistency
and fully ordered actions, to weaker models,
relaxing or enforcing the consistency
constraints as needed by the application.
Congruity is a generic replication engine which runs outside the replicated data store and can be seamlessly integrated with existing databases and applications. The engine can even replicate a combination of data stores from different vendors.