Amazon Neptune 引擎版本 1.4.5.0(2025 年 4 月 9 日) - Amazon Neptune

Amazon Neptune 引擎版本 1.4.5.0(2025 年 4 月 9 日)

截至 2025 年 4 月 9 日,引擎版本 1.4.5.0 正在普遍部署中。请注意,新版本在每个区域的发布需要几天的时间。

警告

由于某些无服务器配置可能出现问题,我们已暂时暂停升级到 1.4.5.0 版本。我们建议升级到 1.4.5.1 引擎版本。升级到 1.4.5.0 的操作已被暂时禁用。

此引擎版本中的新增特征

  • 在 DFE 引擎中新增了 Gremlin 语言步骤。

    • 路径和遍历步骤:asDate()、dateAdd()、dateDiff()、fail()、Inject()、label()、path()、project()、repeat()、sack()、select()、unfold()、disjunct()、drop()、identity()、intersect()、length()、loops()、barrier()、order()、range()、reverse()、sample()、cap()、split()、filter()、flatMap()、map()、sideEffect()、union()、index()

    • 聚合和收集步骤:aggregate(global)、combine()、count()、dedup(global)、fold()、group()、groupCount()

    • 数学步骤:max ()、mean()、min()、sum()

    • 元素步骤:otherV()、elementMap()、element()、V()、out()、in()、both()、outE()、inE()、bothE()、outV()、inV()、bothV()、otherV()

    • 属性步骤:properties()、key()、valueMap()、value()

    • 筛选步骤:and()、coalesce()、coin()、is()、local()、none()、not()、or()、where()

    • 字符串操作步骤:concat()、lTrim()、rTrim()、substring()、toLower()、toUpper()、trim()

    • Predicates:
      • Compare: eq, neq, lt, lte, gt, gte

      • Contains: within, without

      • TextP: endingWith, containing, notStartingWith, notEndingWith, notContaining

      • P: and, or, between, outside, inside

关于 DFE 中可用的所有 Gremlin 步骤的详细信息,请参阅 DFE 中的 Gremlin 步骤覆盖

此引擎版本中的改进

常规改进
  • 慢查询日志锁等待时间得到改进。慢查询日志现在包括共享锁和独占锁的等待时间指标。在延迟读写提升情况下,这些指标会作为每个事务的一部分存储。这些指标显示在慢查询日志的 storageCounters 部分。

  • 不再支持的密码套件:

    • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

    • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

    • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256

    • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384

Gremlin 改进
openCypher 改进
  • CREATE、MERGE 和 SET(变更操作)性能提升。

  • CALL 子查询性能改进。

  • 支持多部分 openCypher 响应的 HTTP 尾标头。有关更多信息,请参阅可选的 HTTP 尾标头

  • 向 openCypher 添加了 day、month 和 year 时间函数。有关更多信息,请参阅时间函数

    RETURN day(datetime('2021-06-03T01:48:14Z')) { "results": [{ "day(datetime('2021-06-03T01:48:14Z'))": 3 }] }

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

常规修复
  • 修复了导致 Audit/SlowQueryLog 日志文件丢失的问题。

Gremlin 修复
  • 修复了在禁用“结果缓存”特征时,Gremlin 查询出现的问题。结尾使用 iterate() 的查询会返回结果而非空响应。

  • 修复了由于多个并发查询使用相同键导致的 Gremlin“结果缓存”问题。其中一个并发查询错误地返回了结果,而不是空结果。

  • 修复了 Amazon S3 导出查询的问题:通过延长清理时间,避免因超时或取消导致的 Amazon S3 多部分上传失败。

  • 修复了与 Gremlin Amazon S3 导出相关的权限问题。

SPARQL 修复
  • 修复了在处理声明多个 base IRI 的 SPARQL 查询时,只使用初始声明的问题。

  • 修复了在处理使用无效模式字符串的 SPARQL REPLACE 函数时,会返回错误的问题。

  • 修复了在处理带有不区分大小写("i")标志的 SPARQL REPLACE 函数处理 Unicode 数据时的问题。

  • 修复了在解析使用无效 \u\U 代码点转义序列的 SPARQL 查询时,可能导致无响应返回的问题。

  • 修复了 SPARQL IRI 函数在解析相对 IRI 时,并不总是正确基于当前 base IRI 的问题。

  • 修复了在使用前缀名称进行 SPARQL INSERT DATADELETE DATA 更新时,无法正确解析相对 IRI 对应当前 base IRI 的问题。

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

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

  • 支持的 Gremlin 最早版本:3.7.1

  • 支持的 Gremlin 最新版本:3.7.1

  • openCypher 版本:Neptune-9.0.20190305-1.0

  • SPARQL 版本:1.1

引擎版本 1.4.5.0 的升级路径

您可以从引擎版本 1.2.0.0 或更高版本升级到此版本。

升级到此版本

如果数据库集群运行的引擎版本有此版本的升级路径,则可以立即对其进行升级。您可以使用控制台上的数据库集群操作或使用 SDK 升级任何符合条件的集群。以下 CLI 命令将立即升级符合条件的集群:

对于 Linux、OS X 或 Unix:

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

对于 Windows:

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

您可以指定 --no-apply-immediately,而不是 --apply-immediately。要执行主要版本升级,需要使用 allow-major-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 引擎版本时,请务必先在该版本上测试您的 Neptune 应用程序,然后再升级到该版本。即使是次要版本升级,也可能引入会影响代码的新特征或行为。

首先,将当前版本的发行说明页面与目标版本的发行说明页面进行比较,以查看查询语言版本是否会发生变化或是否会发生其它重大更改。

在升级生产数据库集群之前测试新版本的最佳方法是克隆生产集群,以便克隆运行新的引擎版本。然后,您可以在不影响生产数据库集群的情况下在克隆上运行查询。

请在升级之前始终创建手动快照

在执行升级之前,我们强烈建议您始终创建数据库集群的手动快照。拥有自动快照只能提供短期保护,而手动快照在您显式删除它之前仍然可用。

在某些情况下,作为升级过程的一部分,Neptune 会为您创建手动快照,但您不应依赖此快照,无论如何都应创建自己的手动快照。

当您确定不需要将数据库集群恢复到其升级前的状态时,可以显式删除自己创建的手动快照以及 Neptune 可能已创建的手动快照。如果 Neptune 创建手动快照,则其名称将以 preupgrade 开头,后跟数据库集群的名称、源引擎版本、目标引擎版本和日期。

注意

如果您在待处理操作正在进行时尝试升级,则可能会遇到如下错误:

We're sorry, your request to modify DB cluster (cluster identifier) has failed. Cannot modify engine version because instance (instance identifier) is running on an old configuration. Apply any pending maintenance actions on the instance before proceeding with the upgrade.

如果遇到此错误,请等待待处理操作完成,或者立即触发维护时段,让之前的升级完成。

有关升级引擎版本的更多信息,请参阅维护 Amazon Neptune 数据库集群。如果您有任何问题或疑问,可通过社区论坛和 AWS Premium Support 联系 AWS Support 团队。