技术开发 频道

SQL Azure关键改进 性能容量获大幅提升

        【IT168 技术】2008 年,微软发布了自己的全新云计算产品Windows Azure Platform。历经数年的技术沉淀,Windows Azure Platform 已经成为一个技术领先、开放的平台,基于不同语言开发的应用程序都可以运行在这个平台上面,并通过标准协议相互通信和协作。此平台包括Windows Azure、SQL Azure、Windows Azure platform AppFabric 和Windows Azure Marketplace四部分内容。简单来说,Windows Azure 平台就是一个集云计算操作系统、云关系型数据库为开发者提供的服务集合或云中间件,以及其他一些辅助服务的互联网环境。

  SQL Azure概述

  Windows Azure云操作系统提供有存储服务,但并不是一个关系型数据库系统,并且它的查询语言也不是SQL,它只能实现较为简单的存储服务,主要被设计用来支持构建于Windows Azure 上的应用。

  但关系型数据库的思维习惯影响着一大批数据库开发人员以及数据库管理员,再加上其对事务等强大功能的支持,基于云的关系型数据库还是很吸引人,尤其是对于那些自己没有能力管理数据库的组织。使用云数据库一方面可以把确保可靠性和管理数据的工作交给一个专门的云服务提供商去做;另一方面可以随时随地,甚至从移动设备上访问云里的数据。服务提供商可以非常容易地伸缩服务,所以使用基于云的数据库可能要比使用自己的数据库便宜很多。

SQL Azure概述

  说白了SQL Azure就是一个部署在云端的关系型数据库管理系统。由于SQL Azure 支持SQL Server 的绝大多数功能,因此它具有良好的应用兼容性。SQL Azure 的设计遵循了主要的三条特性:可扩展性、可管理性和开发的灵活性。作为一个部署在云上的数据库引擎,绝大多数的管理工作都由微软完成,因此用户不用担心任何诸如备份、集群等管理方面的问题。另外,微软的服务许可协议(Service Level Agreement,SLA)确保了用户的数据库平均每个月将有99.9%以上的时间在线。从以上描述中可以看出SQL Azure提供了企业级数据中心的规模和能力,并且省去了管理本地SQL Server服务的成本。使得企业既不用增加本地IT部门的支持负荷,也不用消耗IT人员的精力去维护部门的数据库应用,还能够在整个企业内为应用程序提供数据服务。企业通过使用SQL Azure,可以在极短的时间内进行数据库存储,可以订阅所需要的存储服务,从而减少部署和运维数据库的初始投资。当需求变化时,还可以快速地减小或者增加数据库服务来满足需求。

  SQL Azure 对于开发者和管理员来说应该很容易上手,因为SQL Azure 使用关系型数据模型,数据存储于SQL Azure 上就和存储于SQL Server 上一样。使用SQL Azure 数据库的应用程序可以运行在Windows Azure、企业数据中心、移动设备或其他任何地方。不管运行在哪里,应用程序都使用一种叫做Tabular Data Stream(TDS)的协议来访问SQL Azure 数据。这个协议与应用程序连接本地SQL Server 是同一个协议。所以,已有的SQL Server 客户端软件可以直接连接到SQL Azure 上。这些客户端软件可以是Entity Framework、ADO.NET、ODBC 等。因为SQL Azure 数据库看起来就像普通的SQL Server 数据库,所以标准工具仍然可以使用,比如SQL Server Management Studio、SQL Server Integration Service 和用来批量拷贝的BCP 等。一个 SQL Azure 服务器就是一组数据库的逻辑组合,是一个独立的授权单位,这在概念上类似于一个本地SQL Server 实例。在每个SQL Azure 服务器内,用户可以创建多个数据库,每个数据库可以拥有多个表、视图、存储过程、索引和其他熟悉的数据库对象。该数据模型可以很好地重用用户现有的关系型数据库设计、T-SQL 编程技能和经验,从而简化了将现有的本地数据库应用程序迁移至SQL Azure 的过程。开发人员可以使用现有的知识,例如ADO.NET Entity Framework (EDM)、LINQ to SQL,甚至传统的DataSet 和ODBC 等技术,来访问位于SQL Azure 上的数据库。大多数现有的数据访问程序只需要修改一个连接字符串,便能顺利访问SQL Azure。从SQL Server 2008 Management Studio R2 开始就对SQL Azure提供支持。SQL Server2012在备份到 Windows Azure 、Azure 数据库容量上做了一些关键性的改进。

  在SQL Azure 中服务器和数据库都是逻辑对象,这不同于物理服务器和数据库。通过用户与物理实现的隔离,SQL Azure 使得用户可以将时间专用于数据库设计和业务逻辑上。每个SQL Azure 账号可以有多个逻辑服务器。注意:这不是真正的SQL Server 实例,而是用来组织收费数据用的。每个Azure 数据库的上限提高到了150G。如果需要,用户可以使用多个数据库从而把数据分散以提高性能。虽然运行环境看起来都一样,但是SQL Azure 比起单一实例的SQL Server 要稳定得多。和Windows Azure 存储系统一样,所有数据都保存三次以实现高可用性和一致性,其目的是保证即使在系统和网络出错时也可以提供可靠的数据存储。

0
相关文章