Azure Table服务中是否需要Table的概念?

时间:2013-08-07 18:08:26

标签: azure azure-storage azure-table-storage

我正在使用azure表服务。我想问的是Azure内部是否关心 Table 的概念?

快速制作主要取决于分区键和行键。表格看起来不像容器或实体分组,因为您可以创建的表格数量没有限制。总存储大小与我的存储帐户相关联。

表格只是帮助人们从RDBMS土地过渡或者内部服务的概念吗?我可以使用单一表格设计来执行应用程序而无需担心性能吗?毕竟,如果table只是一个标签,那么我也可以将其作为分区键的一部分。

修改

举一个例子,Table分区键看起来非常像Cassandra行,Table行就像Cassandra列。可以将存储视为一大堆关键(RowKey)值对。分区键是分片机制。然后表格就是一个“标签”概念。

2 个答案:

答案 0 :(得分:2)

您可以将所有实体放在单个azure表存储中,并通过仔细选择正确的分区键和行键组合来获得最佳性能,但恕我直言,将相关实体分别放在单独的表中会更好易于管理(从开发人员的角度来看)。你知道你的应用程序的哪个部分正在命中哪个表。

您可能希望查看此记录的会话,该会话讨论最佳做法和内部。 Windows Azure Storage: What’s Coming, Best Practices, and Internals

答案 1 :(得分:0)

您可以将表名和分区键的并集视为性能单位。

你很可能会重新发明Lokad开发的FatEntities.思想。

“表”的概念有许多限制和问题。例如,如果在分区中有一个包含100,000个条目的大表,那么在不迭代每个条目的情况下,您无法轻松跳转到条目99,001。向后退是不可能的(你不能从最后一个条目开始并向后退)