CouchDB数据管理和多用户共享文档的复制性能

时间:2018-10-22 09:19:45

标签: database-design nosql couchdb database-replication pouchdb

我正在开发一种服务,其中不同的用户可以创建和与同一组中的人共享信息。

此服务还包括一个使用pouchdb甚至可以脱机工作的应用程序。

每个组都是一个文档,其中存储了该组中用户的数据和权限。然后,该组的ID将添加到用户角色,以便可用于过滤应用中的数据复制。

相同的ID也添加到必须共享的文档中,以使它们在经过筛选的复制中传递。因此,任何信息都可以在一个或多个这些组中使用,并且必须保持简单性以删除或添加新共享。

对于有关文档组织的问题,只有一个数据库,其中有两个组的文档以及用户添加的所有其他类型的信息(4-5种不同类型的文档),因为否则会不可能为从应用程序中恢复数据发出单个复制请求,但是我意识到这与良好的ouchdb实践背道而驰,并且随着数据的增长,将很难维护。

所以我想知道是否有一种方法可以有效分离这些数据,而又不会失去从应用程序运行单个复制的能力。

为了更好地理解,我给您列举两个我不包括的示例:

  1. 每个用户一个数据库:

    • 该组中的共享数据应该进入哪个数据库?
    • 该应用程序应执行n次复制,每个具有登录用户必须检索的共享数据的用户都要进行一次复制
  2. 每个组一个数据库:

    • 如果用户属于多个组(可能太多),则应用程序应针对用户所属的每个组执行一次复制

还是有一种从多个数据库执行复制的方法?

谢谢!

亚历克斯。

0 个答案:

没有答案