如何在多租户设置中将数据从本地 sqlite 同步到 SQL Server
我有一个场景,其中 N 个客户端连接到中央服务器(基于 PostGres)。所有N个客户端都可以离线,并将所有内容存储在sqlite数据库中。是一种类似生鲜书籍、开具发票的服务。
每个客户端都有一个为该用户过滤的主要数据(客户、产品)的本地副本。所有客户都可以更新客户、产品,并且每个客户都可以为自己的发票工作(即:每个客户仅编辑自己的发票,但可以查看每个人的汇总数据)。
我知道添加时间戳和 GUID ID,但不知道如何完成此任务。关于如何检测冲突并自动解决它,或者如果存在示例代码,我可以查看一下。PD
:只有 sqlite 是固定的。因为我处于规划阶段,所以我可以切换到任何可以更好地解决此任务所需的技术...我正在使用 .net、python、django、obj-c
I have a scenario where N clients connect to a central server (PostGres based). All of the N clients can get offline, and store everything in sqlite database. Is a service like fresh books, to make invoices.
Each client have a local copy of the main data (customers, products) filtered for that user. All client can update customers, products and each one work for their own invoices (i.e.: each client edit only his own invoices, but see aggregated data for everyone).
I know about add timestamp and GUID IDs, but not how approach this task. About how detect conflicts and auto-solve it, or if exist a sample code I can look about this..
P.D: Only sqlite is fixed. Because I'm in the planning stage, I could switch to any tech necessary that could solve better this task... I'm work with .net, python, django, obj-c
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
看看同步框架。尽管在您的情况下,您可能必须编写一个自定义提供程序才能使用非 MS 数据库。
以下是使用 PostGres 的示例:InfoQ:使 Microsoft Sync Framework 与 PostgreSql 配合使用。
Sync Framework 的一些链接可让您了解其工作原理:
同步 SQL Server 和 SQL Express
如何:处理数据数据库同步的冲突和错误 (SQL Server)
同步其他 ADO.NET 兼容数据库
仅限离线场景
如何:使用自定义变更跟踪系统
have a look at Sync Framework. although in your case, you may have to write a custom provider to work with the non-MS databases.
here's a sample using PostGres: InfoQ: Making Microsoft Sync Framework work with PostgreSql.
some links to Sync Framework to give you an idea how it works:
Synchronizing SQL Server and SQL Express
How to: Handle Data Conflicts and Errors for Database Synchronization (SQL Server)
Synchronizing Other ADO.NET Compatible Databases
Offline-Only Scenarios
How to: Use a Custom Change Tracking System