首页 文章

用于流量管理器故障转移的Sql Azure数据库镜像

提问于
浏览
9

我的目标是实现Azure Traffic Manager以便我们的网站及其数据库进行故障转移 .

为实现这一目标,我在不同的数据中心部署了两个相同的Sql Azure数据库 .

该数据库展示了450个表,4000列,约800万条记录,3GB大小并经常写入 .

  • Sql Data Sync是实现镜像的可行选项还是在Sql Azure术语中,它们之间的双向同步?

我最初的关注除了效率和成本之外,无论是双向还是单向,都是设置Sql Data Sync所需的时间,架构发展时的维护开销以及同步失败时调试复杂架构 . 还有一个问题是Sql Data Sync仍处于预览状态 .

  • 也许单向地理复制是更好的选择,在故障转移时,人们会手动恢复原始数据库以进行同步 - 我想知道这样的行动方案是否通常是数据库管理员的后续行动?

我关注的是脱离了由Traffic Manager管理的全自动故障转移解决方案 .

1 回答

  • 11

    我得出结论 Sql Data Sync 不适合我的MAWS和Sql Azure故障转移策略 .

    Active Geo-Replication for Azure SQL Database 证明了更好的选择 .

    以下是我对Sql Data Sync考虑的一些观点 .

    • 有450个表和超过800万条记录,我的数据库足够大,可以带来额外的复杂性和成本设置,执行和维护双向或单向Sql数据同步 .

    • Sql Data Sync似乎没有围绕大型数据库的跨数据中心镜像的设计过于强烈 . 有限制,例如每个Azure Sync Group有100个表 .

    • 为我的数据库正确设置Sql Data Sync会花费时间,因为它涉及在具有良好调整的同步频率的多个较小且可管理的同步组中传播450个表,并且每个表经过测试以确保同步发生而不会发生冲突 . 需要对数据库进行深入分析,以便将正确的表组合在一起以避免目标数据库中的外键冲突:

    http://www.mssqltips.com/sqlservertip/3062/understanding-sql-data-sync-for-sql-server/

    • 似乎Sql Data Sync不是事务同步模型:

    SQL Azure failover / backup strategy for web app

    • SQL Data Sync已预览了2年多,最后一次更新是2012年12月

    • Sql Data Sync在处理大型模式时存在固有问题 . 这是我的数据库架构的第一手经验 .

    http://social.msdn.microsoft.com/forums/azure/en-US/9c679a74-9a7c-48e7-b4c9-95f6f7cfafd9/sql-azure-data-sync-refresh-schema-not-working

    • 强调第一点,跨数据中心的双向复制是棘手的,一般不推荐不知道数据和数据库模式 . 最终可能会创建同步循环 .

    • 最佳实践规定:仅在同步组中包含根据您的业务需求所需的表格;包括不必要的表可能会影响总体成本以及同步效率 .

    http://www.mssqltips.com/sqlservertip/3062/understanding-sql-data-sync-for-sql-server/

    • Sql Data Sync在表上加倍,创建了一个更大的模式,添加到我的450个表中 .

    关于使用 Active Geo-Replication for Azure SQL Database ,在故障转移时,只需终止活动辅助节点上的连续复制关系,使其成为读写 .

    来自http://msdn.microsoft.com/en-us/library/azure/dn741331.aspx

    如果主要区域出现广泛故障,您可能需要将应用程序故障转移到辅助区域 . 首先,强制终止活动辅助节点上的连续复制关系 . 终止后,复制将停止,并且尚未从主数据库复制的所有事务将永远不会复制到活动的辅助节点 . 以前的活动辅助将成为独立的数据库 . 此时,应用程序可以故障转移到以前的活动辅助节点并恢复其功能 . 如果主数据库设置为读写,则在终止后,活动的辅助数据库也设置为读写 .

    就我的数据库SLA而言,我有以下方案

相关问题