title: Synchronize SQLite database across devices
body: <p>In order to build a connected experience, I need to synchronize my app's data store (SQLite database) across several devices. So far, the only solution I found was to <a href="https://msdn.microsoft.com/en-us/library/windows/apps/hh465094.aspx" rel="nofollow noreferrer">roam data</a>, but that has two immediate drawbacks:</p>
  
  <ol>
  <li>Storage is fairly limited in size.</li>
  <li>Synchronization can only happen at the file level (vs. database row).</li>
  </ol>
  
  <p>The latter is particularly bad, as it would mean that changes on different devices could potentially undo changes made on another device, instead of merging the modifications.</p>
  
  <p>Q: Is there any facility built into the Windows Runtime, that allows databases to be synchronized at the row level across devices? I'm looking for a solution that works with Windows 10 and Windows 10 Mobile.</p>
  
  <p><hr/>
  <strong>Update:</strong> Additional information<sup>1)</sup> on what I'm looking for, and what scenarios I'm trying to avoid. The following list is in no particular order:</p>
  
  <ul>
  <li>The closest match (in terms of functionality) for what I'm looking for is the <a href="https://azure.microsoft.com/en-us/services/app-service/mobile/" rel="nofollow noreferrer">Azure Mobile App Service</a>. It allows for server-side DB storage, with conflict resolution callbacks. If this framework were available for each end-user's cloud storage it'd make for a seamless connected experience.</li>
  <li>I'd like to avoid having to poll for DB changes made on another device. OneDrive supports <a href="https://dev.onedrive.com/webhooks/webhooks.htm" rel="nofollow noreferrer">Webhook Notifications</a>, so this is not a real issue (assuming other cloud storage providers offer similar services).</li>
  <li>I'd like to avoid downloading the entire DB to calculate the delta against the local DB. This would require some sort of web-based service. So far my research has turned up nothing, so this is something I will probably have to live with.</li>
  <li>I'd like to get change notifications in a timely manner. In case I have to do all the synchronization across cloud storage of the underlying DB file, this would imply that the DB should be uploaded whenever it changes. This is problematic, especially on metered connections.</li>
  </ul>
  
  <p><hr/>
  <sup>1)</sup> <em>This information was provided after <a href="https://stackoverflow.com/a/38294251/1889329">the accepted answer</a> was given. Keep this in mind when voting on it.</em></p>