When comparing ArangoDB vs CouchDB, the Slant community recommends CouchDB for most people. In the question“What are the best databases to use for Node.js applications?” CouchDB is ranked 3rd while ArangoDB is ranked 9th. The most important reason people chose CouchDB is:
CouchDB works very well even when the network is physically partitioned
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Document and graph-orientend
You can model your data as documents or as a graph - no data model lock-in. You can even combine both models and use them in a single AQL query.
Pro Supports joins
Unlike many NoSQL databases, ArangoDB does support joins in AQL queries.
Pro JavaScript-API
You can extend ArangoDB using JavaScript that runs directly on the Server (Google V8). You can build data-centric microservices that aggregate, validate, transform or enrich data (It's up to you, plain JavaScript) and provide those via a custom API route.
Pro Transaction save
You can use ACID Transactions for short and small data retrieval and/or modification operations in ArangoDB.
Pro Easy cluster setup
Pro Powerful Java Driver (Sync & Async)
ArangoDB has a very good Java Driver for synchronous and asynchronous. In addition the team there is working on a Spring Data integration.
Pro Works well between physical network partitions
CouchDB works very well even when the network is physically partitioned
Pro Available
CouchDB is considered an available DMS according to the ACP theory of database management. As such it allows every client to always read and write
Pro Useful for applications where versioning is important
CouchDB is mostly used in applications where a large amount of data needs to be accumulated and where data only changes rarely.
Pro Changes API
You can use the RESTful API to listen for changes in your database, which is something most databases can't do. It makes it really easy for clients to keep their view of data up-to-date.
Pro RESTful API
Since everything is stored as a JSON document and served over HTTP, it's perfectly suited for communicating with client-side javascript, with or without middleware.
Cons
Con Can only achieve consistency through replication and verification
Since CouchDB is considered an AP (Available, Partition-Tolerant database management system), it is not really consistent (not all clients can have the same view of the data consistently) and the only way to achieve some "eventual consistency" is through replication and verification of data.
Con Uncertain future
After a very promising start, development began to drag after major supporters like Canonical, Selenium and CouchOne either shut down or moved to other tools. Development has begun to pick up again.