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 : optimisation de Neptune
Voici quelques recommandations d'ordre général pour utiliser Amazon Neptune. Utilisez ces informations comme référence pour trouver rapidement des recommandations sur l'utilisation d'Amazon Neptune et l'optimisation des performances.
Table des matières
- Directives opérationnelles de base Amazon Neptune
- Bonnes pratiques de sécurité pour Amazon Neptune
- Éviter différentes classes d'instances dans un cluster
- Éviter les redémarrages répétés pendant le chargement en bloc
- Activez l'OSGPindex si vous avez un grand nombre de prédicats
- Éviter les transactions de longue durée dans la mesure du possible
- Bonnes pratiques pour l'utilisation des métriques Neptune
- Bonnes pratiques pour le réglage des requêtes Neptune
- Équilibrage de charge entre les réplicas en lecture
- Chargement plus rapide à l'aide d'une instance temporaire de plus grande taille
- Redimensionnement de l'instance d'enregistreur en basculant vers un réplica en lecture
- Nouvelle tentative de chargement après une erreur d'interruption de tâche de lecture anticipée des données
- Bonnes pratiques d'ordre général pour l'utilisation de Gremlin avec Neptune
- Structurez les requêtes Upsert pour tirer parti du moteur DFE
- Testez le code Gremlin dans le contexte dans lequel vous allez le déployer
- Création d'écritures Gremlin multithreads efficaces
- Élagage des enregistrements avec la propriété de date/heure de création
- Utilisation de la méthode datetime( ) pour les données temporelles Groovy
- Utilisation de la date et de l'heure natives pour les données GLV temporelles
- Bonnes pratiques pour l'utilisation du client Java Gremlin avec Neptune
- Utiliser la dernière version compatible du client TinkerPop Java Apache
- Réutilisation de l'objet client dans plusieurs threads
- Création d'objets client Java Gremlin distincts pour les points de terminaison en lecture et en écriture
- Ajout de plusieurs points de terminaison de réplica en lecture à un groupe de connexions Java Gremlin
- Fermeture du client pour éviter de limiter les connexions
- Création d'une connexion après un basculement
- Définition de maxInProcessPerConnection et maxSimultaneousUsagePerConnection sur la même valeur
- Envoi de requêtes au serveur sous la forme de bytecode et non de chaînes
- Consommez toujours complètement l'itérateur ResultSet ou l'itérateur renvoyé par une requête
- Ajout en bloc de sommets et d'arêtes dans des lots
- Désactiver la mise en DNS cache dans la machine virtuelle Java
- Définition facultative de délais d'expiration au niveau de chaque requête
- Résolution des problèmes de java.util.concurrent.TimeoutException
- Meilleures pratiques de Neptune en matière d'utilisation openCypher de and Bolt
- Création d'une connexion après un basculement
- Gestion des connexions pour les applications de longue durée
- Gestion des connexions pour AWS Lambda
- Préférer les arêtes dirigées aux arêtes bidirectionnelles dans les requêtes
- Neptune ne prend pas en charge plusieurs requêtes simultanées dans une transaction
- Fermer les objets Driver lorsque vous avez terminé
- Utilisation des modes de transaction explicites pour la lecture et l'écriture
- Logique des nouvelles tentatives pour les exceptions
- Définissez plusieurs propriétés à la fois à l'aide d'une seule SET clause
- Utiliser des requêtes paramétrées
- Utiliser des cartes aplaties au lieu de cartes imbriquées dans la clause UNWIND
- Placez des nœuds plus restrictifs sur le côté gauche dans les expressions Variable-Length Path () VLP
- Évitez les vérifications redondantes des étiquettes des nœuds en utilisant des noms de relations granulaires
- Spécifiez les étiquettes de bord dans la mesure du possible
- Évitez d'utiliser la WITH clause dans la mesure du possible
- Placez les filtres restrictifs le plus tôt possible dans la requête
- Vérifiez explicitement si les propriétés existent
- N'utilisez pas de chemin nommé (sauf si cela est obligatoire)
- Évitez COLLECT (DISTINCT())
- 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é
- Effectuez des calculs statiques en dehors de la requête
- Entrées par lots utilisant des instructions UNWIND plutôt que des instructions individuelles
- Préférez utiliser la personnalisation IDs pour le nœud ou la relation
- Évitez de faire des calculs ~id dans la requête
- Meilleures pratiques d'utilisation de Neptune SPARQL