Windows Azure持久存储提示

时间:2011-04-29 16:11:05

标签: c# windows azure storage

我刚刚激活了我的Azure帐户,创建了第一个Asp Mvc 3.0项目(只是模板)并部署了它:)。 WONDERFULL

然而我即将创建一个小应用程序(只是为了学习Azure)并且遇到了一个小问题。 继承人我想做的事: 创建一个显示我的音乐库的mvc应用程序,允许搜索,排序,添加新专辑等。 Theres proberbly约3000张专辑。

我应该使用什么样的存储空间,有没有人知道如何在c#中使用mvc来解决这个问题?

请注意我不想使用SQL Azure,这很容易。我需要挖掘并学习blob / table /?类型。

我只需要一个声音推荐,我应该开始研究哪种存储类型,更重要的是我应该在哪里研究它:)。

2 个答案:

答案 0 :(得分:2)

Azure存储表与SQL不同,后者由Azure管理,而不是由DBMS管理。有一个Key字段,您可以通过它在表中查找数据,并且可以使用LINQ来访问它。也就是说,在选择每个数据的位置时应该考虑性能因素。 SQL Azure应该提供更好的关系访问,因此如果您要拥有大量的表并期望进行大量的连接操作,我会继续使用它。但是,如果您使用的是需要在应用程序中维护的简单结构化数据,则可以选择表格。

当然,由于存储比SQL Azure便宜10倍,因此您总是希望设计充分利用存储的应用程序,但请记住检查您可能遇到的任何性能问题。

答案 1 :(得分:1)

Windows Azure Platform Training Kit在探索Windows Azure存储下有几个实验室。这应该让您有一个良好的开端了解表和实体方法。特别注意分区和行键。优化存储以围绕分区键进行共存,并通过行键在分区内编制索引。您需要仔细规划行键以进行搜索。如果您需要搜索表中的多个属性,则需要考虑其他表(每个表包含您要搜索的行键),或者可能需要考虑像MongoDB这样的NoSQL数据库(或者像SQL Azure这样的关系数据库,但你说你想避免这种做法。)

另外,请看看David Pallman的这个blog post - 他为每种类型的存储操作提供了一整套代码片段。当您尝试找出与表存储交互的所有方法时,这可以节省您很多时间。

然后,请查看讨论存储事务的MSDN post,当您超越简单示例并将焦点转移到生产代码时,这将是相关的。