3、 Queue存储。它是一个类似MSMQ的队列实现。一个使用Queue Storage经典的场景是,在一个Web应用程序中,用户通过表单递交给服务器数据,服务器收到数据后将进行处理,而这一处理将花费很多时间。这种情况下,服务器端通过Queue Storage可以把用户递交的信息存储在队列中,后台再运行一个程序从队列中取得数据进行信息的处理。一个消息的最大大小为8K。
使用示例:
在一个项目(为了叙述方便,后面称之为Client项目)的Main方法中加入如下代码,我们将用它来向Queue Storage中添加信息。
接着在另外一个项目(为了叙述方便,后面称之为Server项目)的Main方法中加入如下代码,我们将用它来从Queue Storage中读取信息和进行处理。
4、 SQL Azure存储
上面介绍了Windows Azure Storage的三种存储方式,Storage存储其实就是类似于本地文件存储,只是存储位置是远程的云服务器。下面简单介绍一下Azure提供的一种类似于SQL Server服务的基于SQL的存储方式:SQL Azure存储。
它是由微软SQL Server 2008为主,建构在Windows Azure云操作系统之上,运行云计算 (Cloud Computing)的关系数据库服务 (Database as a Service),是一种云存储(Cloud Storage)的实现,提供网络型的应用程序数据存储的服务。
(1)、连接工具
开发人员或管理人员可使用 SQL Server 2008 R2 版本的 SQL Server Management Studio 连接 SQL Azure Server,或是使用命令行工具 sqlcmd.exe 连到 SQL Azure Server。SQL Azure的连接字符串可以在SQL Azure的管理窗口https://sql.azure.com中得到。
(2)、SQLAzure的限制
SQL Azure 基于架构上的设计与天生的限制,SQL Azure Server的帐户与安全控制会有下列限制:
loginmanager
组群的成员帐户不具变更密码的权限,同时如果要访问master数据库,则该用户帐户必须要被对应到master数据库,同时服务器级主帐户是不可以变更或删除的,同时只要是被设为服务器级主帐户的用户,就算没有给予 dbmanager
或 loginmanager
,仍然可以创建数据库并管理用户。CREATE/ALTER/DROP LOGIN
或CREATE/DROP DATABASE
,必须要先连至master数据库。CREATE USER
配合FOR/FROM LOGIN
选项时,它也必须是SQL批量中唯一的一个。ALTER USER
配合WITH LOGIN
选项时,它也必须是SQL批量中唯一的一个。dbmanager
角色的成员才有运行CREATE DATABASE
与DROP DATABASE
的权力。loginmanager
角色的成员才有运行CREATE LOGIN
、ALTER LOGIN
与DROP DATABASE
的权力。(3)、性能曲线
在SQL Azure上添加、更新和删除数据的性能曲线。
在SQL Azure上查询数据的性能曲线。
在SQL Azure和Table Storage上,添加、更新和删除数据的性能比较。
在SQL Azure和Table Storage上,查询数据的性能比较。
结束语
通过对Storage和SQL Azure存储性能的比较,可以得知,整体上SQL Azure的存储性能要高于Storage。所以,在Windows Azure上搭建应用服务的时候,除了要参考采用这两种存储方式的价格差异。同时,更重要的是应该权衡什么数据存储在SQL Azure上,什么数据存储在Storage上,在整个项目预算的允许范围内,对应用服务的性能的影响。