【问题标题】:What is the best indexes.auto config for a production environment生产环境的最佳 index.auto 配置是什么
【发布时间】:2017-12-22 11:45:54
【问题描述】:

问题基于http://neo4j.com/docs/ogm-manual/current/reference/#reference:indexing中解释的配置

虽然config.setAutoIndex("validate"); 似乎是一个不错的选择。在 prod 上应用配置时意外错过可能会导致系统崩溃。

那么,如果缺少索引,有没有办法以较少的编程工作来应用索引?

【问题讨论】:

  • 没有别的办法
  • 这是 neo4j-ogm 即将推出的功能。 (update模式)
  • 格栅,期待它。我在哪里可以关注它?

标签: neo4j neo4j-ogm


【解决方案1】:

正如that doc 所述,您只需将ogm.properties 配置为indexes.auto=validate 即可避免以编程方式执行任何操作。

【讨论】:

  • 是的,但是如果索引丢失,它只会抛出异常。希望,如果丢失,有一种方法可以应用它们。
【解决方案2】:

对于 Neo4j 数据库中的架构与域模型中声明的架构相同的简单系统,您可以使用 assert。

但这种情况很少见。 OGM 3.1 中的新update 选项将更有用(它不会删除现有的索引/约束),但对于更复杂的部署(例如,未在域中定义的索引、访问数据库的多个应用程序、 ...)。

在这种情况下,您应该手动或使用某些工具(例如http://www.liquigraph.org/)管理索引,并在您的 OGM 应用程序中使用validate 选项来验证所有预期的索引是否存在。

这样做时你应该检查一下

  • 架构更新不会影响现有负载(例如,计划低负载的时间)
  • 现有数据与新架构匹配(例如,所有节点上都存在新约束的属性)
  • 不再需要的索引/约束被删除

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多