O'Reilly logo

Scaling CouchDB by Bradley Holt

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 2. Tuning and Designing for Scale

In this chapter, we will take a look at some performance tips that you can apply when tuning your database. While not directly related to scalability, increasing performance can increase the overall capacity of your system. There are many options available when tuning CouchDB to meet your needs.

We will also discuss considerations around the design of your documents. CouchDB is a schema-less database, giving you much flexibility in designing the document boundaries for your data. However, the decisions you make around designing your documents can have an impact on the performance and scalability of your database.

Performance Tips

The best way to increase the capacity of your database is to not send requests to it in the first place. Sometimes you can’t forego a database request altogether, but you can limit the amount of work you ask the database to do. Here are a some tips to limit the amount of work you ask of CouchDB and to increase performance (the applicability of these tips to your application may vary):

Note

For more information, see Chapter 23 in CouchDB: The Definitive Guide (O’Reilly), Operating CouchDB, and Operating CouchDB II.

  • Cache documents and query results using memcached or another caching system. For systems under heavy load, even caches that expire after only a few seconds can save many extra requests to your database. This caching can be done in your application or by using a reverse proxy server that supports caching. Optionally, ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required