What's the best practice for the following scenario:
I've an embeded device with a single, lightweight database; a powerful server with a cluster; a cluster in the cloud.
I'd like to synchronize the data in the embeded device and the server. I'd like to synchronize the data in the server and the cloud.
Because the server can have more space than the embeded device and might be connected to several devices, I need a selective bidirectional synchronization. So that e.g. only data from that device and which isn't older than a week would be synchronized in both directions.
The same applies to the synchronization between the server and the cloud.
I first thought about using MongoDB for that scenario, but I don't have any idea about how to synchronize the different MongoDB clusters or the cluster with a single mongodb instance.
Do you know a solution or an alternative to solve this? I also tried couchbase/ couchdb, but this won't run very well on my embeded devices. I'd like to solve this without implementing a complex web-api.