· Blob(二进制大文件存储) – 提供了一个简单的接口存储文件及文件的元数据。
· Table(表) – 提供大规模可扩展结构化存储,一个Table就是包含一组属性的一组实体,应用程序可以操作这些实体,并可以查询存储在Table中的任何属性。
· Queue(队列) – 为应用程序消息提供可靠的存储和投递,在应用程序不同组件(角色)之间建立松散的连接和可伸缩的工作流。
· Drive (驱动器) – 为Windows Azure应用程序提供持久性NTFS卷,允许应用程序使用现有NTFS API访问网络附加持久化驱动器,每个驱动器都是一个网络附加的Page Blob格式,作为一个NTFS VHD卷使用。
下图显示了Windows Azure存储的抽象概念和Blob、Table和Queue使用的URI。
图 1 Windows Azure存储的概念视图
存储账号和它们的位置
访问Windows Azure存储必须使用它的存储账号,创建存储账号时可以指定存储的位置,目前可以选择的位置有:
· 美国中北部
· 美国中南部
· 欧洲北部
· 欧洲西部
· 东亚
· 东南亚
选择位置应选择与你托管的服务相同的位置,这样服务和存储之间的带宽才能得到保证。
注意你注册的账号名将成为主机名的第一部分,如 http://accountName.queue.core.windows.net ,DNS将会用它将请求直接重定向到该账号对应的数据存储位置,其中的Queue表示应将请求定向到该位置的Queue服务,因为Blob,Table和Queue都是独立的服务,因此在Windows Azure存储账号下的都有它们自己的命名空间,因此Blob容器,Table和Queue的名字可以是相同的。
一个存储账号可以保存100TB数据,对Blob容器,Blob,Table,Queue,实体,消息都无数量限制,但总容量不能超出100TB。
Windows Azure Blob
下图显示了Windows Azure Blob的抽象概念,在这里我们的存储账号是“ cohowinery ”,在这个账号下,我们创建了一个叫做“ images ”的Blob容器,在这个容器下放了两张分别叫做“ pic01.jpg ”和“ pic0 2 .jpg ”的图片,另外还创建了一个叫做“ videos ”的Blob容器,在这个容器下放了一个叫做“ vid1.avi ”视频文件。
图 2 Windows Azure Blob概念视图
· 存储账号 – 所有对Windows Azure存储的访问都是通过存储账号完成的。
· 它是访问Blob的最高级命名空间。
· 一个账户可以有多个Blob容器。
· Blob容器 – 容器为一组Blob提供了容身之地。
· 共享策略是在容器级设置的,容器可以设置为私有或公共访问,设置为公共访问时,它里面的所有内容无需身份验证就可以访问,设置为私有访问时,身份验证通过后才能访问它里面的内容。
· 容器本身也有元数据, 其格式是<名称,值>对 ,每个容器的元数据大小最大为8KB 。
· 提供了列出容器中所有Blob的功能。
· Blob – Blob存储在Blob容器内,Blob本身也有元数据,其格式是<名称,值>对,每个Blob的元数据大小最大为8KB,可以从Blob数据位设置和检索元数据。
http:// 账号名 . blob .core.windows.net 这样的命名空间是对所有Blob的访问,要访问特定的Blob,其URI格式是 http:// 账号名 .blob.core.windows.net/ Blob容器名 / Blob名。
目前支持两种类型的Blob:
· Block Blob – 针对流工作负载
· 每个Blob由一串Block组成。
· Block Blob最大大小是200GB。
· 修改Block Blob需要两步,先更新,再提交。
· 阅读范围可以从Blob中的任意字节处开始。
9 7 3 1 2 4 8 :
本文来源:不详 作者:佚名