Reputation: 564
I'm trying to understand what sort of distributed transactions OrientDB supports. The documentation on distributed transactions here:
http://orientdb.com/docs/last/Distributed-Architecture.html#distributed-transactions
Seems to be describing transactionally updating replicas of a cluster using a consensus protocol, but does not describe anything about updating multiple clusters on multiple servers.
Are distributed transactions in OrientDB limited to executing on a single cluster, or can ACID transactions be executed on multiple clusters on multiple servers? If so, what is the mechanism that OrientDB uses to accomplish this?
Upvotes: 1
Views: 115
Reputation: 9060
Distributed transaction can include records of multiple class/clusters. The protocol used is an optimistic 2-phase commit, very similar to the one used in Google BigTable (https://arxiv.org/html/1106.3325). The consensus is based on a writeQuorum
that is majority by default, but can be relaxed (eventual consistency) or increased (=all) to have no dirty reads between servers.
Upvotes: 1