On Thu, Mar 13, 2014 at 4:17 AM, Егор Голощапов <[email protected]> wrote:

> Aliaksey Kandratsenka ,
> thank you very much for the answer.
>
> Could you please tell me, is it possible to make couchbase client (java
> client for example) write/read data from cluster even if one node fails? If
> it is, how it can be done?
>

I don't think it's possible with couchbase. It's simply not part of design.

There are systems that have that ability to be always available even in
face of more than half nodes failing. E.g. riak. But they give up
consistency while doing this. In fact even in absence of failures such
systems are not fully consistent (i.e. some clients may see stale values).
Another downside is because they have to accept writes in face of network
partition, they have to be able to converge independent mutations of same
doc. That converge logic is called conflict resolution and it has to be
implemented in application. So building against this model can be quite
tricky.

We believe that what couchbase implements is good set of tradeoffs:

* it's "in practice" consistent (easy to program against)

* it's fast (because client has exactly one node to work with for any given
id)

* it's simple (no paxos and no vector clocks or revision trees; and that
means less code and less bugs; and also ease of understanding and tuning
and scaling etc)

* it's scalable

* if node fails, only subset of data becomes unavailable and only until
failover is done. Given that node or network failures are infrequent and
given that failover is quick operation, we believe that periods of
unavailability are infrequent and short.

-- 
You received this message because you are subscribed to the Google Groups 
"Couchbase" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to