访问SQL Azure中的数据
访问SQL Azure中的数据,我们可以通过APIs访问,如ADO.Net、ODBC或者PHP中的数据库访问,他们使用TDS+SSL的方式来访问。也可以通过基于Web的客户端,如浏览器、WCF数据服务客户端、SilverLight等方式,使用HTTP或HTTPS来访问云中的数据。如图3所示:

图3 访问SQL Azure中的数据
在上图所示场景A中,使用应用程序代码存储数据中心访问权限,但是数据存在于SQL Azure中,应用程序可是使用客户端库访问SQL Azure。它的优点是直接连接到SQL Azure中的数据库,其缺点是每个客户端必须使用已经提供的数据访问方法如ADO.Net来访问SQL Azure中的数据库。
在上图所示的场景B中,应用程序代码在Windows Azure上,应用数据库在SQL Azure中的数据库上,可以使用像场景A中的客户端数据访问类库来访问数据。场景B中允许了更多的客户端类型来访问,如桌面客户端应用和SilverLight应用对数据的访问。这种访问方式的优点有:业务逻辑离数据库更近、暴露了一些标准接口,如HTTP、SOAP、客户端程序不必依赖SQL Server 客户端API。如果使用Windows Azure作为中间层访问数据,数据库性能是其最大缺点。
SQL Azure VS SQL Server
有关SQL Azure和SQL Server的详细功能对比,这里就不再做出说明,感兴趣的读者可以参考微软云计算中文博客,其地址是:http://blogs.msdn.com/b/azchina/archive/2010/05/25/sql-azure-vs-sql-server.aspx
或者参考其镜像站点CSDN博客的关于SQL Azure和SQL Server的功能对比。地址:http://blog.csdn.net/azurechina/archive/2010/05/18/5604059.aspx
总结
本文介绍了SQL Server的云计算平台版本——SQL Azure,但是我们又不能简单的把SQL Azure看成是构建在云端的SQL Server。SQL Azure是一个四层结构:基础架构层、平台层、服务层和客户端层,前三层构成了微软数据中心,客户端层使用API或者基于Web的客户端来访问存储在云中的数据。