数据点:Windows Azure 表存储:不同于传统数据库
2010-08-09 00:00:00 来源:WEB开发网图 1 一个 Windows Azure 表可以包含代表类似或不同实体的行
一切从域类开始
数据库的典型开发过程是先创建数据库、定义其中的表,然后为每个表定义一个特定的结构(具体的列,每一列都具有指定的数据类型)以及定义该表与其他表的关系。之后,应用程序就会将数据推入表中或从表中取出。
如果使用 Windows Azure 表服务,您并不是在设计数据库,而是在设计类。您定义您的类以及一个或多个类所属的容器(表),然后您就可以将实例化的对象作为行保存回存储区域。
类中除了您需要的属性以外,每个类还都必须具备三个重要的属性,用于确定 Windows Azure 表服务如何操作:PartitionKey、RowKey 和 TimeStamp。PartitionKey 和 RowKey 都是字符串,定义它们需要一定的技巧(或者说是科学),以便您在运行时既可获得可扩展性,又能很好地平衡查询和事务效率。若要深入了解如何定义 PartitionKey 和 RowKey 以获得最大收益,我强烈推荐 PDC09 讲座“深度挖掘 Windows Azure 表和队列”,主讲人是 Jai Haridas。讲座视频可以从 microsoftpdc.com/sessions/svc09 获得。
PartitionKey 和 RowKey 推动性能和可扩展性
很多开发人员都习惯了主键、外键以及这两者之间的约束。但对于 Windows Azure 表存储来说,您必须摆脱这些概念,否则您将很难理解它使用的键体系。
在 Windows Azure 表中,字符串 PartitionKey 和 RowKey 属性共同用作表的索引,因此在定义这两个字符串时,您必须考虑数据的查询方式。而且这两个属性组合在一起还提供了唯一性,即用作行的主键。表中的每个实体都必须具有唯一的 PartitionKey/RowKey 组合。
更多精彩
赞助商链接