2010-07-28 00:02:43
来 源
中国存储网
云存储
为了保证数据的安全,微软云计算服务平台至少会在同一数据中心三个独立的容器中存储Blob,Table和Queue

Windows Azure Service Platform,微软云计算服务平台通过提供Storage Service——Windows Azure Storage来存储云应用的数据。Windows Azure Storage由三个重要部分组成:Windows Azure Blob、Windows Azure Table和Windows Azure Queue。

  Windows Azure 存储服务的构成

Windows Azure Blob:存储大型数据。

Windows Azure Table:存储表数据,类似关系数据库中的数据表,但是有不同。

Windows Azure Queue:为异步工作提供分派消息服务,有点类似Windows系统的消息队列。

  (1)Windows Azure Blob

在Windows Azure中使用存储服务最简单的方法是使用Windows Azure Blob。Blob存储二进制数据,如图像,XML文档,压缩文件和其它在容器内任意排列的字节。

Blob存储数据是通过一个简单的层级关系来实现的,每个账户Account下有一个容器,这个容器就是用户定义的一套只有一个属性的Blobs(Blob集合),容器不直接存储数据,每个Blobs包含了多个Blob。:

可以通过REST的方式来操作,在上传大文件的时候,我们可以先把大文件分割成多个Blob来上传,这样就解决了大文件上传的问题。Block对下载流程是透明的,下载者根本不知道也不用去知道它正在下载的文件被分成了多少个block。

注意在PUT Blob操作中你可以上传最大64MB的数据创建一个Blob,通过上传连续块可以创建大于64MB的Blob,块最大只能是4MB。

  (2)Windows Azure Table

Blobs只能针对大容量二级制数据存储,它真是太“不结构化”了。为了保存和使用云应用程序中具有紧密的数据,如在云存储服务中存储一个对象,这个对象是有些自己的属性,其实这样的对象我们可以看成是示例或者实体,于是Windows Azure Table就派上用场了。Windows Azure Table可以直接将实体类、实体对象存入表格结构当中。

Windows Azure Table和SQL Server/SQL Azure的区别在于,Windows Azure Table是一种服务,旨在存储具有实体关系的数据,而不是关系数据库。Windows Azure Table 提供轻便快捷低成本的大规模存储数据,包含实体和属性。它不是关系数据库,所以不能提供类似SQL中joins的方法,也不能管理 foreign keys。事实上,一个单一的Windows Azure Table可以存储数十亿个实体,一个Windows Azure Table的大小能达到万亿字节,这是一个相当大的存储量。

  (3)Windows Azure Queue

Windows Azure Blob和Windows Azure Table都是用来存储和访问数据的。Windows Azure 提供了第三种存储服务——Windows Azure Queue,为异步工作提供分派消息服务,最常见的一个应用就是作为Worker Role实例和Web Role实例之间通讯的消息队列。有关Windows Azure Queue使用的示例我们将在应用场景来做描述。

不管在Windows Azure Storage中是使用Blob、Queue还是Table来存储数据,为了保证数据的安全,微软云计算服务平台至少会在同一数据中心三个独立的容器中存储Blob,Table和Queue,Windows Azure基于地理位置的功能允许你将数据复制到多个微软数据中心,增强灾难恢复能力,提高特定地区的性能。

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。