

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.

# Bonnes pratiques Neptune avec openCypher et Bolt
<a name="best-practices-opencypher"></a>

Suivez ces bonnes pratiques lorsque vous utilisez le langage de requête openCypher et le protocole Bolt avec Neptune. Pour plus d'informations sur l'utilisation d'openCypher dans Neptune, consultez [Accès au graphe Neptune avec openCypher](access-graph-opencypher.md).

**Topics**
+ [Création d'une connexion après un basculement](#best-practices-opencypher-renew-connection)
+ [Gestion des connexions pour les applications de longue durée](#best-practices-opencypher-long-connections)
+ [Gestion des connexions pour AWS Lambda](#best-practices-opencypher-lambda-connections)
+ [Préférer les arêtes dirigées aux arêtes bidirectionnelles dans les requêtes](best-practices-opencypher-directed-edges.md)
+ [Neptune ne prend pas en charge plusieurs requêtes simultanées dans une transaction](best-practices-opencypher-multiple-queries.md)
+ [Fermer les objets Driver lorsque vous avez terminé](best-practices-opencypher-close-driver.md)
+ [Utilisation des modes de transaction explicites pour la lecture et l'écriture](best-practices-opencypher-use-explicit-txs.md)
+ [Logique des nouvelles tentatives pour les exceptions](best-practices-opencypher-retry-logic.md)
+ [Définissez plusieurs propriétés à la fois à l'aide d'une seule clause SET](best-practices-content-0.md)
+ [Utilisation des requêtes paramétrées](best-practices-content-2.md)
+ [Utilisez des cartes aplaties au lieu de cartes imbriquées dans la clause UNWIND](best-practices-content-3.md)
+ [Placez des nœuds plus restrictifs sur le côté gauche dans les expressions VLP (Variable-Length Path)](best-practices-content-4.md)
+ [Évitez les vérifications redondantes des étiquettes des nœuds en utilisant des noms de relations granulaires](best-practices-content-5.md)
+ [Spécifiez les étiquettes de bord dans la mesure du possible](best-practices-content-6.md)
+ [Évitez d'utiliser la clause WITH dans la mesure du possible](best-practices-content-7.md)
+ [Placez les filtres restrictifs le plus tôt possible dans la requête](best-practices-content-8.md)
+ [Vérifiez explicitement si les propriétés existent](best-practices-content-9.md)
+ [N'utilisez pas de chemin nommé (sauf si cela est obligatoire)](best-practices-content-10.md)
+ [Évitez COLLECT (DISTINCT ())](best-practices-content-11.md)
+ [Préférez la fonction de propriétés à la recherche de propriétés individuelle lors de la récupération de toutes les valeurs de propriété](best-practices-content-12.md)
+ [Effectuer des calculs statiques en dehors de la requête](best-practices-content-13.md)
+ [Entrées par lots utilisant UNWIND au lieu d'instructions individuelles](best-practices-content-14.md)
+ [Préférez utiliser la personnalisation IDs pour le nœud ou la relation](best-practices-content-15.md)
+ [Évitez de faire des calculs \~id dans la requête](best-practices-content-16.md)
+ [Mise à jour/fusion de plusieurs nœuds](best-practices-merge-multiple-nodes.md)

## Création d'une connexion après un basculement
<a name="best-practices-opencypher-renew-connection"></a>

En cas de basculement, le pilote Bolt peut continuer à se connecter à l'ancienne instance d'enregistreur plutôt qu'à la nouvelle instance active, car le nom DNS a été résolu en une adresse IP spécifique.

Pour éviter cela, fermez puis reconnectez l'objet `Driver` après un basculement.

## Gestion des connexions pour les applications de longue durée
<a name="best-practices-opencypher-long-connections"></a>

Lorsque vous créez des applications à longue durée de vie, telles que celles qui s'exécutent dans des conteneurs ou sur des instances Amazon EC2, instanciez un objet `Driver` une fois, puis réutilisez-le pendant toute la durée de vie de l'application. L'objet `Driver` est thread-safe, et la surcharge entraînée par l'initialisation est considérable.

## Gestion des connexions pour AWS Lambda
<a name="best-practices-opencypher-lambda-connections"></a>

Les pilotes Bolt ne sont pas recommandés pour une utilisation dans AWS Lambda les fonctions, en raison de leur surcharge de connexion et des exigences de gestion. Utilisez plutôt le [point de terminaison HTTPS](access-graph-opencypher-queries.md).