【问题标题】:Neo4j for an Image database - performance considerations用于图像数据库的 Neo4j - 性能注意事项
【发布时间】:2014-12-05 23:48:37
【问题描述】:

我正在考虑构建一个图像数据库,该数据库由具有 UUID 字段和其他图像属性(例如 EXIF 数据)的节点组成。我将始终通过具有索引的 UUID 字段搜索图像节点。

匹配(img:图像{id:“ea191df3-f5e5-4a29-ae93-f850866f90d1”})返回img;

在 Neo4j 中这样做有什么性能劣势吗?

【问题讨论】:

    标签: graph neo4j nosql


    【解决方案1】:

    假设您通过 CREATE CONSTRAINT ON (image:Image) ASSERT image.id IS UNIQUE 创建了唯一性约束,那么您提出的建议非常有意义。 这样的约束不仅强制了id的唯一性,还自动创建了id索引。

    每次添加Image(或更改图像id)时都会产生更新索引的成本,但除非您的更新比搜索次数多,否则搜索时会节省成本一张图片的成本应该远远超过这个成本。

    【讨论】:

    • 我会使用约束而不是索引,CREATE CONSTRAINT ON (image:Image) ASEERT image.id IS UNIQUE
    • @subvertallchris 感谢您的改进。我已经编辑了我的答案。
    • 很高兴你在assert 中发现了我的错字。 ;-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-09
    • 2017-01-24
    • 1970-01-01
    • 2012-10-05
    • 1970-01-01
    • 1970-01-01
    • 2016-07-21
    相关资源
    最近更新 更多