微软近日宣布, Azure SQL Data Sync 服务正式可用(GA),该服务允许用户在 Azure SQL Database 与其他 SQL 数据源之间进行单向或双向通信。此外,本次发布内容的变更包括新的配置功能、更快的数据库 schema 刷新能力,以及更安全的数据同步过程。
Azure SQL Data Sync 的正式可用版本是继去年 6 月的版本发布以来的首个新版本。上个版本引入的 Azure SQL Data Sync Refresh 功能为服务带来了一些重要的改进,例如支持新版的 Azure 门户、对 PowerShell 与 REST API 的支持,以及对安全与权限部分的增强。据本次发布的博客文章所说,新版本同样带来了进一步的改进。Azure SQL Database 的高级项目经理 Xiaochen Wu 在文中提到了以下几点:
- 更好的配置体验 —— 配置工作流变得更为可靠,其用户体验也更加直观。
- 更可靠、更快速的数据库 schema 刷新 —— 通过使用新的 SMO 库,使数据库 schema 的加载变得更为高效。
- 更安全的数据同步过程 —— 我们审查了端到端的同步工作流,确保用户数据在存储时与传输过程中都正确加密。Data Sync 服务现在已符合 GDPR 的合规性需求。
在 Azure 平台上,使用 SQL Data Sync 的企业可以实现混合式 SQL 部署,支持 Azure 或 私有应用的本地数据访问。此外,企业也可以选择在全球范围内部署数据驱动的应用,同时在每个区域内保留一个本地备份,并实现跨所有区域的数据同步。在 The Register 网站上的一篇文章中,作者 Richard Speed 针对这次发布表示:
微软经评估后认为,一旦应用程序的数据访问指向本地数据库的副本,其访问时间与响应速度将得到极大的改善,使访问延迟与连接失败率大大降低。
使用 SQL Azure Data Sync 服务时,需要在 Azure 平台部署一个中央数据库(Hub),并在 Azure 或本地环境部署多个成员数据库。数据库管理员随后将这些数据库配置为一个 Sync 组,并指定成员数据库与中央数据库的数据传递方向(单向或双向)。当同步过程启动后,数据库将获取到 Insert、Update 和 Delete 等触发器,然后将生成对数据库表的数据推送变更,并最终应用到中央数据库上。随后,成员数据库通过拉取的方式获取这些数据。Sync 组内置了一个冲突解决策略(Conflict Resolution Policy),它会选择使用 Hub 优先(Hub Wins)的策略处理,即 Hub 覆盖 成员数据库的数据,或是相反的策略,亦即成员优先(Member Wins)。需要注意的是,在具有多个成员的情况下,最终的数据值取决于哪个成员先开始同步。
图片来源: https://azure.microsoft.com/en-us/blog/announcing-the-general-availability-of-azure-sql-data-sync/
Azure SQL Data Sync 服务在使用上存在着一些限制,例如不支持时间戳、操作的同步仅支持最终一致性等等。此外,数据的同步依赖于触发器的方式对数据库进行变更,而按照官方文档的说法,这种方式会对性能造成影响。不过,按照 Richard Speed 在 The Register 上的文章中所说,SQL Azure Data Sync 服务的目标是:
说句公道话,微软已经明确表示,用户不应使用这项技术进行灾难恢复,或是用于向上扩展 Azure 的数据库性能等操作。这项服务也不会取代 Azure Database Migration 服务,后者的功能是将本地 SQL 迁移至 Azure 平台上。在新服务的开发者看来,它适合的场景是为用户提供一份快速更新的数据副本,以用于报表及数据分析的场景。
查看英文原文: Microsoft Announces the General Availability of Azure SQL Data Sync
评论