So this is a bit of a tricky situation to manage, especially automatically - one DB that does seem to handle this very well is Cassandra.
Essentially I’m working on a project where we’re evaluating Couchbase, and we’re hoping to host in Google Cloud Platform on preemptible nodes that could be turned off at any time. We’ll probably start with 3 nodes which fulfils the needs of Couchbase initially, however we’re wondering a few things:
- If a node is turned off, and a new node comes on in it’s place (i.e. not the same node turning back on) how does Couchbase handle that? Would we end up with a 4 node cluster with 1 permanently offline?
- Can a new node heal from having no data, and rebalance automatically when it joins the cluster?
- If you have more than 3 nodes, can more than one fail at once? (The bit of research we’ve done so far suggests if one node fails, anything past that will require manual intervention - which is not ideal, even though the reasoning is understandable).
- Can you automatically rebalance?
Perhaps a different approach could also be suggested in place of the above? Either way, Couchbase looks awesome and seems to fulfil a lot of our needs, but this is a fairly critical part of what we need. We’re also wondering if we could just write our own thin supporting software that handles some of the above too?