0

我只是想知道是否有任何有 Azure 表存储经验的人可以评论使用 1 个表来存储多种类型是否是个好主意?

我想这样做的原因是我可以进行交易。但是,我也想在开发方面有所了解,这种方法处理起来容易还是混乱?到目前为止,我使用 Azure 存储资源管理器来辅助开发,在一个表中查看多种类型一直很乱。

举个例子,假设我正在设计一个博客社区站点,如果我将所有博客文章、类别、评论存储在一个表中,我会遇到什么问题?另一方面,如果我不这样做,那么如何确保类别和帖子的一致性(例如,假设 1 个帖子可以有一个 1 个类别)?

或者人们是否有其他不同的方法来使用表存储来解决这个问题?

谢谢你。

4

1 回答 1

2

如果您的目标是具有完美的一致性,那么使用单个表是一个很好的方法。但是,我认为您可能会让自己的事情变得更加困难并且获得的回报很少。我这么说的原因是表存储非常可靠。如果您正在处理非常非常重要的数据,那么事务非常好,但是在大多数情况下,例如博客,我认为您最好还是 1) 允许一小部分不一致的数据和 2) 处理故障以更手动的方式。

在同一个表中存储多种类型的最大问题是序列化。大多数当前的表存储 SDK 和实用程序都旨在处理单一类型。话虽如此,您当然可以手动处理多个模式(即将对象反序列化为包含所有可能属性的主对象)或直接与 REST 服务交互(即不通过 Azure SDK)。如果您直接使用 REST 服务,则必须自己处理序列化,因此您可以更有效地处理多种类型,但权衡是您手动执行通常由 Azure SDK 处理的所有操作。

确实没有正确或错误的方法来做到这一点。两种情况都可以,只是最实用的问题。我个人倾向于为每个表放置一个模式,除非有很好的理由不这样做。我认为您会发现表存储在不使用事务的情况下足够可靠。

您可能想查看Windows Azure 工具包。我们设计了该工具包来简化一些更常见的天蓝色任务。

于 2010-12-23T04:38:15.087 回答