We are currently investigating database options for distributed database (possibly globally distributed) where the data in general is stored in "cloud" (this would not be a special requirement). The special requirement is that a parts of the database must be also available in local branches. Data added in local branches should be replicated (delay is not a problem) to the cloud and changes made in the cloud should be replicated back to the related database in branches. So a multi-master setup.

Focus in on partition tolerance. It is possible that the local branches have from time to time no network connectivity or a slow network. So the database in the branches should be able to work by themselves and sync data and changes back.

We are long to solve this problem on the database layer. One database for cloud and local branches.

The only database that I came across to solve this problem is CouchDB with providing the "AP" of the CAP theorem.

Are there any database available (I checked options like Elasticsearch, Crate, ArangoDB etc.) that play in the same area ("AP")?

Requirement is that we must be able to install the database on-premise in local branches. For the "cloud" part I could image using a SaaS or do the hosting ourselves.

Options like Postgres or MySQL with related replication options are not of interest here.

  • 1
    Why is Postgres out of the question? It should fir pretty well for your problem, with logical replication. – ypercubeᵀᴹ Apr 26 '19 at 18:48

You may want to consider Aerospike NoSQL database. You can install it on-premise and in the cloud yourselves. It has both AP and CP modes. It has Cross-Datacenter-Replication (XDR) which will replicate data from one cluster to another in asynchronous way. Network delays/disconnection are taken care of. However, XDR is an enterprise-only feature. Its not available in the free community version.

Not the answer you're looking for? Browse other questions tagged or ask your own question.