Apache CouchDB is an HTTP + JSON document database with Map Reduce views and bi-directional replication. The Couch Replication Protocol is implemented in a variety of projects and products that span computing environments from globally distributed server-clusters, over mobile phones to web browsers.
N/A
Redis Software
Score 8.4 out of 10
N/A
Redis is an open source in-memory data structure server and NoSQL database.
N/A
Pricing
Apache CouchDB
Redis Software
Editions & Modules
No answers on this topic
No answers on this topic
Offerings
Pricing Offerings
CouchDB
Redis Software
Free Trial
No
Yes
Free/Freemium Version
No
Yes
Premium Consulting/Integration Services
No
No
Entry-level Setup Fee
No setup fee
Optional
Additional Details
—
—
More Pricing Information
Community Pulse
Apache CouchDB
Redis Software
Features
Apache CouchDB
Redis Software
NoSQL Databases
Comparison of NoSQL Databases features of Product A and Product B
It's good as a general JSON document store and basic map/reduce system. For more specialized tasks like message queuing, graph traversal, streaming metrics aggregation, or arbitrary table joins, I'd recommend another database.
Perfect solution for caching needs. If you have a bottleneck due to frequent data access to your database, then Redis can really help you by diverting those traffic away from your database. Its key/value pair structure also makes data lookup very efficient, providing excellent performance.
Easy for developers to understand. Unlike Riak, which I've used in the past, it's fast without having to worry about eventual consistency.
Reliable. With a proper multi-node configuration, it can handle failover instantly.
Configurable. We primarily still use Memcache for caching but one of the teams uses Redis for both long-term storage and temporary expiry keys without taking on another external dependency.
Fast. We process tens of thousands of RPS and it doesn't skip a beat.
Redis is super fast but it comes with a cost. Whole dataset resides in RAM. So it can be costly as primary memory is more costly, then secondary ones.
Persistence issues: To achieve it, Redis uses a memory dump to create a persistence snapshot, that's cool. But it requires some Linux Kernel tweaking to avoid performance degradation while the Redis server process is forking. This further causes latency.
Master-slave structure side effect: Master-slave architecture comes with its own side effects. Please note that there will be only one master with multiple slaves for replication. All writing goes to the master, which creates more load on the master node. So, when the master goes down, the whole architecture does.
As a highly distributed database system, CouchDB naturally has strong high availability with traffic load-balancing capability. It is also easy to scale and replicate data in a cluster for redundancy. However, there is still some room for query performance improvement in the future.
We will definitely continue using Redis because: 1. It is free and open source. 2. We already use it in so many applications, it will be hard for us to let go. 3. There isn't another competitive product that we know of that gives a better performance. 4. We never had any major issues with Redis, so no point turning our backs.
Couchdb is very simple to use and the features are also reduced but well implemented. In order to use it the way its designed, the ui is adequate and easy. Of course, there are some other task that can't be performed through the admin ui but the minimalistic design allows you to use external libraries to develop custom scripts
It is quite simple to set up for the purpose of managing user sessions in the backend. It can be easily integrated with other products or technologies, such as Spring in Java. If you need to actually display the data stored in Redis in your application this is a bit difficult to understand initially but is possible.
The support team has always been excellent in handling our mostly questions, rarely problems. They are responsive, find the solution and get us moving forward again. I have never had to escalate a case with them. They have always solved our problems in a very timely manner. I highly commend the support team.
it support is minimal also hw requirements. Also for development, we can have databases replicated everywhere and the replication is automagical. once you set up the security and the rules for replication, you are ready to go. The absence of a model let you build your app the way you want it
Open Source, and freely able to install it on any OS you desire (the big 3, anyways) CouchDB was selected for that, it's early-adoption of JSON and its mobile-friendly environment. Also, I have used it off and on in various non-professional projects, and it was really one of the first exposure to databases in my career
UI isn't that great compared to the other competitors. The management of our memcached cluster was becoming pretty complicated as the application grew in size. Redis is a much better option compared to memcached. Redis is bit unreliable compared to the alternative RabbitMQ especially when it needs to be integrated with Celery.
Biggest impact on our business has been that CouchDB has been pretty invisible from a cost or issues perspective. It just works.
We use the Apache releases, so it's free. Of course there is a cost to "free" - we have invested time to become fluent in using and understanding CouchDB. But we feel the investment was well worth the effort and we have a solid, fundamental technology to our products that "just works".
There are some things we do - SaaS vs self-hosting - that have probably been kept simple by using CouchDB. Overall, we are extremely happy with CouchDB.
Existing tools like Redisson that were built over Redis reduced dev time in solving challenging problems, which had a positive impact on ROI.
We initially misused Redis for persistent storage which had a negative impact on ROI because we were paying a lot for inactive users.
The increased performance we achieved using Redis in areas like locking helped us improve the performance of our system reducing the likelihood of system timeouts.