Azure 表存储操作:分区键、查询与数据管理
选择合适的分区键
设计数据库模式有一定的规律,在 Windows Azure 环境中,除了对数据进行建模和规范化,还需要重视应用程序将执行的查询。可以先列出需要高性能的查询,以此为起点构建表架构和分区方案。具体步骤如下:
1.确定关键查询:列出系统将执行的关键查询,并根据重要性和性能要求进行优先级排序。例如,显示购物车内容的查询应比生成罕见报告的查询快得多。
2.创建表架构:根据关键查询创建表架构,确保在对性能敏感的查询中可以指定分区键。估计每个表和每个分区中的数据量,如果某个分区的数据过多,可以通过将其他属性连接到分区键来使分区更细粒度。例如,在构建 Web 日志分析器时,如果将 URL 作为分区键会导致热门 URL 数据集中,可以在分区键中加入日期范围,使每个分区仅包含特定日期的 URL 数据。
3.选择行键:行键在分区内必须唯一。例如,可以使用超级英雄的名字作为行键,因为在分区内它是唯一的。
如果发现分区方案效果不佳,可能需要动态更改。例如,在 Web 日志分析器中,可以根据数据量动态调整日期范围的大小。
分区键和行键的作用不同。分区键是数据分布和可扩展性的单位,而行键用于确保数据的唯一性。如果数据模型的键只有一个属性,可以将其作为分区键(行键为空),每个分区有一行数据;如果键有多个属性,可以将属性分配到分区键和行键中,使每个分区有多个行。
测试理论
为了验证指定分区键和不指定分区键、在单个分区上执行查询和在多个分区上执行查询的影