Skip to main content
TrustRadius
CouchDB

CouchDB

Overview

What is CouchDB?

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…

Read more
Recent Reviews

TrustRadius Insights

CouchDB has proven to be a valuable tool in various industries and projects. For instance, it is widely used in the Big Data Insight …
Continue reading

Chillaxin

9 out of 10
April 19, 2016
Incentivized
CouchDB was used for data replication across different audiences and when users were in offline mode (no/low internet). It was initially …
Continue reading
Read all reviews
Return to navigation

Pricing

View all pricing
N/A
Unavailable

What is CouchDB?

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.

Entry-level set up fee?

  • No setup fee

Offerings

  • Free Trial
  • Free/Freemium Version
  • Premium Consulting/Integration Services

Would you like us to let the vendor know that you want pricing?

23 people also want pricing

Alternatives Pricing

What is MongoDB?

MongoDB is an open source document-oriented database system. It is part of the NoSQL family of database systems. Instead of storing data in tables as is done in a "classical" relational database, MongoDB stores structured data as JSON-like documents with dynamic schemas (MongoDB calls the format…

What is Cloud BigTable?

Google's Cloud Bigtable is a fully managed, scalable NoSQL database service for large analytical and operational workloads with up to 99.999% availability.

Return to navigation

Product Details

What is CouchDB?

CouchDB Technical Details

Operating SystemsUnspecified
Mobile ApplicationNo
Return to navigation

Comparisons

View all alternatives
Return to navigation

Reviews and Ratings

(30)

Community Insights

TrustRadius Insights are summaries of user sentiment data from TrustRadius reviews and, when necessary, 3rd-party data sources. Have feedback on this content? Let us know!

CouchDB has proven to be a valuable tool in various industries and projects. For instance, it is widely used in the Big Data Insight Product Division for development and production environment setups. Its flexibility and scalability make it an attractive alternative to relational databases like MySQL, especially when handling large amounts of unstructured data. In media-oriented companies such as advertising and film, CouchDB is utilized to manage vast quantities of distributed and rapidly changing file sets.

Additionally, CouchDB finds its utility in mobile applications that require offline data storage. The sync capability of the database has been highly beneficial in ensuring seamless data availability even when users are offline. Legacy applications that previously relied on SQL databases have successfully migrated to CouchDB, resulting in improved response times. Another use case involves route planning for sales forces, where CouchDB serves as a central farm for mobile devices, with content partitioned per user.

Moreover, CouchDB plays a crucial role in storing time-series data for test sensor networks, while introducing users to non-SQL concepts and technologies. Its simplicity, ease of setup and configuration, and developer friendliness have made it the go-to NoSQL database server for globally used network testing and security products. Customers value CouchDB for its ability to save and access thousands of crucial documents representing vital information for their activities.

Furthermore, CouchDB is leveraged by Datawhere, a file intelligence platform that helps individuals and businesses find digital assets across platforms, devices, and geographic barriers. By working seamlessly with Logstash and Elasticsearch, CouchDB provides fast and powerful search functionality for customers. It also assists in storing a million SERP pages gathered daily and parsing them to find ads on each page.

Overall, CouchDB's diverse use cases span from social media analytics systems to file management in media-oriented companies, enabling offline data storage in mobile apps, facilitating database migration from SQL systems, supporting route planning for sales forces, storing time-series data for sensor networks, and serving as the main NoSQL information database server for global network testing and security products. Its versatility, reliability, and ease of use position it as a valuable tool in various domains.

Attribute Ratings

Reviews

(1-10 of 10)
Companies can't remove reviews or game the system. Here's why
Score 10 out of 10
Vetted Review
Verified User
Incentivized
CouchDB fulfills a nice problem for us: we use it to store time-series data for a test sensor network, and it is a great introduction to non-SQL concepts and technologies. After performing feasibility analysis on a few projects looking for a good, solid no-SQL solution, several platforms were examined, including MongoDB. However, for this particular project, MongoDB was simply too large for the Job, and no one on the staff had much experience with non-SQL DBMS's. So, we needed a small, powerful database that worked out of the box, and was easy to understand and therefore implement. The value proposition of CouchDB is its simplicity: It's easy to setup and configure and therefore easy to delegate to an IT analyst, and not worry about blowing project funds on hiring outside talent (usually). The Second proposition of CouchDB is that it is developer friendly: you don't need a salesman from XYZ, Corp. to pitch your development team(s) multi-grand licensing deals just to get it up and running: it's open source and works on all of the big platforms (i.e. OSes).

  • Document oriented database management! This alone is worth it: being able to describe your record in a JSON document, and then index it is HUGE.
  • You're able to store the SAME document in multiple database instances, and due to CouchDB's engine, it is not a problem.
  • FAST: Accessing JSON is programmatically easy to parse, and therefore makes it fast to query and view.
  • Fan Following: If you have used CouchDB in a limited role, and you are not a DBA, then you will blindly fall in love with it. If you're an old DBA that is used to such artifacts as Cubes, then CouchDB may represent alien technology and thus be susceptible to being over-looked.
  • CAN be slow: But this is true of any database: Some queries just take longer, and that's a fact of life.
  • Uses an awkward engine: it uses an older version of the Javascript engine, which leaves you exposed to vulnerabilities (allegedly).
Great for REST API development, if you want a small, fast server that will send and receive JSON structures, CouchDB is hard to beat. Not great for enterprise-level relational database querying (no kidding). While by definition, document-oriented databases are not relational, porting or migrating from relational, and using CouchDB as a backend is probably not a wise move as it's reliable, but It may not always be highly available.
Johanes Siregar | TrustRadius Reviewer
Score 8 out of 10
Vetted Review
Verified User
Incentivized
Currently, we use CouchDB in various projects throughout our Big Data Insight Product Division for development and production environment setup. Mainly it is being used to store serialized (JSON formatted) unstructured data. For our development environment, usually, a single node DB is more than sufficient for prototyping and to deliver Minimum Viable Product (MVP). However, for production setup, which demands High Availability (HA), a cluster DB with replication capability is a must.
  • Serialized objects can be stored as unstructured data in JSON formatted documents highly desirable for Web and Mobile Applications.
  • RESTful HTTP API provides flexible and seamless database operations.
  • Scalable distributed high availability solution with replication capability for redundant data storage.
  • NoSQL DB can become a challenge for seasoned RDBMS users.
  • The map-reduce paradigm can be very demanding for first-time users.
  • JSON format documents with Key-Value pairs are somewhat verbose and consume more storage.
CouchDB is particularly suitable for storing unstructured or semi-structured data that does not require strict fields and data types. JSON document with RESTful HTTP API for operation is highly desirable to be stored as a serialized object for Web and Mobile applications. However, NoSQL and Map-Reduce paradigm might be a significant hurdle to integrate with SQL-RDBMS system.
March 31, 2017

CouchDB for analytics

Sean Lang | TrustRadius Reviewer
Score 9 out of 10
Vetted Review
Verified User
Incentivized
It's being used as a document store for a social media analytics system, dumping thousands of updates an hour into a map/reduce system that generates reports and feeds into other task-specific databases. It's a more flexible alternative to relational databases like MySQL, and is easier to scale due to master-master replication.
  • It can replicate and sync with web browsers via PouchDB. This lets you keep a synced copy of your database on the client-side, which offers much faster data access than continuous HTTP requests would allow, and enables offline usage.
  • Simple Map/Reduce support. The M/R system lets you process terabytes of documents in parallel, save the results, and only need to reprocess documents that have changed on subsequent updates. While not as powerful as Hadoop, it is an easy to use query system that's hard to screw up.
  • Sharding and Clustering support. As of CouchDB 2.0, it supports clustering and sharding of documents between instances without needing a load balancer to determine where requests should go.
  • Master to Master replication lets you clone, continuously backup, and listen for changes through the replication protocol, even over unreliable WAN links.
  • The HTTP content type headers aren't explicitly set to `application/json` when you make a request with your browser. They incorrectly respond with `text/plain`. This issue has been reported multiple times, and even had patches proposed, but so far they've been rejected.
  • CouchDB doesn't support returning gzipped responses. You can get around this by using nginx in front of your CouchDB servers, but it could be faster if it was supported directly.
  • Even in clustered mode, CouchDB nodes aren't able to share computed view data through replication. Each node needs to compute it on their own, which is a little wasteful.
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.
Dave Lundberg | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Incentivized
Datawhere provides a file intelligence platform that helps people and companies find digital assets ("file") across platforms, devices, and geographic barriers. Our customers are mostly in media-oriented companies - advertising, film, visual effects, post-production, etc., - that have large numbers of distributed, rapidly changing file sets that are touched by many users.

We use CouchDB + Logstash + Elasticsearch to provide incredibly fast, powerful "search and do stuff" functionality for our customers. And they love it!
  • Technically easy to use and integrate. REST API allows CouchDB to work with all technologies we use: node.js, lua, python, Elasticsearch, Logstash, etc. Our experience is that it is very robust and has been trouble-free to sue for over 5 years of heavy daily use.
  • Using map/reduce allows us to quickly implement new views into our customer's data based on their needs. Easy to develop new features based on CouchDB's view/list/show mechanism. Functions are written in Javascript, which allows a broad range of our developer's to understand and contribute to code.
  • NoSQL is wonderful for our data set. We support format-specific metadata for many thousands of different file types without the need to change schemas or anything else. We find that CouchDB allows us to focus more on our applications and customers and less on back-end design.
  • Scales for us well. We have 100's millions of documents, many with binary attachments, stored in thousands of databases. Running on some fairly meager hardware distributed across multiple locations. There is not difference in performance today as when we had a few thousand documents when we started.
  • Replication model is very nice and simple. And fast! We use it for obvious things like backups & redundancy. But we also use it for deploying software updates and for remote data colleciton from customer sites.
  • CouchDB's documentation is a bit lacking. The technical bits are all there from Apache, but meaningful examples are hard to find. I would say the learning curve is a few months to get fluent. Not that CouchDB is too complex, but it has a design that takes some effort to understand and leverage. But for us the results have been more than worth it.
  • CouchDB could use some better tools for managing & administrating itself. We have many thousands of CouchDB databases and had to invest a bit of development effort to be able to managing it all. But the REST API is simple, there are node.js modules like cradle, etc that minimze any challenges we have had.
  • It is not widely used. Or if it is, not a lot of people are admitting to it! This may be a concern if you are looking for people that have CouchDB experience to work on your project.
We have a read-heavy environment and CouchDB excels for us. We also use Elasticsearch with CouchDB for powerful and fast searching. We also have both SaaS and self-hosted deployments of our technology. CouchDB has been great to use on our infrastructure, as well as on our customer's systems. Simple to deploy, virtually no management. Scales to all sorts of hardware (we have it on Raspberry PIs!).

Do your homework and understand the nature of your data and how it needs to be stored, accessed, and moved around. Make sure that NoSQL fits your problem. If it does, look at CouchDB. It isn't the most popular NoSQL database, but we love it.
Josh Stapp | TrustRadius Reviewer
Score 2 out of 10
Vetted Review
Verified User
Incentivized
It held a million SERP pages gathered each day. That information was then parsed to find ads on each page. Building the views and actually deleting files with a compact took ages. On a large AWS server, it took about a day to delete information for one day which has to happen every 6 months. We replaced CouchDB a year ago with AWS S3 and S3 has been amazing. We keep track of the metadata to pull S3 files in our own data base.
  • Can host on your own server
  • Views can do complex things to show subsets of data
  • Install was easy
  • SUPER SLOW. We do tons of data and S3 and just using the file system were both way faster
  • Using views is too complex
  • Stores entire DB as 1 file, good luck when it becomes many TB
If you want to do more than just storing files on the server, need to share them over the net and not use S3 then couchDB might work out. If you need something with performance and are writing 100GB daily, CouchDB is gonna have a hard time, particularly when you want to start actually deleting with compact rather than their delete that just soft deletes.

March 08, 2017

CouchDB Fanboy

LeVar Berry | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Incentivized
It is being used within all the mobile applications we develop where offline data is needed. The ability for CouchDB to sync is truly amazing and saved us lots of headaches and heartache.
  • Ease of install and setup.
  • Ease of syncing with another database. This was truly set it and forget it.
  • The REST API to read data. No additional drivers are needed to work with CouchDB.
  • Documentation is always helpful. Took a while to understand how indexing and views worked.
  • User security was a bit hard to set up. Still don't believe we have it correct.
  • It returns data in a non-standard way than we've found with other packages like MongoDB. Caused a few days of head scratching until we realized what we were looking at.
Mobile and social medial style applications are the best for this style of database. It would be a bit harder to use it in places that are search heavy.
Aditya Peshave | TrustRadius Reviewer
Score 8 out of 10
Vetted Review
Verified User
Incentivized
There are multiple legacy applications which use SQL databases as a backend for services which are invoked from POS systems. We managed to migrate these applications to CouchDB which provided a faster response.
  • Faster retrieval is the main key. When the data is denormalized in required format, the response time for queries without id columns are really fast in CouchDB.
  • Replacing Oracle views to bucket structure provides great readability and flexibility to the data.
  • Writing multiple views supporting the needs that will perform the action in an equal amount of time makes CouchDB the favourite database for query-like micro services.
  • Views need to be more easier for creation.
  • Documentation is the key for the development with multiple languages which this lacks.
Well Suited: Services/applications that return or act as a backend to the application that require a fast throughput.
Less Appropriate: Data structure is too complex to do denormalization and will require multiple hops to serve one request.
Score 6 out of 10
Vetted Review
Verified User
Incentivized
I am using CouchDB as the main NoSQL information database server for our product, a globally used network testing and security product. CouchDB helps us save and access thousands of documents of crucial information representing the data points and meta data of the product activities.
  • Lightweight NoSQL data store.
  • Can be accessed dynamically using any RESTful-API compliant software.
  • Saves data in documents based on JSON structures.
  • Can view and manipulate data inside your browser.
  • Futon (the in-browser views manager) is not up to par. It lacks tons of needed functionality (like deleting a group of documents in one action).
  • CouchDB is NoSQL, which means accessing data needs views (written in JS only). Your power of accessing data is limited to the power of your written views (so no unified way to access any types of data documents like we see in structures SQL databases).
  • CouchDB software adapters are limited. You mainly have a couch-rest library for rails apps.
I can say that generally if your application is in need for a data store where you care more about dumping data than extracting and viewing it, use CouchDB. It's fast. However, you should know that if your data grows really big, reindexing slows down everything. And I can recall many scenarios when reindexing took the database down for a few minutes after every production deploy, that we had to take the website down for a few minutes reporting to our clients temporary unavailability of service (which was expected after a major upgrade).

If your product depends heavily of mining data, stay away from CouchDB, since it's not the best out there when it comes to data search capabilities. May be then it's worth more looking into other options like MongoDB.
April 19, 2016

Chillaxin

Score 9 out of 10
Vetted Review
Verified User
Incentivized
CouchDB was used for data replication across different audiences and when users were in offline mode (no/low internet). It was initially used as a proof of concept with an intent to use across mobile apps.
  • Replication sync
  • NoSql schema
  • Small client side implementation (PouchDB)
  • Better client side/mobile implemention
  • Alway room for improvement for documentation
I feel as though CouchDB is a real contender in the NoSQL DB space.
Victor Pease Solano | TrustRadius Reviewer
Score 7 out of 10
Vetted Review
Verified User
Incentivized
CouchDB is corporate wide solution used for:

  • route planning for sales force
  • a central farm and mobile devices replicating the content partitioned per user
  • Syncrhonization
  • Fast http interface
  • Dead easy scalability
  • Authentication
  • Security (you must compile your own https capable instance)
  • Project mango is not built in yet
CouchDB is best suited for:
  • db front end for mobile applications
  • apps with no intensive data entry requirements
It is not suited for:
  • bulk operations
  • apps with server side requirements
  • complex queries
Return to navigation