This page describes the native Erlang API of Antidote.
Clients can invoke these functions via RPC. A more convenient but restricted way for client applications to interact with Antidote is the protocol buffer interface:
Antidote provides a library of CRDTs. The interface of these CRDTs specify the operations and the parameters that can be used for inspection and modification of shared objects. In the following, we specify the supported {operation(), op_param()} pair for each of the supported CRDTs. The first element in the tuple specifies the update operation, and the second item indicates the corresponding parameters.
A unit of operation in Antidote is a transaction. A client should first start a transaction, then read and/or update several objects, and finally commit the transaction.
There are two types of transactions: interactive transactions and static transactions.
Interactive transactions
With an interactive transaction, a client can execute several updates and reads before committing the transactions. The interface of interactive transaction is:
An Antidote data center (DC) is a cluster of multiple antidote nodes. Antidote deployment can have multiple DCs where each DCs is a full replica. The cluster management API provides functions to create DCs and connect them.
Example
If 6 antidote nodes have already started, we can create two DCs with 3 nodes each as follows: