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

作者信息:本篇文章是由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/new0801/archive/2013/02/21/6176453.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/261942.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

graphviz 画决策树_数据挖掘入门系列教程(四)之基于scikit-lean决策树处理Iris

数据挖掘入门系列教程(四)之基于scikit-lean决策树处理Iris加载数据集数据特征训练随机森林调参工程师结尾数据挖掘入门系列教程(四)之基于scikit-lean决策树处理Iris在上一篇博客,我们介绍了决策树的一些知识。如果对…

设计模式UML图

1.简单工厂模式 2.工厂模式 工厂模式与简单工厂模式的不同在于,每个操作类都有自己的工厂,而且把逻辑判断交给了客户端,而简单工厂的逻辑判断在工厂类里边,当增加新的操作类时,简单工厂需要修改工厂类,而工…

Android小項目之--ListView與ListAcitivity完善論壇管理效果2(附源碼)

ListAcitivity 类型布局用来配置应用程序,主要为显示菜单列表、列表明细项目,假如让程序继承 ListActivity ,可以实现以下的方法: getListAdapter()  取得目前列表项目的 AdaptergetListView()  取得目前列表的 ViewgetSelectedItemId() …

docker 覆盖 entrypoint_最佳实践,Dockerfile中ENTRYPOINT与CMD指令的区别与建议

通过本文你会获得什么熟悉Dockerfile中ENTRYPOINT和CMD指令之间的区别,以及在实际项目中的使用建议。1 - 开始前准备首先你要有个docker环境,以下实验基于:docker 18.09,以及alpine:3.8镜像。下载基础镜像docker pull alpine:3.82…

单实例单向rac搭建gg流

1、 m1 m2 m3 source端 2、 在m1 m2 m3 上 /etc/hosts 172.16.10.140 source source上 添加 #public network 172.16.15.101 m1 172.16.15.102 m2 172.16.15.103 m3 #private network 10.11.11.1 m1-pri 10.11.11.2 m2-pri 10.11.11.3 m3-pri 29 #VIP network 172.16.15.1…

python自动登录教程_Python 实现自动登录+点击+滑动验证功能

需要用到的库有selenium,还需要安装Chrome浏览器驱动,具体如何安装我就不详述了 在这里我模拟了csdn的登录过程 ** 1**.首先打开网页,用户名密码登录,然后定位用户名输入框,和密码输入框,输入后 点击登陆 弹…

2月份.xyz域名总量10强:西数称王 注册量破百万

IDC评述网(idcps.com)02月25日报道:根据ntldstats.com发布的最新数据显示,截止至2016年2月24日17时,国内外.xyz域名总量十强名单顺序,与上期1月28日对比,无任何变化。最值得一提的是&#xff0c…

flash作业_一起作业,你很智障!

电子作业现在貌似很流行,在很多学校都有,具体的利弊就不再赘述,可以点击前面的超链接跳转到某度百科自己看。今天只是忍不住怕盘点下国内知名电子作业平台——一起作业网的一些智障设计。。。本来想写到这里去的:有哪些让人拍案叫…

QtCreator添加图片资源

在qt creator里面,设计师designer是一个很好用的功能,通过它我们可以可视化的设计界面。当然了,设计界面就需要各种各样的效果,图片资源是不可少的。今天,小编就来教大家qt怎么添加图片资源 工具/原料 qt creator方法/…

只安装python_AI帮你写Python,安装只需5步,还能任你调教 | 开源

一行一行地敲代码就像是徒手搬砖,聪明的程序猿们表示:我们要解放生产力! 比如像这样:在机器学习的时代,AI智能补全代码早已不是梦想,各种IDE和插件都在努力帮助程序猿减少击键次数,延长键盘寿命…

巧用apply让javascript函数仅执行一次

RT,有时候我们只想要让某些脚步函数执行一次就算完成任务了。如何实现这种功能呢?简单模仿下面这段就可以轻松搞定了: 代码 varobj newObject();obj.triggerOnce function(fn) { //控制让函数只触发一次returnfunction() { try{ fn.ap…

评论时间戳格式化

如图: 注意,评论时间戳的格式,刚才,几小时之前,几天之前..... 实现需要一个时间格式的工具类,如果用java.util.Date当然也可以实现,这里说的是更方便的joda-time。 maven地址:http:/…

android lint工作机制,Android架构

MVCmvc model view controller 模式视图控制器M: 业务逻辑处理V:处理数据显示的部分C:Activity处理用户交互的问题,中间桥梁的作用,解耦的作用。特点:耦合性低扩展性好,利于维护模块职责划分明确Model层&am…

opendds开发指南中文版_最强的开发者技术路线图已经更新到 2020 GitHub 超 118k还有中文...

想必大家都知道,学习路线图是学习一门新技术的入门指南,让我们对技术有一个大概的了解,并且在学习感到困惑时被指导。所谓不求最好,但求最全。今天在在就给大家带来了一个国外大牛开源的项目 — 「developer-roadmap」&#xff0c…

iOS APP网络分析之rvictl(可以捕捉除了Wifi以外的网络类型)

iOS应用(包括移动应用)的网络分析,一般采用将移动设备上的流量导入到PC机上,利用PC上成熟的数据包分析工具例如wireshark等来进行分析的方法。 总的来说,有以下三种方法:一、在PC上设置网络共享&#xff0c…

oracle批量update数据_东方国信大数据面试真题

东方国信学长1Hadoop工程师笔试题(金融事业部)1)技术基础题(共十题,每题5分)(1)列举在Linux系统下可以在看系统各项性能的工具(区分CPU、内存、硬盘、网络等)…

eclipse定制化配置调优、初始化配置指南、可以解决启动慢等问题

配置eclipse的jvm参数 打开eclipse根目录下的eclipse.ini在最后面加上如下的jvm参数 -Xms400m -Xmx1400m -XX:NewSize128m -XX:MaxNewSize512m -XX:PermSize96m -XX:MaxPermSize128m -server -XX:CompileThreshold100 -XX:UseParNewGC -XX:UseConcMarkSweepGC -XX:CMSInitiatin…

SEC SOC Test Board 在WIN 7下的安装

首先找到“设备和打印机”点击打开 如果你插上了USB线,会看到,安装不成功时会有个“!” 双击它,出现 点击“属性”,出现 点击“改变设置”,出现 点击“更新驱动程序”,出现 点击进去&#xff0c…

吴枫 python小课怎么样_编程中,有哪些好的习惯从一开始就值得坚持?

电影《喜剧之王》里,周星驰饰演的尹天仇,是一个渴望成为真正的演员,却不断沦为落魄跑龙套的小人物。即便如此,他对演戏的态度始终认真而可敬。他每天不但锲而不舍寻找演戏机会,还在街坊福利社开了个戏剧训练班&#xf…

设置width不生效_关于padding被计算在width中问题——box-sizing相关

前一阵子遇到一个小问题,在同样的样式(主要是宽高边距之类的)条件下,DIV在移动端和PC端的宽度不一样,排除了绝大多数样式的问题,但是有个比较陌生,就是box-sizing,其实经常看到&…