2018年双十一刚过,阿里云数据库发布RDS for SQL Server AlwaysOn集群版,这是业界除微软云SQL Database外,首家云计算公司基于SQL Server最新AlwaysOn核心技术实现的数据库集群版,并且是经过双十一检验的商业化版本。

全形态的产品集合

纵观整个RDS for SQL Server的产品迭代图,AlwaysOn集群版的上线标志这SQL Server数据库在阿里云RDS平台的全面覆盖,阿里云数据库实现了针对企业客户不同阶段的产品体系的匹配。

基础版针对可用性要求不高的业务,并且成本是首要关注选项的客户,如初创企业,是最优选择。WEB版价格甚至比自建还要低,却能获得RDS的运维管理等多项服务,性价比最高。

随着业务的发展,关键业务的可用性要求变高,甚至要求7X24小时的不间断服务,RDS for SQL Server 高可用版基于微软Mirror技术实现,满足此类业务需求。此外,针对企业级客户特性,在高可用版中开放了大量高级特性,如复制模式设置,用户可以根据需求设置主备节点复制模式可实现业务的高可靠或者高性能。此外高可用版本支持Linked Server,实现在RDS中访问其他RDS甚至自建数据库。特别地,在高可用版本中,开放了变更数据捕获(CDC,Change Data Capture)技术,客户可根据CDC提供的能力,同步数据库的变化,实现数据复制到其他实例。高可用版满足了企业客户主流业务需求。

随着业务的急速发展,系统负载不停增加,企业就对数据库的横向扩展能力提出了要求,RDS for SQL Server集群版就是为了满足此类苛刻要求而推出的。AlwaysOn集群版不但提供了高可用版的所有特性,而且还实现了数据库能力的横向扩展,客户可简单的通过购买只读实例,就可以实现扩容数据库读能力,最少可扩容到原主实例的七倍读能力。此外,客户可通过增加一个独立的只读实例,专门提供一个特定业务的查询服务,比如专给数据智能部门提供数据分析服务。

RDS for SQL Server AlwaysOn集群的只读实例支持独立选择规格,同时默认和主实例采用异步数据复制方式兼顾了性能和性价比,当然客户可自定义为同步方式,从而实现三个节点的数据同步一致性,对数据提供最大的安全保护。注意,我们支持最多可设置1个只读节点和主实例之间的复制模式为同步复制,并且建议该只读节点的规格要和主实例规格保持一致,否则会影响主实例的写入性能。

如何购买阿里云数据库RDS for SQL Server AlwaysON集群版

要购买AlwaysON集群版,在RDS购买页面选择SQL Server后,选择“2017企业集群版”,然后选择对应规格后购买,生产出来的就是AlwaysON集群版的主实例,包括Primary主节点和一个用作保障高可用的Secondary备节点,主备节点之间是数据复制默认是同步模式,客户也可基于实际情况选择性能优先设置为异步复制模式。

RDS for SQL Server AlwaysON集群版是基于2017版本的,官方兼容以前版本,实际使用情况可兼容到2008r2版本。这也说明要使用AlwaysON集群版,客户必须购买2017企业版SQL Server,若客户之前是低版本则需要升级。 RDS将会短期内提供从RDS低版本升级到2017企业版的工具。在购买完主实例后,客户可以在主实例的管控界面购买只读实例,最多可购买七个只读实例。另外只读实例提供了通用型实例规格,最大16核64G内存规格,具有很高的性价比,可以将更多的读请求放到只读实例,实现成本的最优化搭配。

RDS for SQL Server AlwaysOn集群版的核心技术

AlwaysOn是原生支持High Availability和Disaster Recovery的技术,本身又分为Failover Cluster Instances(后续简称FCI)和Availability Groups(后续简称AG),下面的图是FCI和AG的基础架构,其中FCI和常规版本的AG都依赖Windows Server Failover Clustering(后续简称WSFC),不同点是FCI是Share Storage而AG是Share Nothing,FCI是实例级别同步而AG是DB级别

阿里云数据库设计AlwaysON集群版,鉴于扩展性和稳定性要求我们选择的是AG技术方案,同时我们更近一步在实现上去除了WSFC(如下图所示),替代于阿里自研的HA监控系统,实现了集群依赖元素最少设计,根除WSFC和AD证书带来的稳定性问题。同时由于灵活的节点配置,新架构下可方便实现在不同可用区、甚至未来在不同地域独立部署只读节点,可以在数据库层实现原生的两地三中心架构。在数据可靠性方面,2017版本中引入了REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT参数,可实现主备节点的强制同步,确保数据不丢。

RDS for SQL Server AlwaysOn 集群版的案例

2018年双十一中,三只松鼠利用最新版的RDS for SQL Server AlwaysON集群版顺利支撑了原来50倍业务压力的增长。

结合于RDS for SQL Server AlwaysON集群版的灵活价格,三只松鼠双十一架构采用了如图的2+3模式,其中主实例的主备节点通过临时开启异步复制以获得最大性能,三个只读实例全部异步复制实现性能最大化。将所有的与写无关读全部引流到只读实例1和只读实例2,顺利支撑了50倍业务压力增长。另外将业务BI分析查询放到专门的只读实例3,将高峰期的流量干扰降低到最小,并且只读实例3规格按需使用,极大的节省了成本。

阿里云数据库RDS for SQL Server AlwaysOn 集群版商业化发布,除微软外在业界实属首家,它与 Azure SQL Database遥想呼应,将SQL Server强大的AlwaysON技术能力带到云上,为企业级客户的发展提供了全栈的产品支持。

阅读原文​​​​​​​

更多技术干货 请关注阿里云云栖社区微信号 yunqiinsight

阿里云重磅发布RDS for SQL Server AlwaysOn集群版的更多相关文章

  1. SQL Server AlwaysOn 集群 关于主Server IP与Listener IP调换的详细测试

    1. 背景 SQL Server 搭建AlwaysOn后,我们就希望程序连接时使用虚拟的侦听IP(Listener IP),而不再是主Server 的IP.如果我们有采用中间件,则可以在配置中,直接用 ...

  2. SQL Server AG集群启动不起来的临时自救大招

    SQL Server AG集群启动不起来的临时自救大招 背景 前晚一朋友遇到AG集群发生来回切换不稳定的情况,情急之下,朋友在命令行使用命令重启WSFC集群 结果重启WSFC集群之后,非但没有好转,导 ...

  3. 搭建SQL server AwaysOn集群

    1.环境 系统:windows server 2012 R2 数据库版本:SQL server 2012 三台服务器,IP分别是:10.10.10.111,10.10.10.112,10.10.10. ...

  4. 阿里云重磅发布DMS数据库实验室 免费体验数据库引擎

    2月27日,阿里云数据管理DMS发布年度巨献——数据库实验室,用户可在该实验室环境下免费体验数据库引擎.以及DMS各项产品功能.数据库实验室是DMS所提供的体验空间,免费赠送数据库引擎资源. 用户只需 ...

  5. 阿里云搭建JAVA WEB环境(SQL Server + TomCat + 配置域名)

    假期刚刚搭完,先写个提纲,今晚写完: 1.申请一个月的免费的云服务器ECS; 2.在云服务器上安装Java开发环境+Sql Server+Tomcat; 3.购买域名并认证,绑定服务器共有IP地址; ...

  6. 图文详解在Windows server 2008 R2上安装SQL Server 2012集群

    1.准备: 4台服务器(1台AD.2台SQL服务器.1台iSCSI存储服务器) 9个IP(1个AD的IP.2个SQL服务器的IP.2个心跳IP.1个iSCSI存储服务器的IP.1个集群IP.1个DTC ...

  7. Sql Server 2012 集群配置

    基于Windows Server 2008 R2的WSFC实现SQL Server 2012高可用性组(AlwaysOn Group) 2012年5月 微软新一代数据库产品SQL Server 201 ...

  8. 创建SQL Server数据库集群的经历

    自己尝试安装SQL Server集群和配置AlwaysOn可用性组,服务器系统是Windows Server 2012 R2,SQL Server是2014企业版,我的环境是一台服务器,然后用Hype ...

  9. (转载) SQL Server AG集群启动不起来的临时自救大招

    背景 前晚一朋友遇到AG集群发生来回切换不稳定的情况,情急之下,朋友在命令行使用命令重启WSFC集群 结果重启WSFC集群之后,非但没有好转,导致整个AG无法启动,主副本和辅助副本都处于正在解析的状态 ...

随机推荐

  1. mobx学习笔记03——mobx基础语法(decorator修饰器)

    在声明阶段实现类与类成员注解的一种语法. function log(target){ const desc = Object.getOwnPropertyDescriotors(target.prot ...

  2. spring依赖搜索

    spring项目在启动时,spring框架会根据名称自动搜索实现类. 这在日常开发中还是很有用的. 下面举两个例子. 1. 先写一个接口(或者抽象类) public interface IPerson ...

  3. 趣头条基于 Flink 的实时平台建设实践

    本文由趣头条实时平台负责人席建刚分享趣头条实时平台的建设,整理者叶里君.文章将从平台的架构.Flink 现状,Flink 应用以及未来计划四部分分享. 一.平台架构 1.Flink 应用时间线 首先是 ...

  4. 因为信仰,油画专业的他自学开发进击阿里技术P9

    大约在1年以前,阿里云视频云团队来了一位热心和气.爱好广泛的老干部新同学,他就是资深技术专家郝冲,花名和招,寓意“和气招财”. 有人说程序员只喜欢安静地写代码,和招偏偏一个户外运动爱好者.他擅长滑雪, ...

  5. linux0.11内核源码——用户级线程及内核级线程

    参考资料:哈工大操作系统mooc 用户级线程 1.每个进程执行时会有一套自己的内存映射表,即我们所谓的资源,当执行多进程时切换要切换这套内存映射表,即所谓的资源切换 2.但是如果在这个进程中创建线程, ...

  6. 【CF1210C】Kamil and Making a Stream(vector,数论,树)

    题意:给定一棵n个点带点权的树,i号点的点定义f(i,j)为i到j路径上所有点的gcd,其中i是j的一个祖先,求所有f(i,j)之和mod1e9+7 2<=n<=1e5,0<=a[i ...

  7. 7.zabbix常用item

    zabbix常用item zabbix常用item vfs.file.md5sum[/etc/crontab] {basic:vfs.file.md5sum[/etc/crontab].diff()} ...

  8. linux: 如何查看端口占用?

    查看端口占用 $: netstat -anp | grep 8888 tcp 0 0 127.0.0.1:8888 0.0.0.0:* LISTEN 13404/python3 tcp 0 1 172 ...

  9. USB入门开发的八个问题&USB枚举『转』

    USB 基本知识 USB的重要关键字: 1.端点:位于USB设备或主机上的一个数据缓冲区,用来存放和发送USB的各种数据,每一个端点都有惟一的确定地址,有不同的传输特性(如输入端点.输出端点.配置端点 ...

  10. tensorflow|tf.train.slice_input_producer|tf.train.Coordinator|tf.train.start_queue_runners

    #### ''' tf.train.slice_input_producer :定义样本放入文件名队列的方式[迭代次数,是否乱序],但此时文件名队列还没有真正写入数据 slice_input_prod ...