Hello couchdb users,
We're currently evaluating couchdb for a project and would very much
appreciate
any thoughts and insights regarding the suitability of couchdb for this.
We want to use CouchDB on several nodes (say around 12 nodes
initially, but may
grow over time). Each node runs our application that handles external
requests
by updating the local couchdb database. There is no loadbalancer.
Continuous replication between all nodes make sure all databases are
(eventually) consistent. The same document can be updated via
different nodes,
so conflicts are expected to happen.
Any node can fail and should be synchronized when it is back online.
We anticipate the system to handle around 1000 transactions per
second. While
load is not necessarily distributed evenly between all nodes, let's
say around
100 tps per node.
What delay can we expect before a document is replicated to any of the
other
nodes? The couchdb book mentions a "complex algorithm determining the
ideal
moment to replicate". My initial tests (although with only two nodes
the same
network segment) indicates replication happens nearly instantly when
inserting
some hundred documents per second.
Would a full mesh of continuous replication between many nodes pose a
problem?
So far I've only tested replication between two nodes. I'll add more
nodes to
the testbed as I get my hands on more machines.
Is there any difference between push and pull mode replication?
There was however one troublesome issue with replication. There were 116
documents missing in one database. Restarting both couches and trying
any
combination of replication didn't help. One node was always running on
100% CPU
and the other machine was completely idle. Once I continued with the
test
insertions and setting up continuous replication again it resolved
itself. Have
anyone experienced the same thing?
I'm running CouchDB 0.10.0a810462 (I checked out the 0.10.x branch) on
FreeBSD
Erlang R13B01 (erts-5.7.2) [source] [64-bit] [smp:4:4] [rq:4] [async-
threads:0] [hipe] [kernel-poll:false]
thanks
-martin