当前,基于互联网的应用程序面对许多的挑战。用户期望能够使用任何设备,随时随地访问数据。然而数据的大小、数据的交互格式以及用户的访问规模可能随时变化。开发人员必须快速地构建和部署新的应用以满足这些不断变化的需求。使用传统的数据管理平台,需要持续不断地在服务器、操作系统、存储和网络上进行投资,以满足这些需求的增长与变化。
云中的数据库服务,例如微软的SQL Azure提供了全新的方法来应对这些挑战。SQL Azure的设计遵循了三条主要的特性:可扩展性、可管理性和开发的灵活性。
解析SQL Azure数据平台
SQL Azure是一个部署在云端的关系型数据库,它支持SQL Azure中绝大多数和开发有关的功能。作为一个部署在云端的数据库引擎,绝大多数的管理工作都由微软完成,因此不用担心任何诸如备份、集群等管理方面的问题,微软的服务许可协议(Service Level Agreement, SLA)确保了数据库服务器平均每个月将有99.99%的时间在线。也正是因为这点,目前暂时向用户没有暴露过多的管理功能。
SQL Azure除了提供了关系型数据库服务,同时还将提供更多数据相关的功能,例如数据同步、报表和商业智能。基于数据同步的功能,SQL Azure数据服务能够与本地的SQL Server数据库进行数据同步,在数据层面实现了传统应用于云端应用的整合与并存。
开发人员可以使用现有的知识,例如ADO.NET Entity Framework (EDM), LINQ to SQL, 甚至是传统的DataSet、ODBC等技术,来访问位于SQL Azure上的数据。绝大多数现有的数据访问程序只需要修改一个连接字符串,便能顺利访问SQL Azure。
SQL Server 2008 Management Studio R2针对SQL Azure也提供了很强大的支持。目前的版本已经支持访问当前的SQL Azure数据库,生成能在SQL Azure上运行的T-SQL脚本,从而方便大家将数据库迁移至SQL Azure。今后的版本中会对SQL Azure提供更多更强大的支持。