· Page Blob – 针对随机写工作负载
· 每个Blob由一组Page组成。
· Page Blob最大大小是1TB。
· 立即更新语义,写入即提交。 Windows Azure Table下图显示了Windows Azure Table的抽象概念,在这里我们的存储账号是“ cohowinery ”,创建了“ customers ”和“ winephotos ”两个Table,在 customers Table下保存了代表客户信息的实体,实体有“Name”,“Email”等属性, winephotos Table下的实体具有“ PhotoID ”和“ Date ”等属性。
图 3 Windows Azure Table概念视图
下面是对Windows Azure Table数据模型的总结:
· 存储账号 – 同上,每个账号可以有多个Table。
· Table – 包含一组实体。
· 实体(行) - 实体(一个实体与一‘行’的概念相似)是Table中最基本的数据项,一个实体包含一组属性,每个Table都有两个属性( PartitionKey 和 RowKey ),它们一起组成实体的唯一键。
一个实体最多可以有255个属性。
一个实体的所有属性总大小不能超出1MB,这个大小包括属性名称,属性值或它们的类型的大小。
· 属性(列) - 它表示实体的一个值,属性名是大小写敏感的。
· PartitionKey – 每个Table的第一个键属性,系统使用这个键自动在多个服务器之间分配和负载均衡Table的实体。
· RowKey – Table的第二个键属性,它是实体在所属分区中的唯一ID, PartitionKey 和 RowKey 结合起来组成实体的唯一身份标识。
· Timestamp – 每个实体都有由系统维护的一个版本,用于乐观并发控制。
· 排序顺序 – Windows Azure Table有一个唯一的索引, 表中的所有实体都先按 PartitionKey 排序,然后再按 RowKey 排序的 ,这意味着指定这些键查询的效率是非常高的,返回的所有结果也是先按 PartitionKey 排序,然后再按 RowKey 排序的。
· 类型 - PartitionKey 和 RowKey 必须是字符串类型,其它属性可以是 Binary , Bool,DateTime,Double, GUID,Int , Int64,String 中的任意类型。
· 无固定的结构描述 – Windows Azure Table中不会存储结构描述,所有属性都存储为<名称,值>对,这意味着相同表中的两个实体的属性可以完全不同,不同实体的属性名可以是相同的,但属性值的类型必须不同,在单个实体中,属性名必须是唯一的。
访问特定Table的URI结构如下:
http:// 账号名 .table.core.windows.net/ Table名
Windows Azure Queue
下图显示了Windows Azure Queue的抽象概念,在存储账号“ cohowinery ”下创建了一个叫做“ orders ”的Queue,存储了正在等待处理的订单消息,消息包含 customer ID , order ID ,订单链接等信息。
图 4 Windows Azure Queue概念视图
· 存储账号 – 同上,一个账户可以有多个Queue。
· Queue – Queue中包含许多消息。
· 存储在Queue中的消息数量没有限制(唯一的限制是每个存储账号的总容量是100TB)。
· 消息至少保留一周,超过一周的消息系统会自动进行垃圾回收。
· Queue本身也有元数据,其格式也是<名称,值>对,每个Queue的元数据最大大小为8KB。
· 消息 – 消息是存储在Queue中的,每条消息最大8KB,如果想存储更大的数据,可以将数据存储在Azure Blob或Azure Table中,然后在消息中存储Blob/实体的名称,存储消息时,消息可以是二进制数据,但从存储提取消息时,返回的是XML格式基于Base-64编码的信息。
访问特定Queue的URI结构如下:
http:// 账号名 .queue.core.windows.net/ Queue名称
9 7 3 1 2 4 8 :
本文来源:不详 作者:佚名