作者信息:本篇文章是由SQL Server Cloud Infrastructure Team的 Madhan Arumugam 和 Guy Bowerman共同著作。

简介

把SQL 数据托管在哪里,Windows Azure 为您提供了两个选择,VM上的SQL Server(以下简称 SQL/VM)和 Windows Azure SQL 数据库(以下简称 SQL DB)。SQL/VM 和 SQL DB 都生成自单一代码库,并且在云部署时都有其自己的长度。本文我们将借鉴之前的博客SQL Server in Windows Azure Virtual Machine vs. SQL Database,并提供简单的决策树来帮助您为您的应用程序或服务在Windows Azure上选择最佳的 SQL 数据库解决方案。Windows Azure SQL DB 作为 Microsoft 平台即服务 (PaaS) 投入生产已经好几年了。Windows Azure Virtual Machine上的SQL Server 作为Microsoft基础设施即服务(IaaS) 提供集成的数据库服务器实例,可作为一组预配好的平台图像。目前Public Preview提供Windows Azure Virtual Machine。

本文的重点是 SQL Engine,而不是 BI 和reporting。之后将详细探讨如何在BI和Reporting中做出选择。

为什么选择 Azure 来托管SQL ?

Windows Azure 高度集成了跨 Microsoft 堆栈,例如像SharePoint 和Active Directory这样的应用程序,同时,通过统一开发经验来整合不同部署模块的授权。这些集成经过了和Microsoft 产品一起协作的大量测试。它还提供了很强的互操作性。除了支持多种操作系统包括 Linux外, Windows Azure VMs 还基于标准 VHD 格式,使之容易的在Azure环境中导入和导出它们。

如此的一体化、 标准化和互操作性使得Azure成为理想的云环境来运行SQL Server,同时还为Microsoft 资产从传统上的户内平台到私有云以及公共云,提供了衔接一致的体验。

SQL/VM 和 SQL DB的不断创新不仅使管理已有应用程序或服务的综合TCO降低,也为新一代的云应用程序或服务提供了高效的平台。此外,它还能够搭配已有及新的应用程序在同一托管服务上,也能集合户内应用程序和网络成为混合模型从而提供了极大的灵活性。

选择正确的数据库解决方案

Microsoft 数据库产品适用的范围包括物理户内机、私有云环境、 第三方托管私有云环境和公共云。它提供了一系列的 SQL Server 产品使之成为一个既连贯又灵活的开放数据平台。

每一种产品都可以按您对基础设施的控制水平,实现数据库的整合和自动化程度的成本效益做出区分。当然也有其他的方面加以区分,例如兼容性,我们将在下面的决策树中详细介绍。

本篇文章侧重于 SQL/VM 和 SQL DB之间的对比,并提供了选择数据库服务方法,根据该方法您可以选择与您期望的成本效率和控制相符的数据库服务。

决策树

在此决策树中,请考量以下几项应用程序或服务具体决定点:

  1. 新的或现有的应用程序或服务:通常迁移现有应用程序("升级和转化")比新的应用程序更需要模拟户内应用程序操作,新应用程序一般没有那个必要。
  2. 应用程序或服务要求:此决定点检查任何兼容性、 网络或可能需要在 VM 中的 SQL Server 的安全要求。详细信息请参阅SQL Server in Windows Azure Virtual Machine vs. SQL Database和 MSDN 文章关于SQL DB和 SQL/VM 功能兼容性差异的完整列表Guidelines and Limitations (Windows Azure SQL Database)。
  3. 大规模经济(重新)架构/分区的意愿:此决定点检查是否使用SQL DB 扩展技术例如Federations in Windows Azure SQL Database来实现弹性和扩展需求。想要充分利用SQL DB大规模的经济和弹性带来的益处,通常需要一定程度的重新架构 (请参见SQL DB扩展注意事项在这里).
  4. 数据库大小: SQL 数据库版本是有大小限制的,目前单个 Azure SQL DB最大为 150 GB。然而 SQL/VM,目前最大 VM 大小是 ExtraLarge (8 CPU 内核、 14 GB RAM 和高达 16 TB 的磁盘空间)。VM 大小的详细信息请参阅 MSDN 文章How to Configure Virtual Machine Sizes。

其他注意事项

除了这些高级别决定点之外,还有一些较低级别的设计标准和大小期望,也会影响数据库的解决方案,例如一个新的应用程序可能需要一特殊功能而是SQL DB所不具备的。此决策树使用的框架只是提供一个简单的方法来帮您快速评估您的应用程序需求。

一个重要的考量是 IaaS 与 PaaS 数据库解决方案所提供的 SLA。例如在 IaaS,Windows Azure所有的 VM 存储都有 SLA。当 Windows Azure VM 可用时 一般两个或多个实例的 99.95%的Windows Azure VM-level SLA会在一个可用集中。在 SQL DB中有数据库级可用性 SLA。更多详细信息,请参阅http://www.windowsazure.com/en-us/support/legal/sla/。SLA 所不覆盖的操作都需要用户自己来完成。

应用程序或服务不需非要在 IaaS 和 PaaS 两者之间做出选择。混合型的应用程序模式包括 PaaS 和 IaaS 服务两者 (例如,在 Azure上的 SQL DB和 SQL/VM),它代表了一种现实可能,就是让应用程序开发和部署允许应用程序在VMs上运行组件,这需要从户内迁移数据时,实现兼容和控制如 BI 或应用程序,并且使用 SQL DB中的数据库把DBA 和数据库的成本降到最低。

结论

Windows Azure SQL 数据库和 Windows Azure 虚拟机上运行的 SQL Server都是不错的方法来实现不同的数据库应用程序需求。

总之,如果符合下面条件,选择 SQL/VM:

  • 您需要与户内 SQL Server 完全兼容。
  • 您希望用最小改动来实现现有的应用程序。
  • 您需要基础设施层隔离。
  • 您的应用程序或服务专为"计划数据库表"设计(AKA 扩展)。

如果符合下面条件,选择 SQL DB:

  • 您正在基于应用程序创建净新增云。
  • 您想要减少数据库管理的成本并把重点放在应用程序层。
  • 您需要数据库层的隔离。
  • 您的应用程序或服务专为"无计划也无限制数据库表"设计 (通过扩展的弹性)。

引用

Gregory Leake’s blog post on SQL Server in Windows Azure Virtual Machine vs. SQL Database:http://blogs.msdn.com/b/windowsazure/archive/2012/06/26/data-series-sql-server-in-windows-azure-virtual-machine-vs-sql-database.aspx

Guidelines and Limitations (Windows Azure SQL Database)

SQL Server Virtualization support statement covering virtualized environments beyond Hyper-V:http://support.microsoft.com/kb/956893

本文翻译自: http://blogs.msdn.com/b/windowsazure/archive/2013/02/14/choosing-between-sql-server-in-windows-azure-vm-amp-windows-azure-sql-database.aspx

转载于:https://www.cnblogs.com/wuwa/archive/2013/02/21/6192129.html

如何在Windows Azure VM上的SQL Server和Windows Azure SQL Database两者中做出选择相关推荐

  1. SQL Server高可用性部署实施 SQL server 群集

    SQL Server高可用性部署实施 SQL server 群集 2010-09-27 11:15:23|  分类: 数据库 |  标签:无 |字号大中小 订阅 SQL Server高可用性部署实施 ...

  2. 使用SQL Server事务复制将SQL Server数据库迁移到Azure SQL数据库

    In this guide, we'll discuss more about migrating a SQL Server database to Azure SQL Database using ...

  3. 微软SQL服务器登录,Microsoft SQL Server 【Windows 身份验证】和 【sa】都无法登录的解决方案...

    1.修改启动参数:打开[SQL Server 配置管理器(SQL Server Configuration Manager)]→右键[SQL Server(MSSQLSERVER)]属性→高级(Adv ...

  4. Django连接使用SQL Server数据库(windows版)

    2019独角兽企业重金招聘Python工程师标准>>> 前言: 众所周知,Django 默认支持sqlite,mysql,oracle,postgresql数据库,不支持SQL Se ...

  5. JDBC连接SQL Server数据库[windows验证模式连接+SQL server验证]

    JDBC连接SQL Server数据库[windows验证模式连接+SQL server验证] 都说用JDBC连接数据库会出现很多问题,现总结.汇总一下. 前提是已经正确安装了SQL Server系列 ...

  6. SQL Server整合–在单个SQL Server实例上托管多个数据库

    介绍 (Introduction) Consolidating SQL Server databases and instances is a practice which, under certai ...

  7. SQL Server 2014 windows身份验证登录失败解决办法

    网上大部分安装SQL Server教程里都默认选择的windows身份验证登录,没有设置sql server账号,因此初次登录时只能通过这一种方式登录,若windows身份验证也不通过,该如何解决呢. ...

  8. SQL Server本地Windows身份登录,错误代码18456问题

    解决这个问题的前提是:能用sa账户登录数据库. 问题:错误代码:18456 1.使用Winfows身份登录 ,使用点击连接报错,错误代码:18456 2.使用sa账户登录 新建查询:输入Sql CRE ...

  9. SQL Server以windows验证登录之后,修改sa密码,不能用sa登录的解决方案

    2019独角兽企业重金招聘Python工程师标准>>> SQL Server以windows验证登录之后,修改sa密码,不能用sa登录的解决方案 问题:SQL Server Mana ...

最新文章

  1. Transformer t2t vit
  2. c++ clang_complete
  3. c#项目转JAVA,第5个月,基本完成
  4. 深入理解闭包系列第二篇——从执行环境角度看闭包
  5. downloader怎么用 hls_如何下载企业微信直播回放视频(HLS格式)
  6. java 多线程 选择题_Java多线程之三道多线程练习题
  7. html同时用多个css,多类选择器的运用_html/css_WEB-ITnose
  8. arange函数--Numpy
  9. Windows 10中无需禁用强制驱动签名检测加载驱动
  10. 最新单片机毕业设计题目大全
  11. Update 语法全介绍
  12. c语言.jpg图片转成数组_怎么把Word转成PDF?一个PDF转换软件就能搞定!
  13. 视频产生的本质及色彩空间:RGB 和 YUV
  14. 正则表达式练习题自带注释
  15. Cephx认证及rbd的使用
  16. insightface人脸识别代码记录(一)(数据前期准备)
  17. X特效 html+css+js
  18. python小应用之moviepy的视频剪辑制作gif图
  19. HTML5版qq牧场,qq牧场手机版
  20. python爬虫妹子图_Python 爬虫入门(二)——爬取妹子图

热门文章

  1. dbf如何导入oracle_「赵强老师」第一个Oracle的手工管理的备份和恢复
  2. 华南理工计算机基础知识题,华南理工_计算机应用基础_随堂练习答案(2017年)
  3. Git npm相关命令
  4. 浏览器安全检查己通过_百度主动推送三项合一功能
  5. 多继承中虚基类构造函数的一种调用规则
  6. JS对象转URL参数
  7. vconsole 调试 查看LOG VUE在手机上调试 手机查看h5的日志
  8. 微信小程序获取openid和session_key并且把openid存入数据库
  9. Missing space before value for key 'path'vue.js解决空格报错
  10. C(第一个C程序) 和 C++ (第一个C++程序)对比碰撞