Re: Data sync
Damien Katz - Damien Katz - September 24, 2011
>On Sep 23, 2011, at 1:40 AM, XXXX XXXXX wrote:
>
>Hi Damien,
>
>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;
>
>Offline access
>Smart sync
>Bandwidth optimisation
>
>It would be good to get any advice or pointers you might have in
>terms of building sync technology for mobile
>
>All the best,
>
>XXXX XXXXX,
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.
-Damien
Categories: Blogs Damien Katz
Erlang on Twitter
» jln111 (Jose Luis Navarro): RT @joeerl: reading the program of #erlang users confernce http://t.co/dsYbZiuKMy
this is going to be *very* interesting, and in june in st…
» tialmi (Tia almi Prawati): @HarryLksn aseeeeem ! Gw bilangin yah ry sama lu erlang anaknya suka boong . Dya dlu gemar banget bikin karangan crita jadi jngan percaya ya
» fjorgemota (Fernando Jorge Mota): Tava pensando em usar o RabbitMQ mas vi que é Erlang e..MÉH
» SeanTAllen (Sean T Allen): RT @diegosevilla: @SeanTAllen The uForth interpreter in #Erlang is here: https://t.co/75UcHlzoNw (feedback welcome!) /cc @jneira
» diegosevilla (Diego Sevilla Ruiz): @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
» geeksays (A Geek): 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
» vsovietov (vsovietov): RT @FrancescoC: Lots of companies in finance use Erlang, but they don’t want to speak about it in public. Morgan Stanley does: http://t.co/…
» nivertech (Zvi): RT @lhoguin: Cowboy Function Reference http://t.co/nA2x66QNPO the functions listed are part of the stable API that’s going into Cowboy 1.0 …
Statistics
Number of aggregated posts: 10648
Most recent article: May 14, 2013
Latest comments
» 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…