【发布时间】:2018-02-06 09:53:45
【问题描述】:
我们的应用程序中有一个工作区的概念。一个用户几乎可以是任意数量的工作区的成员,并且一个工作区几乎可以有任意数量的用户。我想实现一个活动提要,以帮助用户找出他们所属的每个工作区中发生的事情,即当有人上传文件或在工作区中创建任务时,此活动会出现在该工作区的活动提要以及每个工作区中其用户活动提要。问题是我无法为活动的快速读写操作提供合适的数据结构。我想出的是使用属性Targets 存储每个活动,该属性是所有工作区的用户 ID 的字符串,然后过滤该字段包含我要为其获取活动的用户的 ID 的活动,但这种方法有严重的性能和可扩展性限制,因为我们使用 SharePoint 作为我们的存储。我们也可以使用 Azure 表或 Blob 存储,我想为工作区的每个用户创建一个单独的活动实体,这样我就可以轻松地按用户 ID 过滤活动,但这可能会导致数百个相同的副本如果一个工作区有数百个成员,然后编写所有这些副本就会出现问题,因为 Azure 在单个批处理操作中仅支持 100 个实体(如果我错了,请纠正我),然后 SharePoint 根本不是一个选项。所以我需要帮助找出我可以使用什么数据结构来存储每个工作区的活动,以便任何成员都可以通过其 ID 轻松检索它们,也可以通过工作区的 ID 轻松检索任何工作区。
【问题讨论】:
标签: data-structures database-design sharepoint-2013 azure-blob-storage azure-table-storage