

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

# Neptune 实验室模式
<a name="features-lab-mode"></a>

您可以使用 Amazon Neptune *实验室模式*启用当前 Neptune 引擎版本中新增的、但尚未准备好用于生产环境因而默认未启用的特征。这让您能够在开发和测试环境中试用这些功能。

## 使用 Neptune 实验室模式
<a name="features-lab-mode-using"></a>

使用 [`neptune_lab_mode` 数据库集群参数](parameters.md#parameters-db-cluster-parameters-neptune_lab_mode)来启用或禁用特征。为此，您可以在数据库集群参数组的 `neptune_lab_mode` 参数值中包含 `(feature name)=enabled` 或 `(feature name)=disabled`。

例如，在该引擎版本中，您可以将 `neptune_lab_mode` 参数设置为 `Streams=disabled, ReadWriteConflictDetection=enabled`。

有关如何编辑数据库的数据库集群参数组的信息，请参阅 [编辑参数组](parameter-groups.md#parameters-editgroup)。请注意，您无法编辑默认的数据库集群参数组。如果使用默认组，则必须先创建一个新的数据库集群参数组，然后才能设置 `neptune_lab_mode` 参数。

**注意**  
当您更改静态数据库集群参数（例如 `neptune_lab_mode`）时，必须重启集群的主（写入器）实例才能使更改生效。在[版本：1.2.0.0（2022 年 7 月 21 日）](engine-releases-1.2.0.0.md) 之前，数据库集群中的所有只读副本将在主实例重启时自动重启。  
从[版本：1.2.0.0（2022 年 7 月 21 日）](engine-releases-1.2.0.0.md) 开始，重启主实例不会导致任何副本重启。这意味着您必须分别重启每个实例，才能获得数据库集群参数的更改（请参阅[参数组](parameter-groups.md)）。

**重要**  
目前，如果您提供了错误的实验室模式参数，或者您的请求由于其它原因而失败，则可能不会收到失败的通知。您应始终通过调用[状态 API](access-graph-status.md) 来验证实验室模式更改请求是否成功，如下所示：  

```
curl -G https://your-neptune-endpoint:port/status
```
状态结果包括实验室模式信息，这些信息将显示您请求的更改是否已完成：  

```
{
  "status":"healthy",
  "startTime":"Wed Dec 29 02:29:24 UTC 2021",
  "dbEngineVersion":"development",
  "role":"writer",
  "dfeQueryEngine":"viaQueryHint",
  "gremlin":{"version":"tinkerpop-3.5.2"},
  "sparql":{"version":"sparql-1.1"},
  "opencypher":{"version":"Neptune-9.0.20190305-1.0"},
  "labMode":{
    "ObjectIndex":"disabled",
    "ReadWriteConflictDetection":"enabled"
  },
  "features":{
    "LookupCache":{"status":"Available"},
    "ResultCache":{"status":"disabled"},
    "IAMAuthentication":"disabled",
    "Streams":"disabled",
    "AuditLog":"disabled"
  },
  "settings":{"clusterQueryTimeoutInMs":"120000"}
}
```

当前使用实验室模式可以访问以下特征：

## OSGP 索引
<a name="features-lab-mode-features-osgp-index"></a>

Neptune 现在可以维护第四个索引，即 OSGP 索引，这对于具有大量谓词的数据集非常有用（请参阅[启用 OSGP 索引](feature-overview-storage-indexing.md#feature-overview-storage-indexing-osgp)）。

通过在 `neptune_lab_mode` 数据库集群参数中设置 `ObjectIndex=enabled`，可以在新且空的 Neptune 数据库集群中启用 OSGP 索引。**只能**在新且空的数据库集群中启用 OSGP 索引。

默认情况下，OSGP 索引处于禁用状态。

**注意**  
设置 `neptune_lab_mode` 数据库集群参数以启用 OSGP 索引后，必须重启集群的写入器实例才能使更改生效。

**警告**  
如果您通过设置 `ObjectIndex=disabled` 禁用已启用的 OSGP 索引，然后在添加更多数据后将其重新启用，则该索引将无法正确构建。不支持按需重建索引，因此，只有在数据库为空时才应启用 OSGP 索引。

## 启用字典垃圾回收
<a name="features-lab-mode-features-gc"></a>

如果未通过 `DictionaryGCMode` 参数启用 neptune-streams，则可以为属性图形数据启用字典垃圾回收。可通过 `DictionaryGCConcurrency` 参数控制并发度。有关更多信息，请参阅[字典垃圾回收](storage-gc.md)。

## 形式化事务语义
<a name="features-lab-mode-features-transaction-semantics"></a>

Neptune 更新了并发事务的形式语义（请参阅[Neptune 中的事务语义](transactions.md)）。

在 `neptune_lab_mode` 参数中，将 `ReadWriteConflictDetection` 用作启用或禁用形式化事务语义的功能名称。

默认情况下，已启用形式化事务语义。如果要恢复为以前的行为，请在为数据库集群 `neptune_lab_mode` 参数设置的值中包含 `ReadWriteConflictDetection=disabled`。

## 扩展日期时间支持
<a name="labmode-extended-datetime-support"></a>

 Neptune 扩展了对日期时间功能的支持。要启用扩展了格式的日期时间，请在为数据库集群 `neptune_lab_mode` 参数设置的值中包含 `DatetimeMillisecond=enabled`。

## StrictTimeoutValidation
<a name="labmode-StrictTimeoutValidation"></a>

**注意**  
此功能从 Nep [tune 引擎版本](engine-releases-1.3.2.0.md) 1.3.2.0 开始可用。

 默认值：启用（在 Nep [tune 引擎版本](engine-releases-1.4.0.0.md) 1.4.0.0 之前默认处于禁用状态） 

 允许的值：已启用/已禁用 

 当此参数为时`enabled`，指定为请求选项或查询提示的每个查询的超时值不能超过[`neptune_query_timeout`](parameters.md#parameters-db-cluster-parameters-neptune_query_timeout)参数组设置中全局设置的值。如果每个查询的超时时间超过全局设置，Neptune 会抛出。`InvalidParameterException`在 1.4.0.0 之前的引擎版本中，此参数为`disabled`默认值，必须明确启用。

 当值为时，可以在`/status`端点的响应中确认此设置`disabled`。

 有关更多信息，请参阅 [每个查询的超时](best-practices-gremlin-java-per-query-timeout.md)。

## 准确QRCMemory估计
<a name="labmode-AccurateQRCMemoryEstimation"></a>

**注意**  
此功能从 Nep [tune 引擎版本](engine-releases-1.4.0.0.md) 1.4.0.0 开始可用。

 默认值：已禁用 

 允许的值：已启用/已禁用 

 [Gremlin 查询结果缓存](https://docs.aws.amazon.com//neptune/latest/userguide/gremlin-results-cache.html)启用后，允许在数据库上缓存查询结果。默认情况下，近似估计值用于确定缓存结果的大小，启用此实验室模式参数 `AccurateQRCMemoryEstimation` 后，缓存结果的大小估计值将使用准确的大小估计值而不是近似值。此实验室模式参数从 Neptune 引擎发行版本 1.4.0.0 开始可用。