NoSQL databases in offline mode and forward compatibility -


after doing research, seems when people ask schema migration in couchdb, rebutted concept not compatible nosql ideology. understand how nosql meant schema-less , feels counter-intuitive. nevertheless, in such situation not see how schema migration can totally avoided. use nosql mobile devices. here's big lines of set-up , needs.

  1. each mobile device has own replicated database.
  2. the mobile device can work offline.
  3. mobile devices replicates database on cloud server share data.
  4. the data replicates when possible multiple users on different devices can work on same data.
  5. a newer version of client decide change value type stores particular key (i.e. equivalent of schema change)
  6. the users might not update app update available.
  7. a user not updated should able still work on same data users updated.

edit:

  1. the application 100% native code.

my problem here user client old version of software not expect new data string instead of int per se. thus, handling client-side can not done since not want force users update apps.

to explain under angle happens want 2 users 2 different client versions able share , modify same data, meaning need have backward , forward compatibility. backward compatibility tackled, forward compatibility bit more problematic. need way continue use last-modified heuristic conflict resolution while having version can not interpret new schema fully.

after thinking, consider approach should split cloud database multiple sources; 1 every mobile device pushes modifications , one-to-x databases mobile devices pull recent data adapted versions. somewhere in between should handle backward , forward compatibility schema migrations.

is there way avoid schema migrations, in such set-up? see other simpler or safer solutions? limitations of such system? not feel on right track here.

thanks, paul

if couchapps option you, circumvent problem of different client versions. in case not familiar these: couchapps html+css+javascript based apps served directly out of couchdb. on mobile platform might come in handy embed them in cordova (phonegap) access native functions.

as couchapps stored in design documents in couchdb database, can replicated in same way ordinary documents can replicated. gives option perform update of client software whenever client connected server (actually happen automatically on replication).

in case want spend thought on option, might want have @ garden20, mobile futon, kanso , erica.


Popular posts from this blog

How to calculate SNR of signals in MATLAB? -

c# - Attempting to upload to FTP: System.Net.WebException: System error -

ios - UISlider customization: how to properly add shadow to custom knob image -