Polyglot Persistence Using CouchDB: a User Study

Pedro Narciso García Revington talked to us about how he first discovered CouchDB and what his experience has been employing it in applications.

How did you hear about CouchDB, and why did you choose to use it?

Back in 2010 I chose CouchDB over other alternatives because of its replication feed. I’m still using CouchDB today.

Did you have a specific problem that CouchDB solved?

At some point, when you have an application that stores data in multiple databases (this is called polyglot persistence), you will need to sync data between them, i.e. you want to index your product catalog in ElasticSearch, or you want to feed a Hadoop job with some data from your database (you don’t want Hadoop hitting your db, right?). CouchDB replication feed really shines here! Something that otherwise can be really complicated and error prone becomes easy and reliable.

For the folks who are unsure of how they could use CouchDB–because there are a lot of databases out there—could you explain the use case?

If you need a document database CouchDB is your best choice. The API is really simple: just a REST service where you can CRUD JSON. It is also truly schemaless. On top of that you have the replication feed.

What would you say is the top benefit of using CouchDB?

You can simplify a lot of your development with the replication feed.

What tools are you using in addition for your infrastructure? Have you discovered anything that pairs well with CouchDB?

I’m a big fan of polyglot persistence. I use other databases like Postgresql, Redis, Aerospike, and ElasticSearch. If your are using node.js you can use nano, a node.js CouchDB library, and txn to create all-or-nothing transactions. I also created my own transactions library.

What are your future plans with your project? Any cool plans or developments you want to promote?

I’m in the process of launching my own company: Shoptimiza. The idea is to bring powerful eCommerce tools to small- and mid-sized companies for a reasonable price. I expect to launch it in Q4 2018.

Use cases are a great avenue for sharing useful technical information. Please consider joining the fun! Additionally, if there’s something you’d like to see covered on the CouchDB blog, we would love to accommodate. Email us!

For more about CouchDB visit couchdb.org or follow us on Twitter at @couchdb

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s