Database design 如何使用图形数据库设计集合?

Database design 如何使用图形数据库设计集合?,database-design,neo4j,architecture,orientdb,graph-databases,Database Design,Neo4j,Architecture,Orientdb,Graph Databases,我正在尝试设计一个带有图形数据库的采集系统。用户可以创建多个帖子集合。我无法决定两个给定的设计中哪一个是可伸缩的和好的 这是第一个设计, 用户节点(顶点)与集合相关节点(顶点)与关系(边)具有集合 和第二种设计 用户节点(顶点)与集合节点(顶点)相关,集合节点(顶点)与集合节点(顶点)有关系(边)具有集合 所以我的问题是 这两种设计中哪一种是好的和可扩展的 为什么我要选择一个而不是另一个 哪些关系动词可以在特定场景中使用,而不是在设计中使用 1和2:除非您有特定的原因需要创建关系和集合节点,

我正在尝试设计一个带有图形数据库的采集系统。用户可以创建多个帖子集合。我无法决定两个给定的设计中哪一个是可伸缩的和好的

这是第一个设计,

用户节点(顶点)与集合相关节点(顶点)与关系(边)
具有集合

和第二种设计

用户节点(顶点)与集合节点(顶点)相关,集合节点(顶点)与集合节点(顶点)有关系(边)
具有集合

所以我的问题是

  • 这两种设计中哪一种是好的和可扩展的
  • 为什么我要选择一个而不是另一个
  • 哪些关系动词可以在特定场景中使用,而不是在设计中使用

  • 1和2:除非您有特定的原因需要创建
    关系和
    集合
    节点,否则应该忽略它们。一般来说,保持路径更短更好,因为查询会更简单、更快,并且需要更少的存储


    3:名字是个人喜好,但对我来说,
    HAS_POST
    COLLECTED
    更清晰1&2取决于用例,即如果集合组确实存在,则使用(2)否则(1)


    如果用户维护集合组,那么我更喜欢(2)。Ex-如果用户已经开始收集体育、天文、科技、政治、电影的帖子。采用(2)设计是有道理的。“post”的搜索查询会更快(只需输入say“sports”,它将过滤掉所有非体育帖子。

    每个用户将有多少个集合?@TomažBratanič每个用户可能有一个
    集合
    和n
    集合