首页 > 云计算 > 公有云实践 > 全面提升SQL Server工作负载性能
在将SQL Server从本地迁移到云端后,您是否面临运营和扩展方面的挑战?成本是否在不断增加?Thomson Reuters需要一种更好的方式来管理其关键任务全球贸易管理平台的SQL Server部署。它希望兼顾两方面的优势:为开发人员提供一个托管平台,同时让数据库管理员能够访问底层操作系统。在本次会议中,了解Thomson Reuters如何将其SQL Server后端转变为在亚马逊云科技上大规模运行其贸易管理平台,从而实现运营成本降低40%,运营效率提高5倍。
以下是小编为您整理的本次演讲的精华。
2024年亚马逊云科技 re:Invent大会上的“全面提升SQL Server工作负载性能”(Supercharging SQL Server Workloads Performance)环节由亚马逊云科技高级解决方案架构师Pruti Bakchi主持,并邀请了来自汤森路透的Nitin Shiwani和亚马逊云科技微软工作负载团队的Yogi Burrote共同分享了如何在亚马逊云科技上高效运行和优化SQL Server工作负载的见解。
Pruti首先解释了客户选择亚马逊云科技作为运行SQL Server工作负载的首选云平台的原因。首先,亚马逊云科技可以从基础设施和许可证角度实现显著的成本节约,客户通常可以节省高达45%的SQL Server许可证费用和77%的Windows Server许可证费用。其次,亚马逊云科技提供了更高的性能和可靠性,客户可以实现98%的计划外停机时间减少,开发人员的生产力提高26%,部署速度加快71%。第三,亚马逊云科技提供灵活的许可选项,客户可以使用现有投资的许可证,也可以选择包含许可证的按需付费模式,从而摆脱许可管理和合规性负担。此外,亚马逊云科技为构建和运行SQL Server工作负载提供了简单易用的集成体验,例如SQL Server启动向导。最后,亚马逊云科技在云上运行微软工作负载方面拥有16年的丰富经验,超过任何其他云提供商,52%的客户更倾向于在亚马逊云科技上运行SQL Server工作负载。
Pruti概述了在亚马逊云科技上运行SQL Server工作负载的不同选择,从自我管理的EC2实例到完全托管的Amazon关系数据库服务(Amazon RDS)。这种灵活性确保了亚马逊云科技可以满足客户在云之旅的任何阶段的需求。
一方面,客户可以选择直接迁移的方式,将SQL Server工作负载迁移到Amazon EC2,这是运行SQL Server工作负载的最可靠和安全的云之一。许多客户更倾向于这种选择,因为它是迁移SQL Server工作负载的最简单和最容易的方式。汤森路透就是一个例子,在决定退出数据中心时,他们选择将工作负载迁移到Amazon EC2实例,主要是为了尽快迁移到亚马逊云科技,同时利用现有的许可证投资。此外,他们的开发人员和数据库管理员完全熟悉SQL Server体验,并且需要操作系统级别的访问权限,因此EC2实例是明智的选择。
另一方面,许多客户更倾向于将SQL Server工作负载重构为亚马逊云科技的云原生数据库。Pruti坦率地承认,重构虽然需要时间,但可以从云中获得最大价值。因此,许多客户选择将SQL Server工作负载重新部署到托管服务,如Amazon关系数据库服务(RDS)或Amazon RDS for SQL Server Custom。从自我管理模式转移到完全托管服务有助于消除备份、供应和补丁管理等活动,从而让客户将时间投资于对业务最重要的活动上。本次会议主要关注重新部署。
Pruti接着讨论了客户在Amazon EC2实例上运行SQL Server工作负载后经常遇到的一些后续挑战,主要分为四个方面:
1. 成本管理:尽管亚马逊云科技提供了各种工具和功能,但在云上控制SQL Server成本并非易事。存储和计算的按需付费模式,加上为确保性能而过度配置的倾向,都会增加数据库开支。
2. 商业数据库提供商不友好和惩罚性的许可条款,以及需要应对支持终止的挑战。例如,微软宣布将不再支持SQL Server 2014,这给运行该版本的生产或非生产环境的客户带来了挑战。
3. 可扩展性和运营弹性:客户需要设计工作负载,以实现跨不同可用区域或区域的高可用性,并实施跨区域的灾难恢复策略。虽然亚马逊云科技提供了各种工具和服务,但客户必须将它们与现有应用程序集成,以确保满足承诺的恢复时间目标(RTO)和恢复点目标(RPO)要求,这并非易事。
4. 补丁管理:这为IT运营增加了大量无差别的繁重工作。虽然自动化可以提供帮助,但客户必须持续保持警惕,并制定适当的计划和执行策略,以确保数据库和主机(EC2实例)完全及时更新安全修复和性能补丁。
Pruti的客户汤森路透在开始在亚马逊云科技上运行SQL Server工作负载后,面临了所有这些后续挑战,因此很高兴邀请Nitin Shiwani分享他管理的一个最关键业务应用程序的云之旅。
汤森路透产品工程部门技术总监Nitin Shiwani上台发言。他感谢现场和在线与会者,特别是他在汤森路透的同事。Nitin介绍了自己和汤森路透公司,该公司旨在阐明复杂问题,帮助专业人士理解当下,并通过强大的愿景和技术、创新、先进的人工智能和行业领先的洞察力来引领未来。
作为一家数据驱动型组织,Nitin强调以安全和可扩展的方式更快获取答案的重要性。他接着讨论了汤森路透的一个关键任务应用程序——One Source Global Trade Platform。简单来说,该平台可以让公司最小化关税风险,优化供应链组合,并预测国际法规的变化。
该平台支持大量产品服务,包括全球分类、否决方筛查、进出口管理等。Nitin分享了该平台规模的关键数字:支持100多个动作服务器和数据库服务器的强大基础设施,以实现高性能、可扩展性和可靠性;100TB的客户数据,包括关键的交易、贸易和合规数据;每分钟支持200万笔交易,表明大量实时数据流;内置弹性,恢复时间目标(RTO)和恢复点目标(RPO)为60分钟。
Nitin接着深入讨论了后端数据库架构,他将其描述为一个集群,汤森路透作为一个组织内有多个这样的集群。他们采用了直接迁移的策略,通过亚马逊云科技存储网关将客户工作负载从本地安全备份和恢复到运行SQL Server的Amazon EC2实例上。
此时,亚马逊云科技微软工作负载团队的TechLead Yogi Burrote接过话题,讨论了一种中间解决方案,兼具两全其美的优势:Amazon RDS Custom for SQL Server。虽然仍然是一种托管服务,提供备份、补丁、自动化、监控、多可用区高可用性等功能,但RDS Custom提供了类似于EC2实例的易用体验,允许用户通过远程桌面协议(RDP)检查磁盘、传递内容等。这使得在获得相同体验的同时,缓解潜在问题变得更加容易。
Yogi提到,Amazon RDS Custom for SQL Server最初是在2021年re:Invent上宣布的,使之前无法迁移到RDS的客户现在可以通过RDS Custom迁移到托管服务。它提供了托管体验,同时提供了灵活性,例如能够将自己的媒体(BYOM)——SQL Server安装、媒体和许可证——带到EC2实例上。客户还可以使用自己的Active Directory(本地或在亚马逊云科技上)、安装第三方代理(如监控软件Datadog、Nagios或备份软件),并进行公司政策要求的其他自定义。
为了在保持托管服务的同时实现自定义,亚马逊云科技为RDS Custom引入了“自动化模式”。客户可以创建快照、暂停自动化(这会暂停亚马逊云科技对该实例的监控)、进行更新(如安装自定义驱动程序、代理或额外的EBS卷)或进行SQL配置更改,然后恢复自动化。但是,客户最多只有24小时的时间来完成这些自定义;否则,该实例将被视为不合规。
Yogi强调了RDS Custom提供的细粒度控制,例如能够在SQL Server中运行SQL CLR(通用语言运行时)以执行.NET代码、RDP访问、EC2访问、细粒度访问控制以及资源管理和治理支持。
此外,RDS Custom允许无需修改代码即可进行应用程序的直接迁移,并且根据所选迁移方法可实现最小停机时间。
Yogi随后讨论了一些用例,以帮助客户确定RDS Custom是否是正确的选择:
1. 如果客户需要细粒度控制、安装自定义驱动程序的能力或使用XP_cmdshell(一种用于执行操作系统命令的SQL Server扩展存储过程)。
2. 如果客户需要运行未经认证可在RDS SQL Server上运行的第三方打包应用程序或现成软件(COTS),如Microsoft SharePoint、CRM或Microsoft Dynamics。
3. 如果客户希望使用Always On可用性组集群设置进行迁移,而该设置在RDS SQL Server上不受支持。
Nitin的用例与需要细粒度控制相一致,因为他们希望安装自定义监控软件、为应用程序引入自定义AMI(Amazon Machine Image)并利用BYOL(自带许可证)。
Yogi随后阐述了RDS Custom的整体架构,以及它如何帮助满足汤森路透的需求。由于安全性是亚马逊云科技及其客户的首要任务,RDS Custom部署在客户的VPC(虚拟私有云)中,提供了额外的隔离层,因为它在底层运行于一个具有实例配置文件和EBS(弹性块存储)卷的EC2实例上。
为支持自定义、监控、自动化和暂停/恢复操作,RDS Custom与多个亚马逊云科技服务和代理程序集成:
1. CloudWatch代理用于使用Amazon CloudWatch进行监控。
2. AWSSystems Manager代理用于自动化补丁程序和脚本执行。
3. 一个小型代理程序,用于检查自动化状态并确保不会中断。
客户不允许停止这些代理程序,因为这样做会使RDS Custom实例无法获得支持。
在许可证方面,Yogi重申了RDS Custom的BYOM(自带媒体)选项,允许客户利用现有的许可证投资并节省成本。他举了SQL Server标准版许可证的成本示例,每2个vCPU(虚拟CPU)约7000美元,最小许可单位为4个vCPU(约15000美元)。企业版的成本通常高出50-60%,具体取决于版本。
鉴于汤森路透在数百台服务器上对SQL Server许可证(包括标准版和企业版)的大量投资,BYOM模式使他们能够利用现有投资,避免浪费成本。
Yogi分享了两个节省成本的技巧:
1. 在非生产环境(开发、QA、UAT、暂存)中使用免费的SQL Server开发者版,它提供与企业版相同的功能。
2. 利用内存优化实例X2idn,它提供1个vCPU对应32GB内存的比例,非常适合内存密集型的SQL Server。Yogi建议检查页面生存期,找到内存和实际使用之间的平衡。
在高可用性方面,Yogi分享了他作为数据库管理员(DBA)在2010年至2012年期间的一个个人经历。他有一个客户在洛杉矶和伯班克都有办公室,每个办公室在多伦多都有一个数据中心。Yogi必须管理跨数据中心的SQL Server副本,确保它们保持同步。当时,SQL ServerAlways On可用性组功能刚刚推出,设置、监控和确保副本同步是一场噩梦,加上网络状况不稳定,Yogi每天要花50%的时间管理SQL Server的高可用性,经常在夜间收到呼叫器警报。
相比之下,使用RDS Custom和RDS SQL Server,这种困扰得以缓解,只需单击即可设置高可用性。RDS Custom不使用Always On可用性组,而是采用块级复制,主实例上的更改会同步复制到多可用区设置中辅助实例的EBS卷。
Yogi介绍了高可用性架构,解释说读取操作发生在主实例上,而写入操作则同时发生在主实例和辅助实例上。如果计算或存储级别发生故障,辅助EBS卷将被激活为读/写,SQL Server数据库服务将指向该卷,应用程序将在30到60秒内故障转移到新的主实例,从而提供内置的高可用性,无需额外努力。
针对另一个常见挑战——备份,Yogi强调无论服务是否受管理,备份仍然是DBA的关键任务。对于单个数据库,本机备份或EBS快照可能就足够了,但对于数百个数据库、TB级数据和7到30天的保留期,在EBS卷上存储备份的成本会迅速增加。
为解决这个问题,Yogi建议使用AWSStorage Gateway的文件网关,它提供了一个SMB(服务器消息块)文件共享,可以在EC2实例上映射为网络驱动器。DBA可以直接将备份写入该SMB共享,实际上是将备份写入Amazon S3,使用Storage Gateway。这种方法提供了成本节约和高性能,并且根据亚马逊云科技的内部基准测试,具有最快的恢复时间。
对于SQL Server2022及更高版本,微软推出了直接备份到Amazon S3的功能,进一步简化了备份流程,并将成本降低了50%。
关于迁移选项,Yogi提到亚马逊云科技支持多种方法,包括备份/恢复、亚马逊云科技数据库迁移服务(DMS)、SQL复制和Always On可用性组。他重点介绍了两种选择:
1. 备份和恢复:这种直接、灵活的方法被客户和DBA广泛使用,因为它提供了与数据库的一致性和集成,最大限度地降低了数据损坏等风险。它包括执行完全备份、无恢复还原、无恢复还原差异备份,并应用事务日志备份,最后一个事务日志备份恢复时执行恢复。根据事务日志备份频率,该方法可实现最多2分钟的停机时间,适用于EC2、RDS和RDS Custom上的SQL Server。
2. Always On可用性组:如果客户在本地或EC2实例上使用Windows故障转移群集服务已有Always On可用性组设置,他们可以通过添加第三个副本来扩展它,该副本托管在亚马逊云科技上,使用异步复制,前提是本地和亚马逊云科技之间存在网络连接。客户可以启动复制,等待副本同步,准备就绪后,只需切换副本,即可实现最小停机时间,而不会中断业务运营。
Yogi最后重申了他分享的三个主要节省成本技巧:
1. 在非生产环境中使用免费的SQL Server开发者版。
2. 利用内存优化实例X2idn。
3. 将备份写入AWSStorage Gateway,以实现成本效益和高性能。
然后,他将会议交还给Pruti,让她分享汤森路透在整体运营效率方面取得的成果。
Pruti对Yogi分享的宝贵技巧和窍门表示赞赏,特别强调了在非生产环境中使用SQL Server开发者版来降低成本的建议。她随后展示了汤森路透取得的实际成果:整体运营支出减少了40%,运营效率显著提高,原先需要数周才能完成的任务现在只需几天。
最关键的是,汤森路透获得了两全其美的结果——为开发人员提供了托管数据库体验,同时为DBA提供了管理应用程序所需的底层操作系统访问权限。Pruti强调,对于需要这种托管服务和灵活性结合的客户,Amazon RDS Custom for SQL Server是一个理想的解决方案。
最后,Pruti分享了二维码和链接,供与会者进一步探索在亚马逊云科技上运行数据库工作负载的不同选项。她感谢与会者的参与,并提供了她自己、Yogi和团队的联系方式,欢迎与会者随时提出任何其他问题。祝大家在拉斯维加斯的re:Invent大会上度过愉快的时光,Pruti总结了这次富有洞见的会议。
我们正处在 Agentic AI 爆发前夜。 2025 亚马逊云科技中国峰会提出,企业要从 " 成本优化 " 转向 " 创新驱动 " ,通过完善的数据战略和 AI 云服务,把握全球化机遇。亚马逊将投入 1000 亿美元在 AI 算力、云基础设施等领域,通过领先的技术实力和帮助“中国企业出海“和”服务中国客户创新“的丰富经验,助力企业在 AI 时代突破。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70038688/viewspace-3089602/ ,如需转载,请注明出处,否则将追究法律责任。