云计算:SQL Azure 简介

通过使用 SQL Azure,您会意识到熟悉的关系数据库平台以及云计算的好处。

Joshua Hoffman

数据是企业的命脉。确保数据安全、可用且可轻松访问是任何 IT 部门的基本要求。更重要的是,确保数据得到正确使用以便驱动进程、提供决策信息以及对环境变化做出明智反应,这是区分成功企业与落后企业的关键所在。

企业确保数据可用性所采用的方式在迅速地变化着。从核心数据中心功能(如电子邮件和商业智能)到个人应用(如照片共享和文件同步)的所有内容用到的托管服务(一种软件即服务的观点)已经成为我们日常信息交互方式的组成部分。云计算作为一种概念和一种 IT 基础结构的实用组件,在过去几年内迅速崛起。

一个尤为引人注目的云计算解决方案即是 Microsoft SQL Azure。SQL Azure 是一个功能强大且为人熟知的基础结构,用于存储、管理和分析数据。它还带来了云计算的好处。共享的托管基础结构有助于降低直接和间接成本。即付即用模型有助于提高效益。而高可用性 (HA) 和容错都是内置的。

但是,这个新模型的某些方面仍然给 IT 专业人员提出了挑战。围绕使用托管服务还是使用内部基础结构做出正确的选择是一项严峻的挑战。您必须确保在这些方法之间顺利集成,并维护强安全性和业务连续性计划。这些都只是 IT 专业人员在针对自己的组织评估云计算时需要考虑的一些问题。

在这里,我将从 IT 专业人员的角度向您介绍 SQL Azure。我将讨论 SQL Azure 的工作方式,它在您环境中的什么位置最适合,如何开始使用它,以及如何确保与现有数据基础结构顺利集成。

什么是 SQL Azure?

SQL Azure 是 Windows Azure 平台的组成部分:一系列提供托管计算、基础结构、Web 服务和数据服务的服务。SQL Azure 组件不仅提供 SQL Server 的完全关系数据库功能,还作为承载于全球 Microsoft 数据中心的云计算服务提供功能。

无论您何时需要数据库服务,SQL Azure 通常都很适合。SQL Azure 在以下几个方面特别适合:

  • **协作:**通过将数据移动到云中,SQL Azure 可帮助您构建协作中心。当您需要共享跨组织边界、在各分支机构之间等等访问信息的权限时,利用托管服务可使网络路障减少同时确保数据安全。
  • **缩放:**云计算固有的其中一个优势是能够按需添加基础结构,这样一来,您就能根据需要动态地扩展应用程序功能。当托管应用程序的高峰使用随时间而发生重大改变时(如节假日期间零售应用程序等等),这特别有帮助。
  • **合并:**随着对关系数据库功能的需要逐渐细化到各个部门和工作组,对“数据库蔓延”的内部管理成为挑战。利用 SQL Azure,您可合并部门和工作组数据库,成套配置和简化管理,以便管理员能够更加轻松地满足部门需求。
  • **托管应用程序:**如果您已在 Windows Azure 平台上承载了其他工作负荷(如 Web 应用程序),那么在 SQL Azure 上集成托管关系数据库工作负荷就是一件很容易的事。它还通过减少网络流量来最大程度地帮助提高应用程序性能。
  • **成本效益:**根据您希望安装的工作负荷,云计算提供的即付即用模型也许是最具成本效益的方法。

一般来讲,SQL Azure 的基本功能与传统的 SQL 可以互换,除了 Windows Azure 平台有一些数据库大小限制这一点不一样以外(请在 SQL Azure FAQ 上阅读这方面的更多信息)。每种方法在基础结构方面提供不同的效益和成本,因此,这只是一个根据个别业务案例选择最适合方法的问题。您还可以紧密集成的方式跨这两个平台分散工作负荷。

SQL Azure 入门

SQL Azure 入门很简单,尤其是当您熟悉传统 SQL Server 管理工具时,如可用来管理 SQL Azure 实例的 SQL Server Management Studio。

第一步是针对 Windows Azure 平台设置一个帐户,有了帐户后,您就可访问包括 Windows Azure、SQL Azure 和 Windows Azure AppFabric(向开发人员提供一种跨组织和网络边界连接应用程序和服务的方式)在内的 Windows Azure 服务。建立您的帐户之后,您即可访问 SQL Azure 控制面板(请参见图 1)。

图 1 SQL Azure 控制面板的详尽外观

利用 SQL Azure 控制面板,可在您的帐户内创建新的数据库。可将每个数据库定义为 Web Edition 或 Business Edition 数据库。单个 Web Edition 数据库最多可支持 5GB 的数据,而单个 Business Edition 数据库最多将支持 50GB。(Business Edition 采用 10GB 递增的计费方式:10GB、20GB、30GB、40GB 和 50GB。)

此控制面板还为您提供 SQL Azure 实例的服务器名称,以及您可用来连接到数据库的 ADO.NET 或 ODBC 连接字符串(基于 SQL 身份验证;SQL Azure 中不支持 Windows 身份验证)。这样,您即可在应用程序内使用连接字符串,创建 ODBC 对象,或将服务器信息插入像 SQL Server Management Studio 这样的管理工具(请参见图 2)。

图 2 SQL Server Management Studio 连接到 SQL Azure 数据库

作为增加的安全措施,您将会注意到 SQL Azure 控制面板内的“防火墙设置”窗口。这使得您可以指定从中访问数据库的 IP 地址。您可以输入单个地址的任意组合、一组地址,或允许其他 Microsoft 服务,以便您自己的 Windows Azure 实例和托管应用程序具备访问您的数据库的权限。

在这里,与您存储在 SQL Azure 中的数据进行交互相当于使用您自己的 SQL Server。通过使用 SQL Server Management Studio,您可执行所有传统的 SQL Server 任务:创建表、视图和存储过程;导入数据;执行 T-SQL 语句,等等。

基于云的数据库应该也会提供一些基于云的管理工具。作为 SQL Server Management Studio 的轻型替代,SQL Azure Lab 已针对 SQL Azure 数据库创建了一个基于 Web 的管理工具,称为 Microsoft Project Code-Named“Houston”。该工具向您提供在云中快速开发、部署和管理数据库的简便方法。

Project Houston 随 Microsoft Silverlight 一起创建,它提供基于 Web 的跨平台数据库管理工具,用来执行基本的数据库管理任务,例如,创作和执行查询、设计和编辑数据库架构,以及编辑表数据。不过,值得注意的是,Project Houston 目前仅以社区技术预览 (CTP) 的形式提供,因此它没有得到标准 Microsoft 支持服务的官方支持。

与 SQL Server 集成

可通过多种方式将 SQL Azure 与现有 SQL Server 基础结构集成。大多数跨服务器集成和迁移数据的传统方式同样适用于 SQL Azure(其中包括 SQL Server 集成服务),允许数据导入/导出、数据转换、数据入库等等。SQL Azure 还支持 SQL Server Management Studio 工具集包含的“SQL Server 导入和导出向导”,用于复制数据库,以及在 SQL Azure 中迁入和迁出数据(请参见图 3)。

图 3 使用 SQL Server 导入和导出向导

社区开发的工具集中另外存在的用于将 SQL Azure 集成到现有基础结构的选项,称为 SQL Azure 迁移向导。此向导将指导您选择现有的 SQL Server 2005/2008 对象,并创建对应的 SQL 脚本来将这些对象迁移到 SQL Azure。尽管没有得到 Microsoft 的官方支持,但是 SQL Azure 迁移向导得到了广泛的社区支持,同时包括视频来帮助您完成使用这些工具的过程。 

最后,SQL Azure 数据同步(目前以 CTP 形式提供)作为基于云的同步服务,旨在提供内部部署 SQL Server 与 SQL Azure 之间以及不同位置(提供地理位置复制功能)的两个 SQL Azure 数据库之间的双向数据同步。

SQL Azure 数据同步是基于 Microsoft Sync Framework 的,因此它提供为人熟知的方法,将数据同步到多个位置或从多个位置同步数据。然而需要再一次注意,SQL Azure 数据同步是 CTP,目前不受 Microsoft 支持服务支持。

云计算的好处是毋庸置疑的。云计算带来的成本效益、服务器合并、按需配置和地理多样性仅代表优势的开始,通过将数据移动的云中,我们将逐渐意识到这一点。SQL Azure 将 SQL Server 的强大性能和熟悉环境与云计算的好处结合在一起。对于任何希望构建更动态、经济高效的数据管理基础结构的组织,它应该很适合作为解决方案。

Joshua Hoffman

Joshua Hoffman 是《TechNet 杂志》的前主编。他现在是一位独立作者和顾问,为客户提供关于技术和以“受众为本”营销的建议。Hoffman 也担当 ResearchAccess.com 的总编辑,该站点专门致力于不断增长和丰富的市场研究社区建设。他现居纽约。

相关内容