

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Neptune ラボモード
<a name="features-lab-mode"></a>

Amazon Neptune *ラボモード*を使用して、現在の Neptune エンジンリリースの新機能を有効にできますが、まだ本番環境で使用できず、デフォルトで有効にはできません。開発環境およびテスト環境でこれらの機能を試すことができます。

## Neptune ラボモードの使用
<a name="features-lab-mode-using"></a>

[`neptune_lab_mode`​ DB クラスターパラメータ](parameters.md#parameters-db-cluster-parameters-neptune_lab_mode) 使用して、機能を有効または無効にします。これを行うには、DB クラスターパラメータグループの `neptune_lab_mode` パラメータの値に `{{(feature name)}}=enabled` または `{{(feature name)}}=disabled` を含めます。

たとえば、このエンジンリリースでは、`neptune_lab_mode` パラメータを `Streams=disabled, ReadWriteConflictDetection=enabled` に設定できます。

データベースの DB クラスターパラメータグループを編集する方法については、「[パラメータグループを編集する](parameter-groups.md#parameters-editgroup)」を参照してください。デフォルトの DB クラスターパラメータグループは編集できません。デフォルトのグループを使用している場合は、`neptune_lab_mode` パラメータを設定する前に、新しい DB クラスターパラメータグループを作成する必要があります。

**注記**  
`neptune_lab_mode` などの静的 DB クラスターパラメータを変更した場合、変更を有効にするには、クラスターのプライマリ (ライター) インスタンスを再起動する必要があります。[リリース: 1.2.0.0 (2022-07-21)](engine-releases-1.2.0.0.md) より前は、DB クラスター内のすべてのリードレプリカインスタンスは、プライマリインスタンスが再起動すると自動的に再起動されていました。  
[リリース: 1.2.0.0 (2022-07-21)](engine-releases-1.2.0.0.md) 以降では、プライマリインスタンスを再起動しても、レプリカは再起動しません。つまり、DB クラスターパラメータの変更を反映するには、各インスタンスを個別に再起動する必要があります (「[パラメータグループ](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 は、4 番目のインデックスとして OSGP インデックスを保持できるようになりました。これは、多数の述語を持つデータセットに役立つインデックスです ([OSGP インデックスの有効化](feature-overview-storage-indexing.md#feature-overview-storage-indexing-osgp) を参照してください)。

新しい空の Neptune DB クラスターで OSGP インデックスを有効にするには、`neptune_lab_mode` DB クラスターのパラメータで `ObjectIndex=enabled` を設定します。OSGP インデックスは、新しい空の DB クラスターで**のみ**有効にできます。

デフォルトでは、OSGP インデックスは無効になっています。

**注記**  
OSGP インデックスを有効にするように `neptune_lab_mode` DB クラスターパラメータを設定したら、変更を有効にするためにクラスターのライターインスタンスを再起動する必要があります。

**警告**  
`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` を使用します。

デフォルトでは、形式化されたトランザクションセマンティクスは既に有効になっています。以前の動作に戻す場合は、DB Cluster `neptune_lab_mode` パラメータの値に `ReadWriteConflictDetection=disabled` を含めます。

## 拡張日時サポート
<a name="labmode-extended-datetime-support"></a>

 Neptune では、日時機能のサポートが拡張されています。拡張形式で日時を有効にするには、DB クラスター `neptune_lab_mode` パラメータに設定された値に `DatetimeMillisecond=enabled` を配置します。

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

 このパラメータが の場合`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)以降で使用できます。

 デフォルト値: disabled 

 有効な値: enabled/disabled 

 [Gremlin クエリ結果キャッシュ](https://docs.aws.amazon.com//neptune/latest/userguide/gremlin-results-cache.html)を有効にすると、データベースでのクエリ結果のキャッシュが許可されます。概算見積りはキャッシュに保存された結果のサイズを決定するために使用されます。このラボモードパラメータ `AccurateQRCMemoryEstimation` を有効にすると、キャッシュに保存された結果のサイズ見積りには概算ではなく正確なサイズの見積りが使用されます。このパラメータは Neptune エンジンリリース 1.4.0.0 以降でご利用いただけます。