1.1.0 Amazon Neptune 引擎版本 (2022-04-19) - Amazon Neptune
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

1.1.0 Amazon Neptune 引擎版本 (2022-04-19)

截至 2022-04-19 年,引擎版本 1.1.1.0 正在普遍部署。请注意,新版本在每个区域的发布需要几天的时间。

此版本的后续补丁版本

此引擎版本中的新增功能

  • 这些区域有:OpenPher 查询语言现在可普遍用于生产环境。

  • 添加了对 的支持 TinkerPop 3.5.2. 其中此版本的更改是对远程事务的支持和对会话的字节码支持(使用g.tx),以及添加了datetime()函数到 Gremlin 语言。

    警告

    中引入了几个突破性的变化 TinkerPop 3.5.0、3.5.1 和 3.5.2 这可能会影响你的 Gremlin 代码。例如,使用由一个生成的遍历 GraphTraversalSource 作为孩子像这样将不再起作用:g.V().union(identity(), g.V()).

    现在,请像这样使用匿名遍历:g.V().union(identity(), __.V()).

  • 添加了对 的支持Amazon全局条件键您可以在 Neptune 数据平面 API 中使用来指定控制资源访问的 IAM 策略中的条件。

  • 这些区域有:Neptune DFE 查询引擎现在可以通过 OpenCysPher 查询语言进行生产使用,但尚未用于 Gremlin 和 SPARQL 查询。现在你使用自己的启用它neptune_dfe_query_engine实例参数而不是实验室模式参数。

此引擎版本中的改进

  • 将新功能添加到openpher例如参数化查询支持、参数化查询的抽象语法树 (AST) 缓存、可变长度路径 (VLP) 改进以及新的运算符和子句。请参阅OpenPher Amazon Neptune 的标准合规性用于当前的语言支持水平。

  • 在简单读写工作负载方面,OpenPher 显著提高了性能,与 1.1.0.0 版相比,吞吐量更高。

  • 删除了处理可变长度路径的 OpenPher 双向和深度限制。

  • 在 DFE 引擎中完成了对 Gremlin 的支持withinwithout谓词,包括它们与其他谓词运算符组合使用的情况。例如:

    g.V().has('age', within(12, 15, 18).or(gt(30)))
  • 在 DFE 引擎中扩展了对 Gremlin 的支持order当范围是全局时的步骤(也就是说,不是order(local)),以及何时by()没有使用调制器。例如,此查询现在将支持 DFE:

    g.V().values("age").order()
  • 已将添加到isLastOp字段到Neptune 直播变更日志响应格式,表示记录是其交易中的最后一个操作。

  • 显著提高了审计日志记录的性能,减少了启用审计日志记录后的延迟。

  • 转换后的 GEMlin WebSocket 在审计日志中以用户可读的格式进行字节码和 HTTP 查询。现在可以直接从审计日志中复制查询,以便在 Neptune 笔记本和其他地方执行。请注意,对当前审计日志格式的这种更改构成了重大变化。

在此引擎版本中修复的缺陷

  • 修复了一个罕见的 Gremlin 错误,在使用嵌套时没有返回任何结果filter()count()组合步骤,例如以下查询中的步骤:

    g.V("1").filter(out("knows") .filter(in("knows") .hasId("notExists")) .count())
  • 修复了 Gremlin 错误,当使用由聚合步骤存储的顶点时返回错误to()要么from()与结合遍历addE步骤。此类查询示例:

    g.V("id").aggregate("v").out().addE().to(select("v").unfold()))
  • 修正了一个 Grelin 错误not在使用 DFE 引擎时,在边缘情况下,步骤失败了。例如:

    g.V().not(V())
  • 修正了一个 Grelin 错误sideEffect值在内部不可用to()from()遍历。

  • 修复了偶尔导致快速重置以触发实例故障转移的错误。

  • 修复了一个批量加载程序错误,其中失败的交易在开始下一个加载作业之前不会关闭。

  • 修复了一个批量加载程序错误,其中内存不足可能导致系统崩溃。

  • 添加了重试以修复批量加载程序错误,该错误导致加载器在故障转移后等待 IAM 凭证的时间不够长。

  • 修复了未正确清除非查询终端节点的内部凭据缓存的错误,例如status终端节点。

  • 修复了一个直播错误,以确保流提交序列号的顺序正确排序。

  • 修复了启用 IAM 的群集上长时间运行的连接在十天以内终止的错误。

此版本支持的查询语言版本

在将数据库集群升级到 1.1.1.0 版之前,请确保您的项目与以下查询语言版本兼容:

  • GEMlin 版本: 3.5.2

  • OpenPher 版本: Neptune-9.0.20190305-1.0

  • SPARQL 版本: 1.1

1.1.0 升级到引擎版本

您可以将任何以前的 Neptune 引擎版本手动升级到此版本。请注意,主要版本引擎 (1.1.0.0) 之前的版本升级到此版本需要更长的时间。

您不会自动升级到此版本。

升级到此版本

现已将正式发布 Amazon Neptune 1.1.0。

如果数据库集群运行的引擎版本有此版本的升级路径,则现在有资格进行升级。您可以使用控制台上的数据库集群操作或者使用开发工具包来升级任何符合条件的集群。以下 CLI 命令将立即升级符合条件的集群:

针对 Linux、OS X 或 Unix:

aws neptune modify-db-cluster \ --db-cluster-identifier (your-neptune-cluster) \ --engine neptune \ --engine-version 1.1.1.0 \ --allow-major-version-upgrade \ --apply-immediately

对于 Windows:

aws neptune modify-db-cluster ^ --db-cluster-identifier (your-neptune-cluster) ^ --engine neptune ^ --engine-version 1.1.1.0 ^ --allow-major-version-upgrade ^ --apply-immediately

与此不相反--apply-immediately,您可以指定--no-apply-immediately. 要执行主要版本升级, allow-major-version-upgrade 参数是必需的。此外,请确保包含引擎版本,否则您的引擎可能会升级到其他版本。

如果您的集群使用自定义集群参数组,请务必包含此参数来指定它:

--db-cluster-parameter-group-name (name of the custom DB cluster parameter group)

同样,如果集群中的任何实例使用自定义数据库参数组,请确保包含此参数来指定:

--db-instance-parameter-group-name (name of the custom instance parameter group)

有关升级引擎版本的更多信息,请参阅Neptune 引擎更新. 如果您有任何问题或疑虑,Amazon可 Support 过社区论坛和通过AmazonPremium Support.