我的 Azure Sql 数据库位于西欧,并且正在考虑在美国也有一个数据库。在美国部署我的网站很容易,但该网站随后查询欧洲的数据库,这会造成延迟。
在这些情况下人们会怎么做?我想为不同的用户使用单独的数据库可能会起作用,但是如果通常在一台服务器上的用户被路由到另一台服务器,那么它就会失败,那么他的数据不在数据库中。是否有简单的解决方案可以在两个 Azure SQL 服务器中提供相同的数据,并且 Azure 保持数据同步?同步时发生冲突怎么办?
我的 Azure Sql 数据库位于西欧,并且正在考虑在美国也有一个数据库。在美国部署我的网站很容易,但该网站随后查询欧洲的数据库,这会造成延迟。
在这些情况下人们会怎么做?我想为不同的用户使用单独的数据库可能会起作用,但是如果通常在一台服务器上的用户被路由到另一台服务器,那么它就会失败,那么他的数据不在数据库中。是否有简单的解决方案可以在两个 Azure SQL 服务器中提供相同的数据,并且 Azure 保持数据同步?同步时发生冲突怎么办?
这实际上取决于您的要求以及您如何实现路由。您可以设计您的分布式应用程序,使用户 A 在经过身份验证后始终访问美国服务器。即使他/她目前在欧洲或亚洲。
如果您想在任何地方同步所有内容,可以使用名为“ SQL 数据同步”的预览功能。它可以在多个 SQL Server 实例(包括本地 SQL Server 安装)之间同步数据。它在配置和同步选项方面非常灵活。但同样,这实际上取决于应用程序的要求。如果我正在构建分布式系统,我不会跨大陆同步数据。将设计应用程序,以便用户特定数据仅存在于一个数据中心。如果我的用户可以访问更多与他/她的个人资料相关的数据,这当然是不可能的。
最好的选择是将用户特定的数据保存在用户指定的数据中心,并同步所有位置的所有用户都必须可用的数据。