我有一个Windows Azure应用程序,其中TableA的所有读取查询都在一系列rowkeys的单个分区上执行。促进此存储方案的分区键实际上是层次结构中对象的扁平化名称,因此分区键的格式类似于{root}_{child1}_{child2}_{leaf}
。我可以理解如何通过在表的命名中使用分区键的根维度将这个大的TableA划分为多个表可能是有益的(因此分区键将变为{child1}_{child2}_{leaf}
)。
我想要做的是尽可能快地从尽可能多的连接访问这些数据。如果我能弄清楚这些限制是什么或应该是什么,那也是不可思议的。
有关我提议的更改的更具体问题:
答案 0 :(得分:11)
如果每个查询都指定了一个分区键,则这些分区分布的表数没有区别。换句话说,以下是等效的:一个表有一千个分区,一千个表有一个分区。
我可以考虑考虑拆分成多个表的主要原因是您可以在单个操作/事务中删除整个表,而不能在同一个表中使用一系列分区。这意味着对于像日志这样的东西,你可能想要在一段时间后删除旧版本,通常最好在不同的时间范围内使用不同的表格。
答案 1 :(得分:6)
+1。
要添加的一些内容