Multiple Country support design strategy?

Is it advisable to have 1 couchbase instance for an app that supports multiple countries? It’s not like localization (i.e. translating the texts according to the country) but they have different content. Something like in this country, their list of customers is different from another country. However, we have a feature that’s like comparing the products from different countries.

How do you design something like this? One way was using one couchbase instance(db) and then use channels to separate per country. But I’m thinking is this really okay to have 1 db for all the countries? Won’t this be too big?

Any advice?

Thanks in advance!

I don’t see a reason why not as long as you scale your server instance to hold the documents. That way, if your application needs change in future to include documents to be shared across countries or you have a set of common documents across users or if documents have to be moved between countries, it would make things a lot simpler.
How many documents are you thinking of approximately

Will let @househippo comment if he has any numbers for scaling instances…


A good rule of thumb I use to decide to seperate data into different buckets or even different clusters is:

  1. Security - Will one set of data have PII/PCI data and the other have publicly data?
  2. Business Use - Is this data for marketing and another for customers operations?
  3. Operations - Does one data set require specific monitoring on it and/or will the data set grow to a point were it needs its own cluster

What would you consider to be big?