0

currently I'm wondering how do I manage a large number of users in modeshape that have their own data (with almost nothing shared). An example of the problem that I'm currently thinking about is the Dropbox model: Everyone has its own dropbox with private files, not necessarily shared with someone else.

Shall I create a new workspace for every user, or would it be better to have a large tree, where under the root node, there are nodes for all users?

Is the number of modeshape workspaces limited?

Thanks for any hints.

4

1 回答 1

1

ModeShape 中的工作空间数量存在实际限制,因为它们需要进行管理,而这种管理并非旨在支持无限数量的工作空间。一般来说,JCR 意味着工作空间之间的某些特定行为,并且 JCR 人员从未打算将工作空间用作单独的用户独立数据

我建议使用单个存储库和工作区来存储所有用户的所有内容,其中工作区的节点层次结构用于隔离和关联特定用户的内容。请注意,JCR 是一个专门的分层数据库:不要将所有用户放在单个节点下,因为这会创建一个非常扁平的层次结构(这在任何 JCR 实现中都不能很好地工作)。相反,只需根据您的用户名或用户 ID 创建一个小的层次结构。(请注意,即使文件系统也有其限制:您不能将数百万个文件放在一个文件夹中。)

实际上,这与使用关系数据库为大量用户存储数据并没有什么不同。很少有架构会为每个用户创建一个新的数据库;相反,该服务可能会使用单个数据库,其中每一行都与单个用户相关联,并且该服务负责安全性和强制执行。

于 2014-02-18T17:05:30.023 回答