Is Couchbase Appropriate?
I am currently gathering requirements for a project that might be able to make use of Couch. Since I do not have experience with Couch, I wanted to ask a preliminary question as to whether Couch is a good fit for this application.
The app will reside in 30 locations around the globe. The client would like to have one central server (I'll refer to it as the Core server) located at Amazon and then copies of the database at every location. Users would work on their local database with CRUD work being done locally. The work at one location would be replicated to the Core server. The core server would then serve up the data to the other 29 locations to keep everyone in synch. When a user travels, which happens often, instead of hitting their local server they would be making updates to the core server.
From a reading of the docs, it would appear Couch can handle the above scenario but I want to confirm that I am understanding Couch's replication technology correctly. Are there any gotchas I should be aware of that might make Couch ill suited for this scenario?
Thanks,
Alex
It's certainly appropriate for this scenario.
One thing to clarify though, as an application developer you decide where you make changes. Couchbase Single just helps you with replication and identification of conflicts. If you let multiple people update the same record concurrently, then you're open to conflicts. It'll identify the conflicts to you.
On the other hand, if you send all changes through one "core" as you say, there wouldn't be any conflicts to resolve.