Windows Azure是微软公司的云基础架构平台,它已经成为了微软公司整体战略的一个主要部分,而Windows Azure SQL 数据库(前身叫做SQL Azure),也成为了Windows Azure本身的一个主要组件。
微软公司对Azure是有野心的,尤其是对Windows Azure SQL数据库(为简单起见,下文将简称SQL Azure),它的意义不只是在云服务中提供数据库支持,更是为了创建支持PB级“大数据”乃至一切规模数据量的基础设施。
相比于创建自己的SQL Server实例,使用SQL Azure有什么优势呢?下面是一些关键优势,尤其是对于那些自己内部运行SQL Server的情况更加适用。
使用已有工具。使用SQL Azure可以通过sqlcmd或者SQL Server Management Studio来操作,SQL开发人员应该对这两种工具都不陌生。
不需要管理实体。你一定厌倦了设置SQL Server,配置数据库,清理物理服务器等常规的令人烦扰的工作,把你的数据库托管以后这些事就变成了别人的工作,这是一大利好。如果你是在从头开始,那这种方式的优势就更大了,你都不需要把现有数据存储导入到云服务中去。
开箱即用的高可用性。Azure通常消除了构建高可用性架构的需求。这一点对于SQL Azure也是一样的,任何构建于其中的数据库都自动具备了高可用性。
可扩展的服务规划满足多种需求和预算。SQL Azure企业级的特性对于相对简单的需求看起来似乎有点小题大做,但是微软公司已经采取措施使SQL Azure同时能吸引大型和中小型商业用户。首先,微软建立了一套定价结构,支持有较小需求的用户;你可以为数据库每月支付***4.99美元的费用,每个数据库的***存储可以达到150GB。
弹性。这是一个多被滥用的流行词,但是对于SQL Azure,它是名副其实的。为多个数据库编写的应用可以通过按需增加实例用Azure扩展。也就是说,SQL Azure***的益处并不只是按需增加或减少节点个数。微软公司还提供了一套联邦基础架构来更容易地扩容,影响更小,还有SQL Azure联邦数据迁移向导更进一步使流程自动化。
对于非微软技术的支持逐步增加。微软公司能跨Azure所有不同层支持的第三方软件技术越多,人们就更可能使用它来构建应用并与他们已经使用的软件做兼容。除了Python、NoSQL、Java、node.js和PHP已经在整个Azure架构中得到支持之外,另外一项主要的而且非常关键的专门应用于SQL Azure的技术是Hadoop。Azure系统中的Hadoop(Windows Azure HDInsight)目前只能通过邀请方式使用,但它的存在是意义重大的。
如果你需要的话可以通过VM使用它。SQL Azure宣称成为整体架构一部分的方式之一就是提供了多层次实施。如果你只是需要一个网站和数据库,你可以给Azure网站选择一个SQL Azure实例来完成。如果你需要一个成熟的虚拟机(VM),你也可以做的很好——甚至可以使用在虚拟机中本地部署的SQL Server实例来替代SQL Azure。
同步和迁移工具。如果你已经有了一套SQL Server存储的数据,想同步到SQL Azure或者想通过同步功能被动迁移来完成。使用该服务本身是免费的,所有入站Azure的数据不会收取任何费用,因此你不必担心同步GB数量级表会消耗巨大成本。
所有现有用于在SQL Server实例之间迁移数据的工具都是可用的。你可以使用微软同步框架来做这项工作,也可以使用T-SQL脚本、bcp工具或者SQL 数据库迁移向导来做(尽管微软公司对***一个不做支持)。