【发布时间】:2016-11-12 14:32:36
【问题描述】:
为了构建连接体验,我需要在多个设备上同步我的应用程序的数据存储(SQLite 数据库)。到目前为止,我找到的唯一解决方案是 roam data,但这有两个直接的缺点:
- 存储空间相当有限。
- 只能在文件级别(相对于数据库行)进行同步。
后者特别糟糕,因为这意味着不同设备上的更改可能会撤消在另一个设备上所做的更改,而不是合并修改。
问:Windows 运行时中是否内置了任何工具,允许在行级别跨设备同步数据库?我正在寻找适用于 Windows 10 和 Windows 10 移动版的解决方案。
更新:更多信息1)关于我在寻找什么,以及我试图避免什么情况。以下列表没有特别的顺序:
- 与我正在寻找的最接近的匹配项(就功能而言)是Azure Mobile App Service。它允许服务器端数据库存储,具有冲突解决回调。如果此框架可用于每个最终用户的云存储,它将提供无缝连接体验。
- 我希望避免轮询在另一台设备上所做的数据库更改。 OneDrive 支持Webhook Notifications,所以这不是一个真正的问题(假设其他云存储提供商提供类似的服务)。
- 我想避免下载整个数据库来计算与本地数据库的增量。这将需要某种基于 Web 的服务。到目前为止,我的研究一无所获,所以这是我可能不得不忍受的事情。
- 我想及时收到变更通知。如果我必须跨底层数据库文件的云存储进行所有同步,这意味着数据库应该在它发生变化时上传。这是有问题的,尤其是在计量连接上。
1)此信息是在提供the accepted answer 之后提供的。投票时请记住这一点。
【问题讨论】:
标签: windows sqlite windows-runtime uwp c++-cx