`
lovnet
  • 浏览: 6704548 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

Windows Azure的数据存储和性能比较(三)

 
阅读更多

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数据库,同时服务器级主帐户是不可以变更或删除的,同时只要是被设为服务器级主帐户的用户,就算没有给予 dbmanagerloginmanager ,仍然可以创建数据库并管理用户。
  • 只要是登录服务器,一律以master为默认数据库,US-English为默认的登录语系。
  • 若要运行CREATE/ALTER/DROP LOGINCREATE/DROP DATABASE,必须要先连至master数据库。
  • 当要在ADO.NET运行前述指令时,不可以使用参数化命令,而且前述命令于每个SQL批量也只能有一个(且是唯一的一个)。
  • 当要运行CREATE USER配合FOR/FROM LOGIN选项时,它也必须是SQL批量中唯一的一个。
  • 当要运行ALTER USER配合WITH LOGIN选项时,它也必须是SQL批量中唯一的一个。
  • 只有服务器级主帐户以及被赋与 dbmanager 角色的成员才有运行CREATE DATABASEDROP DATABASE的权力。
  • 只有服务器级主帐户以及被赋与 loginmanager 角色的成员才有运行CREATE LOGINALTER LOGINDROP 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上,在整个项目预算的允许范围内,对应用服务的性能的影响。

分享到:
评论

相关推荐

    azure-storage-net-data-movement:.Net的Azure存储数据移动库

    Microsoft Azure存储数据移动库专为高性能上载,下载和复制Azure存储Blob和文件而设计。 该库基于为提供支持的核心数据移动框架。 有关Azure存储的更多信息,请访问。 注意:从0.11.0开始,名称空间已从Microsoft...

    AzureLogViewer:连接到Azure存储帐户并轻松地从各种Windows Azure诊断程序或其他自定义表中读取最新内容

    AzureLogViewer 连接到Azure存储帐户,并轻松地从各种Windows Azure诊断程序或其他自定义表中读取最新内容。安装可通过ClickOnce部署在以下URL上找到二进制文件: : 主要特点 添加/更新/删除存储帐户启动时,在“自/...

    azure-data-lake-store-python:适用于Python的Microsoft Azure数据湖存储文件系统库

    到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 ...

    大数据常用数据库汇总.pdf

    (6)Azure Tables:Windows Azure Table Storage Service为要求⼤量⾮结构化数据存储的应⽤提供NoSQL性能。表能够⾃动扩展到 TB级别,能通过REST和Managed API访问。 2、键值数据库:Redis、SimpleDB、Scalaris、...

    navicat html help

    Navicat 适用于三种平台 - Microsoft Windows、Mac OS X 及 Linux。它可以让用户连接到任何本机或远程服务器、提供一些实用的数据库工具如数据模型、数据传输、数据同步、结构同步、导入、导出、备份、还原、报表...

    计算机应用基础问答题.doc

    内存为暂时存储设备,存储CPU立即处理的数据,断电后数据丢失,以 "MB"为单位,容量越大,价格越高。 外存储器有:1软盘:容量小,可读可写,易损坏,现在基本淘汰;2硬盘:存储设备,容量 大,可读可写,无法携带,存储...

    Clean-Code-in-C-:Packt发布的C#中的Clean Code

    用C#清理代码 这是Packt发布的的代码存储库。 重构旧的C#代码库,并通过应用最佳实践来提高应用...使用API​​密钥保护API并使用Azure Key Vault保护数据 通过使用用于性能分析和重构的工具来提高代码的性能 如果

    matlab轮询调度算法代码-MsRoposByStar:罗伯斯·拜星

    WinRTC通过WebRTC通过Web浏览器实现实时语音呼叫,视频聊天和数据功能(文件传输等)。 1个 C 名称 描述 星数 带有增强功能的原始Windows文件管理器(winfile) 5618 mimalloc是具有出色性能的紧凑型通用分配器。 ...

    8404pals:针对FIRST技术挑战的实时计分性能评估

    FTC 8404 Quixilver的Python网络应用程序,用于处理比赛数据 这个应用程式使用Python处理网路内容。 该网站托管在Azure上,为 。此存储库的更新已自动部署到Web服务器。 为发展而建设 先决条件:Python 3 建造遵循...

Global site tag (gtag.js) - Google Analytics