微软云平台 Azure简介 (四)Windows Azure 存储之Blob

Blob用来存储大量的数据,例如图片文件,视频文件,文档文件,代码文件等。每个文件都是一个Blob。

Blob可以通过URL来访问。Blob的访问URL格式如下

    http(s)://<storage account name>.blob.core.windows.net/<container>/<blob name>

例如

    http://myaccount.blob.core.windows.net/pictures/mypicture.jpg

 

一个Azure Storage帐户可以包含任何多个Container。一个Container可以包含任意多个Blob。

Container没有存储限制。每个Storage帐户的存储有限制。

 

Blob的URL有时看起来有一个层次。例如下面的URL,看起来好像是pictures目录下包含seattle目录。

seattle目录下包含spaceneedle.jpg。

http://myaccount.blob.core.windows.net/pictures/trips/seattle/spaceneedle.jpg

实际上不存在层次存储结构,是在pictures容器下包含一个叫”trips/seattle/spaceneedle.jpg”的Blob。

 

下图是Azure Storage的Blob存储示意图

Ff803364.7599168d-d8f3-428a-b782-95cf51937b60(en-us,PandP.10).png

 

在安全方面,可以给Container或者一个单独的Blob设置访问权限。要访问被设置安全访问权限的Blob需要

安全key。

 

Windows Azure提供了一个内容分发网络(Content Delivery Network:CDN)。CDN可以让经常访问的blob

在物理部署上里应用程序更近一些。例如,如果一个视频文件经常被亚洲的用户访问的,CDN会把这个blob移到

位于亚洲的服务器上。

CDN服务是收费的。

 

Blob 存储结构为两种模式Block Blobs和Page Blobs

 

Block Blobs模式

每个BlockBlob最大可以存储200G的文件。每个Block被划分为每个4M大小的数据槽(data block)。

Block Blobs被优化来完成流上传。特别适应视频,图片等格式的大文件。

 

例如如果你想上传一个10G的文件,可以把文件分为多个大小为4M的Block,通过PutBlock操作分别上传每个块。

为了提高上传速度,可以多个线程同时上传不同的块。当所有的块上传完毕,通过PutBlockList把所有已经上传

的快组成一个可读的blob。

 

示意图

Ff803364.56951497-63f1-4c70-87c9-646f758a21a3(en-us,PandP.10).png

 

Page Blocks模式

Page Blocks对随机存储进行了优化。

PageBlocks最大可以到1T,Page Blocks由一个页面队列组成。每个页面大小为512bytes。

因为每个页面大小为512,所以写入操作PutPage必须注意要页对其。写入地址与起始地址的Offsets必须是512的倍数。

但是ReadPage没有类似的页对齐要求。

 

如果你有一个1G大小的文件,可以很容易的修改1K的数据。

示意图

Ff803364.0e5477c3-4b66-443c-969d-cca09f1697fa(en-us,PandP.10).png

转载于:https://www.cnblogs.com/liuguanglong/archive/2011/01/06/1927650.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值