

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 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>

當 neptune-streams 未透過 `DictionaryGCMode` 參數啟用時，可以為屬性圖形資料啟用字典垃圾收集。並行可以透過 `DictionaryGCConcurrency` 參數控制。如需詳細資訊，請參閱[字典垃圾回收](storage-gc.md)。

## 正規化的交易語意
<a name="features-lab-mode-features-transaction-semantics"></a>

Neptune 已更新並行交易的正式語義 (請參閱 [Neptune 中的交易語意](transactions.md))。

在啟用或停用格式化交易語義的 `neptune_lab_mode` 參數中，使用 `ReadWriteConflictDetection` 做為名稱。

根據預設，已啟用正規化的交易語意。如果您想要還原為先前行為，請將 `ReadWriteConflictDetection=disabled` 併入針對資料庫叢集 `neptune_lab_mode` 參數設定的值中。

## 延長日期時間支援
<a name="labmode-extended-datetime-support"></a>

 Neptune 已擴充對日期時間功能的支援。若要使用擴充格式啟用日期時間，`DatetimeMillisecond=enabled`請在資料庫叢集`neptune_lab_mode`參數的值集中包含 。

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

**注意**  
從 [Neptune 引擎版本 1.3.2.0 ](engine-releases-1.3.2.0.md)開始，即可使用此功能。

 預設值：已啟用 （在 [Neptune 引擎版本 1.4.0.0](engine-releases-1.4.0.0.md) 之前預設為停用） 

 允許的值：啟用/停用 

 當此參數為 時`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)。

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

**注意**  
從 [Neptune 引擎版本 1.4.0.0 ](engine-releases-1.4.0.0.md)開始，即可使用此功能。

 預設值：停用 

 允許的值：啟用/停用 

 [Gremlin 查詢結果快取](https://docs.aws.amazon.com//neptune/latest/userguide/gremlin-results-cache.html)啟用時，允許在資料庫上快取查詢結果。透過停用，近似值估算用於判斷快取結果的大小，啟用此實驗室模式參數時`AccurateQRCMemoryEstimation`，快取結果的大小估算將使用準確的大小估算，而不是近似值。此 實驗室模式參數從 Neptune 引擎版本 1.4.0.0 開始可用。