10

我正在编写一个“概念证明”应用程序,以调查在对整个应用程序进行必要的重写期间将定制的 ASP.NET 电子商务系统移至 Windows Azure 的可能性。

我很想将 Azure 表存储用作 SQL Azure 的替代方案,因为随着应用程序的进一步成熟,所存储的实体可能会随着时间的推移更改其架构(属性),而且我不需要进行无休止的数据库架构更改。此外,我们可以将引用完整性构建到应用程序代码中——因此考虑 Azure 表存储的情况非常强大。

目前我能看到的唯一潜在问题是我们做了少量的简单报告——即两个日期之间的销售额、特定产品的销售数量等。我知道表存储不支持聚合类型的函数,我相信我们可以通过巧妙地使用分区、多种实体类型来存储相同数据的子集以及可能的预聚合来实现我们想要的,但我不能 100% 确定如何去做。

有谁知道有关 Azure 表存储设计原则的任何深入文档,以便我们正确有效地使用表、PartitionKeys 和实体设计等。

周围有一些简单的文档,当前可用的书籍往往不会深入探讨这个主题。

仅供参考 - 该电子商务网站拥有约 25,000 名客户,每年接受约 100,000 份订单。

4

4 回答 4

11

你看过这个帖子吗? http://blogs.msdn.com/b/windowsazurestorage/archive/2010/11/06/how-to-get-most-out-of-windows-azure-tables.aspx

相当全面的表格覆盖

于 2011-05-10T18:51:06.770 回答
4

我认为将您的应用程序移植到表存储时存在三个潜在问题。

  1. 缺少报告——包括聚合函数——你已经确定了
  2. 交易支持的有限可用性 - 每年有 100,000 个订单,我认为您最终会错过这种支持。
  3. 成本方面的一些问题 - 每百万次操作 1 美元只是一个很小的成本,但如果您获得大量页面浏览量,您可能需要考虑这一点。

老实说,我认为一种混合方法 - 可能是 EF 或 NH 到 SQL Azure 的关键数据,大型对象存储在 Table/Blob 中?

我的意见够了!对于“深入”:

于 2011-04-14T13:37:42.517 回答
0

如果您已经开始关注 Azure 存储(例如表),那么看看市场上的其他 NOSQL 产品(尤其是文档数据库)也没有什么坏处。这将使您深入了解 NOSQL 空间以及如何设计围绕此类存储的解决方案。您还可以考虑 SQL DB + NOSQL 解决方案的混合方法。系统的某些部分可能非常适合 Azure 表存储模型。Azure 表等 NOSQL 解决方案有其自身的挑战,例如

于 2011-04-15T04:30:10.450 回答
0

我看到的所有表格设计论文几乎都专注于可伸缩性和搜索性能的主题。我没有看到与报告或 BI 的设计注意事项相关的任何内容。

现在,可以通过 REST API 和 azure SDK 访问 azure 表。根据您需要的报告,您可以轻松提取所需的信息。如果您的报告要求非常复杂,那么 SQL azure 与 Windows Azure SQL 报告服务可能是更好的选择?

于 2013-09-15T20:18:32.697 回答