Nosql CouchDB数据库设计

Nosql CouchDB数据库设计,nosql,couchdb,couchbase,data-modeling,pouchdb,Nosql,Couchdb,Couchbase,Data Modeling,Pouchdb,我来自RDBMS和MongoDB的背景,无法了解平板Couchbase数据库。 我正在开发一个教育应用程序,学生(大约10000人)将访问“他们的个人学习材料”并解决它。由于该应用程序也可以脱机工作,我需要将Couchbase作为远程数据库,将PockDB作为本地移动数据库,并保持它们的同步 用例: 如果在远程服务器上添加了问题,则该问题应在本地同步到数据库 如果学生将任何问题标记为“重要”或“疑问”,则应将其同步到学生私人空间中的远程Couchbase数据库 在研究之后,我可以想到的模式是,我

我来自RDBMS和MongoDB的背景,无法了解平板Couchbase数据库。 我正在开发一个教育应用程序,学生(大约10000人)将访问“他们的个人学习材料”并解决它。由于该应用程序也可以脱机工作,我需要将Couchbase作为远程数据库,将PockDB作为本地移动数据库,并保持它们的同步

用例:

  • 如果在远程服务器上添加了问题,则该问题应在本地同步到数据库
  • 如果学生将任何问题标记为“重要”或“疑问”,则应将其同步到学生私人空间中的远程Couchbase数据库
  • 在研究之后,我可以想到的模式是,我为每个学生维护一个单独的数据库(一个学生一个bucket),以便可以非常快速地完成同步

    另一个模型可以是一个bucket,其中包含作为不同文档的所有学生。在这种情况下,每个问题都将作为每个学生文档的子文档进行复制


    Couchbase服务器的最佳数据库设计是什么。根据您的建议,我应该选择第一种或第二种方法,还是其他方法?

    Couchbase最多10个桶。因此,每个用户存储桶是不可能的。CouchDB(不是CouchBase)可以根据用户数据库使用。所有数据使用一个bucket。每个学生的个人文件是我现在考虑的解决方案。会好吗?是的。不要忘记使用筛选复制进行脱机同步。您不想在每个移动客户端上保存所有数据库。Couchbase限制为10个存储桶。因此,每个用户存储桶是不可能的。CouchDB(不是CouchBase)可以根据用户数据库使用。所有数据使用一个bucket。每个学生的个人文件是我现在考虑的解决方案。会好吗?是的。不要忘记使用筛选复制进行脱机同步。您不想在每个移动客户端上保存所有数据库。