Development for Cloudant using local CouchDB
Asked Answered
K

2

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?

Kyle answered 8/8, 2013 at 11:4 Comment(0)
S
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.

Sleeper answered 3/9, 2013 at 15:4 Comment(0)
S
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"
Shilashilha answered 8/8, 2013 at 11:22 Comment(2)
Maybe it is worth making clear that lucene search and dbcopy are not available on CouchDB.Mumbletypeg
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.Veronica
S
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.

Sleeper answered 3/9, 2013 at 15:4 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.