【问题标题】:Neo4j - individual properties, or embedded in JSON? (ROR)Neo4j - 单独的属性,还是嵌入在 JSON 中? (ROR)
【发布时间】:2013-06-20 22:00:44
【问题描述】:

我想知道在 Neo4j 的速度和属性限制方面哪个更有效。(我正在使用 Ruby on Rails 3.2 和 REST)

我想知道是否应该将节点属性存储在单个属性中,就像数据库表一样,或者将节点的大部分/全部存储在单个节点属性中但以 JSON 格式存储。

现在在一个测试系统中,我有 1000 个节点,共有 10000 个属性。显然,随着更多功能和新节点类型添加到我的系统中,属性的数量将会激增。

所以我正在考虑将节点的所有不可搜索属性存储在嵌入式 JSON 结构中。除了这似乎会给 Web 服务器带来更多负担,必须在检索 JSON 后对其进行解析,等等。(我将为活动提要节点使用带有 JSON 的单个属性字段,但我正在处理诸如照片节点、个人资料节点等的内容。

这里有什么建议吗?把东西放在不同的属性里? JSON 和单个属性的混合体?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 neo4j


    【解决方案1】:

    您将内容存储在 JSON 中的目标是什么?你认为你会达到 67B 的限制吗(几个月后 2.1 会增加到更大)?

    从低级存储的角度来看,存储长字符串和存储许多较短的属性没有太大区别。您正在做的主要事情是阻止自己在查询中使用这些字段。

    此外,如果您使用的是 REST,那么无论如何您都必须进行 JSON 解析,因此您不会完全避免这种情况。

    【讨论】:

    • 理论上,这个系统可以达到 670 亿个节点..理论上..现实情况是它可能永远不会接近这个数量..但我也只想看到一个理论被证明!大声笑..
    • 我正在使用 Neography GEM,它是 REST 调用的包装器,因此 JSON 的解析由该 GEM 处理。但我同意重新使用查询中的字段,尤其是可用于过滤或排序结果的那些..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-02
    • 1970-01-01
    • 2012-11-15
    相关资源
    最近更新 更多