如何在Neo4j中实现多客户端功能?

时间:2018-12-11 15:25:50

标签: neo4j cypher graph-theory neo4j-apoc

初始情况

我有几个独立且不连续的图,每个图都具有类似分层的结构,并带有局部根元素。这些图的每一个都包含大约800万个节点和4000万个关系。我已经成功创建了三位数的Cypher查询,现在应仅将其应用于单个图,而不应应用于所有图的全部。查询必须应用的图形由其根节点指定。

grpah

要解决的挑战

如果出于报告和模式匹配的原因所有图都必须保留在公用Neo4j数据库中,那么该如何为图实现一种伪多客户端功能?


解决问题/初步结果的方法

  • 实际上是在开始时的每个查询中,为选择目的而实现给定根元素的最短路径? 缺点:

    • 预期会有巨大的性能损失
    • 开发成本高
  • 用单独的附加标签扩展每个图形吗? 缺点:

    • 复杂的查询,需要大量的开发工作

1 个答案:

答案 0 :(得分:1)

在这些情况下,通常会采用为每个租户/客户向子图中的所有节点添加特定标签的方法。这就要求您确保在与查询中的相关节点匹配时,还要另外确保要使用的节点具有客户端的标签。

作为对未来的说明,本机多租户支持是我们明年致力于的主要功能之一。