Skip to content

CouchDB backup instance - zones vs replicas? #2382

@nicknaychov

Description

@nicknaychov

Hi
I just got a nontraditional Christmas thought popping up in my mind :). I would like to setup backup of the main CouchDB install in second datacenter. Note that second setup will work only in case the first setup in the main datacenter is down. In the main datacenter I currently have 3 Couchdb's. In the second datacenter I would like to have 1 CouchDB. I do not want to mirror first setup of setting 3 VMs due to overhead related with that of managing&supporting another 3 VMs, plus cost is also consideration.

Initially I was thinking of setting second zone for CouchDB back up site with settings:

q=3
r=1
w=1
n=1
z=2
but not sure how adding new zone to existing setup works or if I need to do some re-balancing (I've never done CouchDB zoning). Plus I think this might be "over-engineering" of what I am trying to do. So I would like to find simpler/more effective approach, just like I do for each thing :)

What about If I just move one of the three CouchDB nodes to the backup site?

I known the read/writes should not happens over WAN and only replication should so what would be the best approach?

Current setup is:

q=3
r=2
w=2
n=3

so I am thinking of changing to :

q=3
r=1
w=1
n=3

Thus I will guarantee that read and writes will not leave the site and happens over WAN. This is important due to security concerns and prevent slow downs due to DB quorum requirements, while optimizing server setup at the same time?

Or this is stupid and I should just use 2 zones?

Any feedback or thoughts how you would backup your site instance and if above would work well will be much appreciated.

Thanks

Introduction

Abstract

Requirements Language

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in
RFC 2119.

Terminology


Detailed Description

Advantages and Disadvantages

Key Changes

Applications and Modules affected

HTTP API additions

HTTP API deprecations

Security Considerations

References

Acknowledgements

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions