`
yuun
  • 浏览: 62665 次
文章分类
社区版块
存档分类
最新评论

利用 ApsaraDB For SQL Server各版本高效而低廉地实现关键业务需求

 
阅读更多

1. 什么是SQL Server多版本

微软的SQL Server除了不断迭代的版本升级外,还有从功能差异上分为几个不同的版本。 SQL Server 2012有企业版、商务智能版、标准版、开发版、Web版,当然还有一个入门版本Express。SQL Server2014/2016,只有企业版、标准版、开发版、Web版,也有一个入门版本Express。这些版本的应用场景是不同的,这里有详细的解释:

Enterprise

作为高级版本,SQL Server Enterprise 版提供了全面的高端数据中心功能,性能极为快捷、虚拟化不受限制,还具有端到端的商业智能 ,可为关键任务工作负荷提供较高服务级别,支持最终用户访问深层数据。

Standard

SQL Server Standard 版提供了基本数据管理和商业智能数据库,使部门和小型组织能够顺利运行其应用程序并支持将常用开发工具用于内部部署和云部署,有助于以最少的 IT 资源获得高效的数据库管理。

Web

对于为从小规模至大规模 Web 资产提供可伸缩性、经济性和可管理性功能的 Web 宿主和 Web VAP 来说,SQL Server Web 版本是一项总拥有成本较低的选择。

Developer

SQL Server 2012 Developer 版支持开发人员基于 SQL Server 构建任意类型的应用程序。它包括 Enterprise 版的所有功能,但有许可限制,只能用作开发和测试系统,而不能用作生产服务器。SQL Server Developer 是构建和测试应用程序的人员的理想之选。

Express 版

SQL Server 2012 Express 是入门级的免费数据库,是学习和构建桌面及小型服务器数据驱动应用程序的理想选择。 它是独立软件供应商、开发人员和热衷于构建客户端应用程序的人员的最佳选择。 如果您需要使用更高级的数据库功能,则可以将 SQL Server Express 无缝升级到其他更高端的 SQL Server 版本。 SQL Server 2012 中新增了 SQL Server Express LocalDB,这是 Express 的一种轻型版本,该版本具备所有可编程性功能,但在用户模式下运行,并且具有快速的零配置安装和必备组件要求较少的特点。

从这些版本的应用场景看,很显然,能够用于产品环境的只能是企业版、标准版和Web版本,然而我们在使用过程中,很少去关注版本的差异和成本的开销,这是我们做架构选型或者数据库选型需要考虑的问题。

2. SQL Server各版本引擎功能的差异与比较

SQL Server产品家族是非常丰富的,我们目前关注的是引擎功能相关特性和差异。以用户的视角来看,我们主要关注性能和功能,可以从下面几个方向考虑(以SQL Server 2016 SP1各版本为例,ApsaraDB for SQL Server都是64位的版本)。

2.1 硬件支持与可扩展性

1.jpg

企业版无需考虑,什么功能都支持,操作系统能力多大他就有可以拥有多大能力。我们把关注点放在Standard和Web版本,在CPU上,Standard最大支持的是24个逻辑核,内存支持到128G,Web支持的是16个逻辑核,内存支持到64G, 在我们的产品上,会有不同的产品规格来对应实例规格,总体来看,16G以下内存规格主要对应着Standard、Web版本。需要说明的是,内存限制方面在Standard版本上,会看到超出128G的情形,如果出现请不要觉得奇怪,有一种可能是微软可提供一种方式获得超出128G的内存利用。数据库大小支持都可以达到524PB,我想没有一个生产线上敢用到这个量级,对于单库,如果达到1~2T数据库级别,无论从性能角度还是可维护性方面就应该考虑从架构上拆分掉。

2.2 高可用性

高可用方面,在架构上,目前提供是单机版本,所以日志传送,镜像和AlwaysOn方面的信息不再比较,从产品的角度,只需要看看比较感兴趣的几个影响性能的问题(以SQL Server 2016 SP1各版本为例):

2.jpg

在备份的处理上,我们是流式进行,数据并不落地,Web不能够压缩,但备份时间可以灵活选择,避免在备份过程中影响业务。联机索引和架构更改,Standard/Web会受到影响,但我建议的最佳实践是,如果你的操作是核心表并且数据量较大,不要在业务较高时间进行,不管你是否联机操作,都是有风险的,一般会在晚上某个空闲时间点去做这类风险较高的操作,对于非核心表或者数据量较小的表,你什么时候操作都是可以的。

2.3 数据库系统可扩展性和性能

在数据库引擎内核方面,企业版、标准版和Web版本绝大多数都是支持的,因此没有差异可以比较,有一个选项“已分区表并行度”不同。

3.jpg

内存中 OLTP 数据大小和列存储段缓存限制为“规模限制”部分中的版本所指定的内存量。 最大并行度是有限的。 对于 Standard Edition,索引生成的进程并行度 (DOP) 限制为 2 DOP。已分区表并行度,其实很少用到了,因此基本上可以不用看。另外这些功能都是基于SQL Server 2016 SP1版本,之前的版本可能会不一样,具体可以参考微软官方文档。

2.4 可管理和可编程

4.jpg

关于高级 R 集成是最新的技术,基本上没有使用到,毕竟是做数据分析使用。SQL Profiler不支持,这个令人疑惑的,实际上你装个通用的客户端,也是可以利用SQL Profiler跟踪性能等等事件。因此,这点你可以大可放心使用Web版本。

3. ApsaraDB for SQL Server多版本产品与选择

3.1 为何我们要支持SQL Server多版本

在这之前,我们只有SQL Server 2008 R2企业双机版和SQL Server 2012 企业单机版,给用户的选择余地是有限的。根据用户的实际需求,很多用户不仅从迭代大版本有需求,还需要从功能上进行选择,原因很简单,迭代高版本会支持更多特性,迭代高版本也可能会开放迭代低版本的高级版未开放的功能。再者,从用户的规模和成本角度,需要高大上的企业版,也需要满足个体户的IT系统需求,而这些个体户,大多时候使用Web版本即可。正所谓萝卜白菜,各有所爱,选择适合自己的版本才是最重要的。

3.2 ApsaraDB for SQL Server 多版本架构

以用户的视角来看ApsaraDB for SQL Server的架构,可以简单描述一下多版本的架构形态,每个迭代版本和功能版本都是一样的,此图有助于用户了解数据库产品系统结构。

arch_.jpg

对用户而言,能够利用Web Console操作很多数据库管控、运维、报警、性能监视。也可以通过OPENAPI操作数据库实例。可利用管理客户端轻松管理数据库,基于虚拟机的数据库服务权限开放是很宽松的,用户可以利用这些权限解决性能和使用问题。

3.3 用户从ApsaraDB for SQL Server多版本获得的优势与利益

3.3.1 即买即用

与传统部署方式不同,ApsaraDB for SQL Server不需要用户去部署网络,安装操作系统,安装数据库系统,调整参数,在这里,这一切都变更简单,您只需要在Web Console确定一个Region一个可用区,一个实例规格等基本信息,然后就可以坐在那里静候15分钟左右即可。您也可以使用OPENAPI 发起一个简单的调用,也可以轻松实现自动化实例创建,一切将变得简单可信赖。

3.3.2 轻松弹性资源

无论你购买的资源是否足够,你都无需担忧,ApsaraDB for SQL Server可以轻松为了实现资源的弹性升级和降级,你只需要在Web Console点击一下升级或者降级到什么规格,便可做坐享其成。可以解决在你业务促销过程中的升级与降级,既方便,亦可节约成本,一举多得。

3.3.3 宽松的权限

ApsaraDB for SQL Server 从SQL Server 2012开始,权限较为宽松。你可以利用这些权限轻松管理数据库和性能调优。相对于SQL Server 2008 R2,在权限上,你可以实现下列操作:
--创建更改和删除数据库
--创建更改和删除登录用户
--KILL权限
--SQL Server Profile和数据库性能优化向导

等等,以上你可以参考这个链接文档:
https://yq.aliyun.com/articles/59347?spm=5176.8091938.0.0.fODKSi

最近新增:
-- 实例级别参数调整
你只需要使用存储过程sp_rds_configure指定配置选项即可,你不必去关心打开高级选项,如果设置的选项需要重启,也会有提示。但目前支持的配置如下:
fill factor (%)
max worker threads
cost threshold for parallelism
max degree of parallelism
min server memory (MB)
max server memory (MB)
blocked process threshold (s)

-- 部分DBCC功能
你只需要使用存储过程sp_rds_dbcc_trace指定需要打开跟踪标记即可,另外,观察打开状态是可以使用DBCC tracestatus(-1)。目前支持的跟踪标记有:
1222,1204,1117,1118,1211,1224,3604

-- 实例内克隆数据库
克隆数据库更简单了,使用存储过程sp_rds_copy_database指定源数据库和目的数据库即可,数据克隆时间的多少与你数据库大小密切相关,另外一点很重要,剩余空间不能小于克隆数据库大小的1.3倍。

上面三个新特性,你可以使用下列脚本跑一下试试,另外,设置后要稍等片刻才生效:

3.3.4 自动监控与告警

可以在Web Console台轻松配置你的告警项和查看性能监控,可以回溯历史状况,也可以设置监控频率和设置报警规则,用户可以获得一下监控和性能指标:

MSSQL实例CPU使用率(占操作系统总数 %)
磁盘空间(单位MByte)
IOPS(单位:次/秒)
当前总连接数
SQLServer实例平均每秒钟的输入/流出流量。单位为KB
平均每秒事务数
平均每秒SQL语句执行次数
缓存命中率(%)
每秒检查点写入Page数
每秒登录次数
平均每秒全表扫描次数
每秒SQL编译
每秒锁超时次数
每秒死锁次数
每秒锁等待次数

3.3.5 轻松运维

基本上,你可以不用自己去做太多运维的事,备份还原和恢复任意时间点,在Web Console都可以简单设置完成。监控和报警也是比较齐全。重启实例,收缩空间都是可以简单完成。你只需要关注自己的业务状况即可。

3.3.6 灵活的成本与版本选择

ApsaraDB for SQL Server将会推出至少5个新的版本,SQL Server 2012标准版、Web版本,SQL Server 2016企业版、标准版、Web版本。所以根据你的业务和成本开销,可以灵活选择产品,满足自己的业务才是王道。

3.3.7 性价比为王

在做云服务之前,我使用的都是企业版和标准本,从来都未考虑过Web版本,成本也只是做一些比较粗略的估算。所以,有用户就问了,我的业务怎么选择即满足业务,又可以节省成本。先看看企业版和标准本以及Web版本许可费用就明白了。标准版是WEB的很多倍,不是一个量级,而企业版又是标准本很多倍,又不是一个量级。那怎么选择版本呢? 这里提供几个从数据库角度的关键因素:用户并发数、对数据库的请求量、业务的复杂度、数据库功能要求。数据库功能要求是首先要确定的,比如有些功能可能在企业版才有,那么几乎你没有选择其他版本的余地,如果没有用到企业版,那么可以在标准版和Web版本选择。版本差异也有讲到。而实际上,这是一个粗略的估算,更准确的评估方式是进行压力测试,全链路测试,贵的不一定好,好的不一定贵,适合自己的场景才是最好的。在和用户的沟通中,发现很多场景完全是可以使用Web版本来做解决方案的。特别是ISV提供商针对不同细分领域的产品,不仅从数据库种类可以选择,还可以从功能版本上去选择,总之,一切都是以性价比为王。对于ApsaraDB for SQL Server产品,后续我们会陆续提供跨功能版本升级服务,那么即使你的业务变化增长较快,也可以轻松向更高级的功能版本升级,一切都是因为有云服务,所以才变得如此简单。

原文链接:https://yq.aliyun.com/articles/179065

分享到:
评论

相关推荐

    SQL Optimizer for SQL Server 10.0.3

    SQL Optimizer for SQL Server 10.0.3 正是一款针对SQL Server 语句进行优化的专业工具,旨在帮助用户最大化利用资源,提升查询效率,减少数据库系统的瓶颈。本文将深入探讨该工具的核心功能、使用场景以及T-SQL语言...

    ODBC Driver 11 for SQL Server.zip

    总的来说,ODBC Driver 11 for SQL Server是连接Windows系统与SQL Server的强大工具,无论你是开发人员还是系统管理员,都可以通过这个驱动程序轻松地访问和管理SQL Server数据库,同时享受高效、安全和灵活的数据库...

    microsoft system clr types for sql server 2012

    《Microsoft System CLR Types for SQL Server 2012:官方工具与系统集成的关键组件》 在IT领域,尤其是数据库管理中,Microsoft SQL Server是广泛使用的数据库管理系统。Microsoft System CLR Types for SQL ...

    SQLSRV20 Microsoft Drivers for PHP for SQL Server2.0

    SQLSRV20 Microsoft Drivers for PHP for SQL Server2.0 PHP自带的php_mssql.dll文件已经满足不了sql server2005及其以上版本的使用了。微软也随之发布了SQL Server Driver for PHP来做相应的支持。 其中SQL ...

    Navicat for SQL Server(SQLServer数据库管理)V11.0.10简体中文特别版

    Navicat for SQL Server 是一套专为 Mircosoft SQL Server设计的强大数据库管理及开发工具。它可以用于 SQL Server 2000、2005 及 2008R2,并支持大部份最新功能,包括触发器、函数及其他。Navicat 的功能足以符合...

    Microsoft System CLR Types for Microsoft SQL Server 2014

    总之,"Microsoft System CLR Types for Microsoft SQL Server 2014"是一个至关重要的工具,它让开发者可以利用.NET的强大功能来扩展SQL Server的功能,创建更高效、更灵活的数据库解决方案。这个组件对于使用...

    Navicat for SQL Server(SQLServer数据库管理)V10.1.7简体中文特别版

    Navicat for SQL Server(SQLServer数据库管理)V10.1.7简体中文特别版

    Toad for SQL Server 6.1,最新版绿色单文件(已注册)

    1、新建C:\ProgramData\Quest Software\Toad for SQL Server 6.1目录 2、在目录下新建license.key文件 3、在文件中输入以下注册码: BFGPY5J1BT2NFDGJJV00TQAFW6KM0DG8CQW9A5AF5JNG85H16GBKMDBX4H8LJ0LGX3ADA4BJ3DP4...

    sql server jdbc驱动

    SQL Server JDBC驱动的特点包括:支持最新的SQL Server版本、提供与Java应用程序的高效连接、具备良好的稳定性和安全性。它还支持事务处理,使得开发人员可以执行复杂的数据库操作,并确保操作的原子性、一致性、...

    microsoft system clr types for sql server 2014

    这个压缩包包含的“microsoft system clr types for sql server 2014”是开发使用VS2017创建RDLC报表时的关键组件,它提供了.NET Framework与SQL Server之间的桥梁,使开发者能够利用.NET的强大学习和开发工具来设计...

    Microsoft Drivers for PHP 5.3/5.4/5.5/5.6 for SQL Server

    综上所述,Microsoft Drivers for PHP 5.x for SQL Server是PHP开发人员与SQL Server数据库进行高效集成的关键工具,它提供了丰富的功能和强大的性能,使得在PHP环境中构建和管理SQL Server数据库应用变得更加简单和...

    Recovery Toolbox for SQL Server2.2.0

    可用于从损坏的 MS SQL Server 数据库(*.mdf 文件)中恢复数据。它可以保存关键数据,避免其丢失。Recovery Toolbox for SQL Server 会分步提取数据。

    Navicat for SQL Server v10.0.8

    Navicat for SQL Server v10.0.8是一款专业且强大的数据库管理工具,专为Microsoft SQL Server设计,旨在提供高效、直观的管理环境,帮助用户轻松地进行数据操作和管理。该版本在功能和性能上都具有显著的优势,是IT...

    SQLPrompt for SQLServer2016 智能提示插件 SQL2016 提示

    SQLPrompt for SQLServer2016 智能提示插件 SQL2016 提示 SQLPrompt最新版本 绿色版 SQL Prompt 是一款拥有SQL智能提示功能的SQL Server和VS插件。SQL Prompt能根据数据库的对象名称,语法和用户编写的代码片段自动...

    Toad for sql server 5.6 破解版(破解文件)

    1. 下载最新"Toad for SQL Server": ...2. 安装 "Toad for SQL Server". 3. 替换 "ToadPro.dll". 4. 运行"Toad for SQL Server",在help-〉licensing输入 0000000000000000000000000,可以得到一万天的试用期

    sqlServer的jar包

    SQL Server的JAR包是Java开发者在与SQL Server数据库进行交互时所必需的库文件,它们包含了连接、查询、操作数据库所需的各种类和方法。在Java应用程序中,使用这些JAR包可以实现对SQL Server数据库的高效访问。下面...

    适用SQL Server 2016版本的数据库加载驱动包——sqljdbc42.jar

    在IT行业中,数据库是存储和管理数据的核心工具,而SQL Server 2016是由Microsoft开发的一款企业级的关系型数据库管理系统。它提供了高效的数据存储、查询、分析和安全功能,广泛应用于各种业务系统。在Java应用程序...

    [SQL工具] dbForge Data Studio for SQL Server 2.0.48 破解版

    dbforge Data Studio for SQL Server is a comprehensive solution for data analysts and application developers. It allows users to efficiently Explore, Analyza and Report on huge amounts of data in SQL ...

    LogExplorer for sql server 4.2含汉化

    - **SQL Server 2005兼容**:尽管较新的SQL Server版本已经发布,但2005版仍有大量用户,此版本特别支持该版本,满足了这部分用户的需求。 4. **安装与使用** - 用户可以通过解压提供的"LogExplorer汉化.rar"文件...

    鱼肠log explorer for sql server 2008

    国产log explorer for sql server, 支持sql2000,sql2005,sql2008,解决lumigent log explorer不支持sql2008的问题,通过日志恢复误delete,误update数据.详细操作见操作手册.

Global site tag (gtag.js) - Google Analytics