

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Mode expérimental Neptune
<a name="features-lab-mode"></a>

Vous pouvez utiliser le *mode laboratoire* d'Amazon Neptune pour activer les nouvelles fonctionnalités présentes dans la version actuelle du moteur Neptune, mais qui ne sont pas encore prêtes à être utilisées en production et ne sont pas activées par défaut. Cela vous permet de tester ces fonctionnalités dans vos environnements de développement et de test.

## Utilisation du mode expérimental Neptune
<a name="features-lab-mode-using"></a>

Utilisez le [paramètre de cluster de bases de données `neptune_lab_mode`](parameters.md#parameters-db-cluster-parameters-neptune_lab_mode) pour activer ou désactiver des fonctionnalités. Pour ce faire, vous devez inclure `(feature name)=enabled` ou `(feature name)=disabled` dans la valeur du paramètre `neptune_lab_mode` dans le groupe de paramètres de cluster de bases de données.

Par exemple, dans cette version de moteur, vous pouvez définir le paramètre `neptune_lab_mode` sur `Streams=disabled, ReadWriteConflictDetection=enabled`.

Pour plus d'informations sur la modification du groupe de paramètres de cluster de bases de données pour votre base de données, consultez [Modification d'un groupe de paramètres](parameter-groups.md#parameters-editgroup). Notez que vous ne pouvez pas modifier le groupe de paramètres de cluster de bases de données par défaut. Si vous utilisez le groupe par défaut, vous devez créer un groupe de paramètres de cluster de bases de données pour pouvoir définir le paramètre `neptune_lab_mode`.

**Note**  
Lorsque vous modifiez un paramètre de cluster de bases de données statique (par exemple, `neptune_lab_mode`), vous devez redémarrer l'instance principale (enregistreur) du cluster pour que la modification prenne effet. Avant la [Sortie : 1.2.0.0 (21/07/2022)](engine-releases-1.2.0.0.md), tous les réplicas en lecture d'un cluster de bases de données étaient automatiquement redémarrés lors du redémarrage de l'instance principale.  
À compter de la [Sortie : 1.2.0.0 (21/07/2022)](engine-releases-1.2.0.0.md), le redémarrage de l'instance principale n'entraîne le redémarrage d'aucun des réplicas. En d'autres termes, vous devez redémarrer chaque instance séparément pour récupérer une modification des paramètres du cluster de bases de données (voir [Groupes de paramètres](parameter-groups.md)).

**Important**  
À l'heure actuelle, si vous fournissez de mauvais paramètres en mode expérimental ou si votre demande échoue pour une autre raison, il se peut que vous ne soyez pas informé de l'échec. Vous devez toujours vérifier qu'une demande de changement en mode expérimental a abouti en appelant l'[API de statut](access-graph-status.md) comme indiqué ci-dessous :  

```
curl -G https://your-neptune-endpoint:port/status
```
Les résultats de statut incluent des informations relatives au mode expérimental. Elles indiquent si les modifications que vous avez demandées ont été apportées ou non :  

```
{
  "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"}
}
```

Les fonctionnalités suivantes sont actuellement accessibles en mode laboratoire :

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

Neptune peut désormais gérer un quatrième index, à savoir l'index OSGP, qui s'avère utile pour les jeux de données comportant un grand nombre de prédicats (voir [Activation d'un index OSGP](feature-overview-storage-indexing.md#feature-overview-storage-indexing-osgp)).

Vous pouvez activer un index OSGP dans un nouveau cluster de bases de données Neptune vide en définissant `ObjectIndex=enabled` dans le paramètre de cluster de bases de données `neptune_lab_mode`. Un index OSGP **ne peut être activé** que dans un nouveau cluster de bases de données vide.

Par défaut, l'index OSGP est désactivé.

**Note**  
Après avoir défini le paramètre du cluster de bases de données `neptune_lab_mode` afin d'activer l'index OSGP, vous devez redémarrer l'instance d'enregistreur du cluster pour que la modification prenne effet.

**Avertissement**  
Si vous désactivez un index OSGP activé en le définissant sur `ObjectIndex=disabled`, puis en le réactivant ultérieurement après avoir ajouté des données supplémentaires, il ne sera pas créé correctement. La reconstruction à la demande de l'index n'étant pas prise en charge, vous ne devez activer l'index OSGP que lorsque la base de données est vide.

## Activer la collecte des déchets dans les dictionnaires
<a name="features-lab-mode-features-gc"></a>

La collecte des déchets du dictionnaire peut être activée pour les données du graphe de propriétés lorsque neptune-streams n'est pas activé via le paramètre. `DictionaryGCMode` La simultanéité peut être contrôlée via le `DictionaryGCConcurrency` paramètre. Pour plus d’informations, consultez [Dictionnaire de collecte des déchets](storage-gc.md).

## Sémantique des transactions formalisée
<a name="features-lab-mode-features-transaction-semantics"></a>

Neptune a mis à jour la sémantique formelle des transactions simultanées (voir [Sémantique des transactions dans Neptune](transactions.md)).

Utilisez `ReadWriteConflictDetection` comme nom dans le paramètre `neptune_lab_mode` qui active ou désactive la sémantique de transaction formalisée.

Par défaut, la sémantique des transactions formalisée est déjà activée. Si vous souhaitez revenir au comportement antérieur, incluez `ReadWriteConflictDetection=disabled` dans la valeur définie pour le paramètre `neptune_lab_mode` du cluster de bases de données.

## Support date/heure étendu
<a name="labmode-extended-datetime-support"></a>

 Neptune a étendu la prise en charge de la fonctionnalité datetime. Pour activer la date et l'heure avec des formats étendus, `DatetimeMillisecond=enabled` incluez-le dans la valeur définie pour le `neptune_lab_mode` paramètre DB Cluster. 

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

**Note**  
Cette fonctionnalité est disponible à partir de la [version 1.3.2.0 du moteur Neptune](engine-releases-1.3.2.0.md).

 Valeur par défaut : activé (désactivé par défaut avant la [version 1.4.0.0 du moteur Neptune](engine-releases-1.4.0.0.md)) 

 Valeurs autorisées : activées/désactivées 

 Lorsque ce paramètre est défini`enabled`, une valeur de délai par requête spécifiée sous forme d'option de demande ou d'indice de requête ne peut pas dépasser la valeur définie globalement dans le réglage du groupe de [`neptune_query_timeout`](parameters.md#parameters-db-cluster-parameters-neptune_query_timeout)paramètres. Si le délai d'expiration par requête dépasse le paramètre global, Neptune lance un. `InvalidParameterException` Dans les versions du moteur antérieures à la version 1.4.0.0, ce paramètre était `disabled` par défaut et devait être explicitement activé. 

 Ce paramètre peut être confirmé dans une réponse sur le `/status` terminal lorsque la valeur est`disabled`. 

 Pour de plus amples informations, veuillez consulter [Délais d'expiration au niveau de chaque requête](best-practices-gremlin-java-per-query-timeout.md). 

## QRCMemoryEstimation précise
<a name="labmode-AccurateQRCMemoryEstimation"></a>

**Note**  
Cette fonctionnalité est disponible à partir de la [version 1.4.0.0 du moteur Neptune](engine-releases-1.4.0.0.md).

 Valeur par défaut : désactivé 

 Valeurs autorisées : activées/désactivées 

 Le [cache des résultats des requêtes Gkremlin](https://docs.aws.amazon.com//neptune/latest/userguide/gremlin-results-cache.html), lorsqu'il est activé, permet de mettre en cache les résultats des requêtes dans la base de données. Par défaut, l'estimation approximative est utilisée pour déterminer la taille du résultat mis en cache. Lorsque ce paramètre du mode laboratoire est `AccurateQRCMemoryEstimation` activé, l'estimation de la taille des résultats mis en cache utilisera des estimations de taille précises plutôt qu'approximatives. Ce paramètre labmode est disponible à partir de la version 1.4.0.0 du moteur Neptune. 