>On Sep 23, 2011, at 1:40 AM, XXXX XXXXX wrote:
>Greeting from XXXXX XXXXXX;
>Im running a small company with history in the mobile enterprise space
>We are just about to get some seed funding to build sqllite sync
>technology for mobile devices;
>I came across CouchBase extremely cool;
>We are planning to offer some of same features;
>It would be good to get any advice or pointers you might have in
>terms of building sync technology for mobile
>All the best,
Hello! I would say that mobile sync is a deceptively hard problem to get all the nice properties you want. I suggest you look at how Couchbase replication works and try to duplicate it, and ideally, try to interoperate with it.
Some of the properties you probably want:
Incremental replication - The ability to stop and restart replication and not lose all your progress. Vital in a mobile environment where connections are slow and flaky.
Concurrency -You want to be able to use the local and the remote the databases while it’s getting sync’d/replicated, no global locking. So the app is usable at all times and syncing in the background.
Conflict management - You need plan for how you’ll deal with and manage edit conflicts.
Partial replication - Having replicas that only hold a interesting subset of other replicas. Important when sharing a large data set, but mobile clients only need a portion of it.
Ad hoc Topology - Couchbase supports ad hoc topology, any machine can sync with any other machine without prior knowledge. This is much more flexible than a single centralized sync point or fixed topology. Though many deployments will only need a single sync point, often new ones will need to be added.
Schema upgrade - Couchbase is schemaless, so it’s easy to add new field/properties without breaking things. If using a schema, it’s difficult to upgrade remote clients when they have new data in older schemas, etc.
Security - the ability to refuse updates if the come from unauthorized sources.
Anyway, Couchbase and CouchDB has worked out these problems and is successful in production on millions of machines. It’s not the only way to build a sync scheme, but it’s one of the most successful.
Categories: Blogs Damien Katz
Erlang on Twitter
» fjorgemota (Fernando Jorge Mota): Tava pensando em usar o RabbitMQ mas vi que é Erlang e..MÉH
Tava pensando em usar o RabbitMQ mas vi que é Erlang e..MÉH
» diegosevilla (Diego Sevilla Ruiz): @SeanTAllen The uForth interpreter in #Erlang is here: https://t.co/75UcHlzoNw (feedback welcome!) /cc @jneira
@SeanTAllen The uForth interpreter in #Erlang is here: https://t.co/75UcHlzoNw (feedback welcome!) /cc @jneira
» diegosevilla (Diego Sevilla Ruiz): At last I’ve had the time to release it: uForth interpreted using model-driven techniques (#MDE) and #Erlang: https://t.co/75UcHlzoNw #EMF
At last I’ve had the time to release it: uForth interpreted using model-driven techniques (#MDE) and #Erlang: https://t.co/75UcHlzoNw #EMF
» geeksays (A Geek): Erlang - A concurrent Programming Language [Overview] http://t.co/5xbhPXGKmn
Erlang - A concurrent Programming Language [Overview] http://t.co/5xbhPXGKmn
» developerevents (USA Developer Events): Intro to Erlang for C# Developers - 20 May - 170 Graphics Drive, USA http://t.co/LCJ6ritUv8 #csharp #event
Intro to Erlang for C# Developers - 20 May - 170 Graphics Drive, USA http://t.co/LCJ6ritUv8 #csharp #event
Number of aggregated posts: 10648
Most recent article: May 14, 2013
» Moraru on This is Why You Spent All that Time Learning to Program: It is true that computer science was a pain in the back at time that i’ve had to learn it…
» Commercial hand dryers on Couchbase Meetup at new HQ: Buy online from here where you will get so much of variety in Commercial hand dryers for people. If you…
» Fort McMurray Homes on Motivated Reasoning and Erlang vs Python vs Node: I don’t really understand why this post is motivational? I don’t even see a post, just a title. Fort McMurray…