【问题标题】:Neo4J - having repeating property or storing it implicitlyNeo4J - 具有重复属性或隐式存储
【发布时间】:2019-12-31 16:33:34
【问题描述】:

我有这种模型:

节点有一些独特的属性 (p1) 和一些重复的属性 (p2)。就我而言,我总是可以说,如果关系是R1,属性p2 将保持不变(如OPTION2 - 底部的节点也有p2: B,但它是隐式的)。

现在我猜想对于编程和查询来说,总是在节点级别保存属性会更容易,但由于我将拥有数百万个这样的节点,不重复的属性可能会节省一些空间。

问题是 - Neo4j 是否对此进行了一些内部优化,即使使用重复属性,树的大小实际上也不会变得那么大?

【问题讨论】:

  • 如果这些属性的重复频率如此之高,以至于您正在考虑如何对其进行优化,那么您可能应该将它们视为节点而不是属性。
  • 我也想过这个,但是后来我就有了他们说的这个“超级节点”问题。

标签: neo4j data-modeling


【解决方案1】:

回答您提出的问题:不,neo4j 没有任何内部优化以避免在您告诉它时将相同的属性存储在数据库中的多个位置。

【讨论】:

  • 好的。我想最后最简单的事情就是保存 p2: 0, p2: 1, ... p2: n -> 其中 n 是枚举的序数值,因为这将在所有节点上固定并重复作为分类器。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-05
相关资源
最近更新 更多