Hi Jens,

I watched the talk after I posted the question and you had a perfect 
example of what I would like to use P2P for. And that's the example of 
using my app in the field and then syncing with other devices when no 
Internet connection is available. I've heard from a bunch of customers who 
use may app to gather data in the field during their archeological 
excavations and one common thing they all have is there's no Internet 
connection where they are, so they have to use my backup and restore 
function and use iTunes File Sharing to transfer the backup from their iOS 
device to their Mac via a USB cable. Cloud sync is impossible where they 
are. So I'm glad that this should be able to work well for them with a 
limited number of devices in the mesh.

I've posted an issue on github that I was having trying to sync 3 devices 
(iPhone 6, iPhone 6+, and Simulator) where it wasn't always syncing 
properly between devices and they could very easily get out of sync until 
you performed a restart. You may have already seen my post.

Thanks!

Brendan

On Saturday, June 13, 2015 at 5:26:09 PM UTC-6, Jens Alfke wrote:
>
>
> On Jun 13, 2015, at 2:09 PM, Brendan Duddridge <[email protected] 
> <javascript:>> wrote:
>
> Is this robust enough for lots and lots of data syncing? That is, if I 
> import 1000 records while offline, then plug into the mesh, will all the 
> devices in the mesh get all the changes? And if I had made changes on the 
> other devices will that also get merged into the new device that just 
> joined the mesh?
>
>
> Yes, it has correct behavior. The underlying replication architecture 
> (inherited from CouchDB) is multi-master and supports arbitrary topologies. 
> It does the right thing even if there are redundant connections and/or 
> devices leave and rejoin.
>
> This kind of mesh isn’t super scalable, though. I go into that a bit 
> during the talk. Everyone syncs with everyone else, which leads to O(n^2) 
> traffic on the LAN. The implementation optimizes that a bit by not 
> re-advertising changes that arrive from peers, so any document update 
> should lead to only O(n) replications.
>
> A more scalable approach would probably use something like a dynamic 
> spanning tree, which creates the minimal number of connections that connect 
> all the peers, but those are more difficult to implement.
>
> —Jens
>

-- 
You received this message because you are subscribed to the Google Groups 
"Couchbase Mobile" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/mobile-couchbase/cee7bcb7-4a72-42da-bc18-513c22fee1bb%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to