7

I'm planing on having my database stored in Cloudant.
Is it safe to use local CouchDB during development, testing and staging of our application with knowledge that everything works locally should also work on Cloudant?

Ido Ran
  • 10,584
  • 17
  • 80
  • 143

2 Answers2

6

Certainly. Cloudant is API compatible with the Apache CouchDB API with a few subtle distinctions, all of which are documented at http://docs.cloudant.com. Some highlights are:

  • we disable temporary views (they would be expensive for you at scale!)
  • for our distributed system, we have extend the update_seq from an integer to a string
  • your re-reduce code will nearly always be called, so we recommend using exclusively built-in reduce methods
  • we have fully integrated lucence indexing/search
  • we have multi-stage mapreduce processing via "dbcopy"
Will Holley
  • 1,745
  • 10
  • 11
  • 1
    Maybe it is worth making clear that lucene search and dbcopy are not available on CouchDB. – Kim Stebel Aug 08 '13 at 13:16
  • On Cloudant there is no support for `all_or_nothing` option in bulk updates. I don't see that information anywhere in Cloudant docs and learned that from a runtime error. – TMG Apr 13 '15 at 06:46
4

I do a very similar process. You don't need the same versions, it will actually be very different no matter how you look at it. Cloudant is very cool, and have made a lot of alterations and additions to their system. So, if you are looking at developing views, attachments, etc, then you can develop those locally on your dev project. Once your dev project looks good, I would have those checked into the staging/qa server, which I like to use Cloudant for as well. Thats where you need to get everyones code working together. after that is done, you can fire off a replicator to replicate your staging to production.

No matter how you look at it though, or how you envision the process being, you are going to want to take a close look at the going from dev to QA. There are ways to go about it so that everyone can dev on their own, and merge up. I personally like to use github. I hope this helps you out in your tasks.

AlienDev
  • 333
  • 2
  • 16