【发布时间】:2011-08-16 05:05:55
【问题描述】:
我正在评估我正在构建的应用程序中 Azure 表存储的使用情况,我想获得一些关于...的建议
- 这对于应用程序是否是一个好主意,或者
- 如果我应该坚持使用 SQL,并且
- 如果我确实使用 ATS,那么存储设计的好方法是什么。
该应用程序是针对个人用户的任务管理 Web 应用程序。这真的是一个非常简单的应用程序。它有以下实体...
- 帐户(每个用户都有一个帐户。)
- 任务(显然是用户创建任务。)
- TaskList(用户可以将他们的任务组织成列表。)
- 文件夹(用户可以将他们的列表组织到文件夹中。)
- 标签(用户可以为任务分配标签。)
我们还将构建一些我需要考虑的功能/要求...
- 我们最终将为不同的帐户提供功能以相互共享列表。
- 用户需要能够以多种方式过滤他们的任务。例如...
- 特定列表的任务
- 标有“A”和“B”的特定列表的任务
- 明天到期的任务。
- 在所有列表中标记为“A”的任务。
- 我已共享的任务。
- 任务备注中包含“hello”的任务。
- 等
- 我们的应用程序是 AJAX 密集型的,对于任务的非常小的更改会发生更新。因此,有很多小的请求和更新正在进行。例如...
- 内联编辑
- 点击完成
- 更改截止日期
- 等等……
由于繁重的 CRUD 工作,而且我们确实有一个简单实体列表,因此使用 ATS 是可行的。但是,我担心更新的交易成本,以及我描述的查询/过滤是否能得到有效支持。
我们想象数字从小开始(〜数百个帐户,每个帐户〜数百或数千个任务),但我们显然希望增加我们的帐户。
如果我们确实使用 ATS,是否会更好...
- 每个实体一个表(帐户、任务、任务列表等)
- 每个客户的表集(JohnDoe_Tasks、JohnDoe_TaskLists 等)
- 其他想法?
我知道这是一篇很长的帖子,但如果有人对方向有任何想法或想法,我将不胜感激!
【问题讨论】:
-
我不认为你可以期望 SO 用户确定什么适合你的业务需求,或者设计你的应用程序。给你。
-
@Mitch:我只是问是否有其他人经历过类似的决策过程,并且可以就表存储(NoSQL 方法)提供任何建议。
-
Channel 9 Cloud Cover 上有一个插曲,其中包含一个示例,该示例展示了如何使用 MVC3 和 ATS 为 Azure 构建一个简单的任务应用程序。 channel9.msdn.com/Shows/Cloud+Cover/…
标签: azure data-modeling azure-sql-database