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
,仍然可以创建数据库并管理用户。
- 只要是登录服务器,一律以master为默认数据库,US-English为默认的登录语系。
- 若要运行
CREATE/ALTER/DROP LOGIN
或CREATE/DROP DATABASE
,必须要先连至master数据库。
- 当要在ADO.NET运行前述指令时,不可以使用参数化命令,而且前述命令于每个SQL批量也只能有一个(且是唯一的一个)。
- 当要运行
CREATE USER
配合FOR/FROM LOGIN
选项时,它也必须是SQL批量中唯一的一个。
- 当要运行
ALTER USER
配合WITH LOGIN
选项时,它也必须是SQL批量中唯一的一个。
- 只有服务器级主帐户以及被赋与
dbmanager
角色的成员才有运行CREATE DATABASE
与DROP DATABASE
的权力。
- 只有服务器级主帐户以及被赋与
loginmanager
角色的成员才有运行CREATE LOGIN
、ALTER LOGIN
与DROP DATABASE
的权力。
- 若想访问master数据库,则该帐户必须要对应到master数据库。
(3)、性能曲线
在SQL Azure上添加、更新和删除数据的性能曲线。
在SQL Azure上查询数据的性能曲线。
在SQL Azure和Table Storage上,添加、更新和删除数据的性能比较。
在SQL Azure和Table Storage上,查询数据的性能比较。
结束语
通过对Storage和SQL Azure存储性能的比较,可以得知,整体上SQL Azure的存储性能要高于Storage。所以,在Windows Azure上搭建应用服务的时候,除了要参考采用这两种存储方式的价格差异。同时,更重要的是应该权衡什么数据存储在SQL Azure上,什么数据存储在Storage上,在整个项目预算的允许范围内,对应用服务的性能的影响。
分享到:
相关推荐
Microsoft Azure存储数据移动库专为高性能上载,下载和复制Azure存储Blob和文件而设计。 该库基于为提供支持的核心数据移动框架。 有关Azure存储的更多信息,请访问。 注意:从0.11.0开始,名称空间已从Microsoft...
AzureLogViewer 连接到Azure存储帐户,并轻松地从各种Windows Azure诊断程序或其他自定义表中读取最新内容。安装可通过ClickOnce部署在以下URL上找到二进制文件: : 主要特点 添加/更新/删除存储帐户启动时,在“自/...
到Azure Data-lake Storage Gen 1系统的纯python接口,提供pythonic文件系统和文件对象,Windows和POSIX远程路径之间的无缝过渡,高性能的上载和下载程序。 该软件正在积极开发中,不建议一般使用。 注意:该库...
10.2.2 数据存储技术 293 10.2.3 资源管理技术 295 10.2.4 能耗管理技术 298 10.2.5 云监测技术 301 10.3 编程模型研究 303 10.3.1 All-Pairs编程模型 303 10.3.2 GridBatch编程模型 304 10.3.3 其他编程模型 305 ...
(6)Azure Tables:Windows Azure Table Storage Service为要求⼤量⾮结构化数据存储的应⽤提供NoSQL性能。表能够⾃动扩展到 TB级别,能通过REST和Managed API访问。 2、键值数据库:Redis、SimpleDB、Scalaris、...
Navicat 适用于三种平台 - Microsoft Windows、Mac OS X 及 Linux。它可以让用户连接到任何本机或远程服务器、提供一些实用的数据库工具如数据模型、数据传输、数据同步、结构同步、导入、导出、备份、还原、报表...
内存为暂时存储设备,存储CPU立即处理的数据,断电后数据丢失,以 "MB"为单位,容量越大,价格越高。 外存储器有:1软盘:容量小,可读可写,易损坏,现在基本淘汰;2硬盘:存储设备,容量 大,可读可写,无法携带,存储...
用C#清理代码 这是Packt发布的的代码存储库。 重构旧的C#代码库,并通过应用最佳实践来提高应用...使用API密钥保护API并使用Azure Key Vault保护数据 通过使用用于性能分析和重构的工具来提高代码的性能 如果
WinRTC通过WebRTC通过Web浏览器实现实时语音呼叫,视频聊天和数据功能(文件传输等)。 1个 C 名称 描述 星数 带有增强功能的原始Windows文件管理器(winfile) 5618 mimalloc是具有出色性能的紧凑型通用分配器。 ...
FTC 8404 Quixilver的Python网络应用程序,用于处理比赛数据 这个应用程式使用Python处理网路内容。 该网站托管在Azure上,为 。此存储库的更新已自动部署到Web服务器。 为发展而建设 先决条件:Python 3 建造遵循...