云数据库(WCF)或偶尔连接架构与微软同步



我正在开发一个。net 4 Winforms应用程序,我在决定处理数据库的最佳方式时遇到了问题。我们希望提供一个云数据库系统,应用程序可以通过WCF服务与"云"通信,本质上做与连接本地数据库(本地SQL Express,服务器上的SQL Server 2008 R2)相同的事情。

我们看到两个选项:

1)使用WCF并对云数据库进行所有调用2)使用本地数据库,并使用Microsoft Sync Framework保持云同步

我们最终将有一个web应用程序,它也将使用云数据作为用户的另一个前端。

很明显,进退两难的是该用哪一个。如果我们选择选项1,那么我们就不必在任何使用该软件的地方安装SQL Express,例如公共位置,并且用户的数据可能被下载到该数据库。WCF选项允许所有数据保持集中。

我们最终将在移动端折叠,这样iPhone, iPad和Android也可以与云同步。

我很想知道你对严格的云数据库选项和偶尔连接的选项的看法,即数据库是本地的,同步到云。

谢谢。

如果您希望允许离线/偶尔连接场景,为什么不根据需要同时使用选项1)和2)呢?如果您通过WCF使用相同的n层架构来访问数据库,无论它在哪里(云数据库或本地数据库),您的代码将始终是相同的,唯一的区别将是偶尔连接的应用程序将同步数据(也可能通过WCF)。

同步与直接访问的一个问题是,它不是实时的,也就是说,其他用户将访问和更新数据,你通常必须考虑如何处理冲突等。如果没有真正需要离线功能(有时连接是主要原因),我只会选择1)。从上面也不清楚你将存储什么类型的数据,如果它是用户特定的,以及数据可能有多大,但这些都是使用同步时非常现实的问题,特别是在涉及安全性和性能时。

如果你能提供更多的信息,具体解决方案是什么,这可能会有所帮助。

最新更新