Windows Azure Storage概览

本文讲的是Windows Azure Storage概览,【IT168 资讯】Windows Azure由两个重要部分构成:
  虚拟化计算服务(提供基于VM主机。在上一篇里已经示范过它。)
  各种数据存储服务。即本文要介绍的Windows Azure Storage。
  Windows Azure Storage可以让程序员存储他们想存储的任何数据。按照“云计算”的概念,数据一旦存储到“云”中,就永远不会丢失,程序员可以在任何时候、从任何终端和任何地方获取任意大小的数据。Windows Azure Storage正是继续遵循这一思想。
  Windows Azure Storage由三个重要部分构成:
  Windows Azure Blob:存储大型数据
  Windows Azure Table:存储表数据。类似关系数据库中的数据表,但不同。
  Windows Azure Queue:为异步工作提供分派消息服务。有点类似Windows系统自身的消息队列。
  接下来我们来以此介绍这3个数据服务。
  Windows Azure Blob
   刚才说过了,这个牛X的服务,就是用来存储大型的数据的。怎么样的数据算大型呢?文件!不知道你是否和笔者一样,刚看到这个服务时第一个反应就是:用它来做网络硬盘。
   大家先别看“Block”部分。很一目了然吧? 一起继续YY:  如果Account是那块硬盘,Container就代表不同分区(可惜分区里没有文件夹概念),Blob就是分区根目录里不同的文件。那么上图的意思是:在我的那块叫做"sally”的硬盘里,有"pictures”和"movies”两个分区,"pictures”分区根目录里有"IMG001.JPG “”IMG002.JPG”这两个文件。
   这块云端的无限大硬盘在哪里呢?怎样才能找到它?也很简单,它仍然采用Azure的管理,使用REST的方式操作它。地址是:
   http://.blob.core.windows.net//
   例如:http://maheshwar.blob.core.windows.net/livesearchimages/AcacusDesert_EN-US1025081982.jpg (这是一张图片,点击链接可直接访问)
   现在可以继续解释上图中的“Block”了。既然是采用REST的方式,就是通过HTTP的方式,那么真正很大很大的文件,比如1G的电影,要直接传上去显然是一件非常困难的事。Block就是为解决这个问题而存在的。只要你心情好,你大可以把这个电影分割成1000个1M的Block来上传。Block对下载流程是透明的,下载者根本不知道也不用去知道它正在下载的文件被分成了多少个block。
(事实上笔者真的用它做自用的网络硬盘,从开发和使用角度来说都非常方便,以后有机会我整理一下代码与大家分享一下)。
  Windows Azure Table
   这个服务是很多人心中的最爱。
   正在使用VS200X来开发简单ASP.NET应用程序的时候,你会许和很多人一样有以下两个重要习惯:使用关系数据库(如SQL Server);数据库中的某些表直接对应程序里的实体类。你或许会使用代码生成工具,ORM工具,或者自己写三层架构来完成关系数据库to对象的映射。发现没,此时的你是多么希望能够直接将实体存入数据库当中啊!
   Windows Azure Table服务就是用来解决这个问题的。它可以直接将实体类、实体对象存入表格结构当中。它让太多的人感到欣喜。
   它比较类似传统关系数据库当中的表格,但是又有很大不同。
   与你想的一样,它支持LINQ, REST。HTTP地址是      http://.table.core.windows.net
   这部分内容比较多,过几天我会单独使用一节的内容来做一个简单Demo讲解它的使用。
   Windows Azure Queue
   Windows Azure Queue因为Windows Azure的服务架构而存在——这个一个需要消息队列的架构。
   我们在《【Azure Services Platform Step by Step-第7篇】别把Windows Azure当虚拟主机使——理解Windows Azure服务架构》里了解过,Windows Azure VM中是如何引入了Web Role和Worker Role这一非常创新的概念,从而脱离了普通虚拟主机,晋升为“云主机” : )
   Windows Azure Queue最常见的一个应用就是作为Worker Role和Web Role之间通讯的消息队列。
   再举个例子。Web Role是前台卖牛肉面的,Worker Role是后台煮牛肉面的。顾客只能接触到Web Role这个店员,它收集不同顾客的需求,保持先来后到的顺序记录这些需求到一叠纸条上递给大厨Worker Roler。大厨Worker Role带着口罩,什么话也说不出来,他的工作就是按顺序完成纸条记录的任务。Windows Azure Queue就充当了这个“任务纸条”的作用。
   Windows Azure Table 与SQL Data Services 的重要不同之处:
   在实际开发中,这两者都是最常用的数据存储服务。
   博客园网友 montaque和老赵同志在《【Azure Services Platform Step by Step-第8篇】开发部署Azure留言板》一文的评论中一起讨论了Windows Azure Table和SQL Data Services的不同。
  Windows Azure Table 旨在提供轻便快捷低成本的大规模存储数据,包含实体和属性。它不是关系数据库,所以不能提供类似SQL中joins的方法,也不能管理 foreign keys。
  SQL Data Services旨在提供严谨的关系数据方法。
  在当前的Azure版本中(Azure平台第一个版本,feasure还很不完善),如果开发者对joins或foreign keys等关系数据库的功能需求较大,你可以选择SQL Data Services,反之建议使用开发更为快捷的Windows Azure Table。

时间: 2024-10-28 18:45:18

Windows Azure Storage概览的相关文章

Azure Services Platform Step by Step 九 Windows Azure Storage概览

在本系列的第一篇[Azure Services Platform Step by Step-第1篇]INTRODUCING THE AZURE SERVICES PLATFORM里就介绍过了,Azure Services Platform包括4个部分.其中,Windows Azure是支撑整个微软云平台(Azure Services Platform)的基础.换句话说,Windows Azure是"云平台的操作系统",它提供了云平台最基本.最重要的服务. Windows Azure由两

Windows Azure Storage客户端Java版概览

我们发布了支持Windows http://www.aliyun.com/zixun/aggregation/13357.html">Azure Blob.Queue和Table的存储客户端Java版.我们的目标是继续提高在编写使用Windows Azure Storage的云计算应用程序时的开发体验.这次发布的是微软提供支持的社区技术预览版(CTP).因此,我们结合了来自客户和当前.NET类库论坛的反馈,来帮助我们创建更加无缝的既强大而又易用的应用程序接口(API).本篇文章提供了这个库

Windows Azure Storage BLOB储存机制概述

Windows Azure 提供具备可高度延展的储存机制,来储存结构化与非结构化数据,此一机制称为 Windows Azure Storage. Windows Azure Storage 以 REST 为基础的 Web Service 提供开发接口.这意味着任何平台下的任何程序语言,只要能够支持 HTTP 通讯协议,即可藉由此一开发接口存取 Windows Azure Storage.当然位处于相同数据中心内的 Windows Azure 应用程序存取 Windows Azure Storag

windows Azure Storage Emulator初始化失败

问题描述 windows Azure Storage Emulator初始化失败 windows Azure Storage Emulator初始化失败问题如何解决? 解决方案 http://cloud.51cto.com/art/201103/249475.htm 解决方案二: 您好,能分享下具体的错误信息吗? 也可以独立重新安装模拟器:http://www.microsoft.com/en-in/download/details.aspx?id=43709 然后您也可以通过手动方式启用模拟器

Windows Azure Storage浏览器

我们不时被问到Windows http://www.aliyun.com/zixun/aggregation/13357.html">Azure Storage有哪些工具可用,所以我们决定把我们知道的存储浏览器做成列表供大家参考.这些Windows Azure Storage浏览器都可以用来查看blobs.tables或者queues中的数据,或者从blobs.tables和queues中上传和下载数据.其中很多工具是免费的,而有些则有试用期. 必须指出我们没有验证这些工具声称所具有的功能

在Windows phone中使用Windows Azure Storage Blob来存放图片

前面一片文章介绍了如何在Windows Store应用中如何使用Azure Blob存储.实际上,该文章的大部分内容对Windows Phone应用也适用.但是由于部分API在两个平台有不同,步骤和示例代码在Windows Phone上需要做一定的修改.为了便于大家学习,在这篇文章中,我就专门来介绍如何在Windows Phone应用中使用Windows Azure Storage Blob来存放图片,文档等二进制大型对象: 一.安装Azure Storage客户端库 理论上,您可以直接使用RE

在Windows store中使用Windows Azure Storage Blob来存放图片

随着Windows Azure在中国的落地,原来许多需要自己维护服务器才能完成的工作我们都可以交给Windows Azure来完成,而且更经济更方便.在下面这篇文章中,我们就一步一步的来介绍如何在Windows store应用中使用Windows Azure Storage Blob来存放图片,文档等二进制大型对象: 一.安装Azure Storage客户端库 理论上,您可以直接使用REST API来访问Azure Storage.但是在实践中这样实现需要完成大量代码.为了能够在windows

重新建立Windows Azure Storage Emulator数据库

今日不慎随手删除了 Windows http://www.aliyun.com/zixun/aggregation/14237.html">Azure Storage Emulator 仿真用的数据库档案,以至于启动仿真器时出现 Failed to Initialize Windows Azure Storage Emulator 的错误讯息, 在此描述重建数据库的过程.首先以系统管理员身分执行 Windows Azure Command Prompt.请先确认 Windows Azure

使用Windows Azure Storage–Table Service处理Session对象

前一篇文章介绍了在 Windows http://www.aliyun.com/zixun/aggregation/13357.html">Azure 存储器服务中,使用「Blob储存服务」来储存档案,这一篇要介绍的是 Windows Azure 存储器服务的另一个储存服务 --「Table 储存服务」.Table 储存服务是 Windows Azure 上提供的一种 NoSQL 数据储存服务,它可以用来储存多种格式的资料,并且以键值(key)来存取数据,这篇文章将以实作处理 PHP Se