Questions fréquentes (FAQ) pour Amazon Neptune

Questions d’ordre général

Amazon Neptune est un service qui inclut un moteur de base de données orientée graphe, un moteur de base de données d'analyse de graphes, un machine learning (ML) de graphe et des outils de visualisation, qui peuvent être utilisés individuellement ou conjointement. Le service Neptune facilite l'utilisation des données graphiques sur AWS. Amazon Neptune Database vous permet de dimensionner vos graphes avec plus de 100 000 requêtes par seconde pour les applications les plus exigeantes grâce à une base de données orientée graphe sans serveur conçue pour une capacité de mise à l'échelle et une disponibilité supérieures. Amazon Neptune Analytics vous permet d'obtenir des informations et d'identifier des tendances en traitant rapidement de grandes quantités de données graphiques. Vous pouvez obtenir des résultats en quelques secondes en invoquant des algorithmes d’analyse de graphes populaires.

Amazon Neptune Database est une base de données orientée graphe conçue à cet effet, avec un ensemble complet de fonctionnalités et d'intégrations pour les entreprises. Neptune Database prend en charge les applications graphiques critiques qui nécessitent une haute disponibilité, une reprise après sinistre, une évolutivité dynamique et d'autres fonctionnalités requises par les applications d'entreprise.

Neptune Analytics est un moteur de base de données analytique permettant d'analyser rapidement de grandes quantités de données graphiques afin d'obtenir des informations et de trouver des tendances.

Neptune ML est une nouvelle fonctionnalité de la base de données Neptune qui utilise les réseaux neuronaux graphiques (GNN), une technique de ML pour les graphiques, pour réaliser des prédictions rapides et plus précises en utilisant les données des graphiques.

Neptune Database, avec les outils de développement Neptune, constituent le choix idéal pour créer des systèmes stratégiques à grande échelle. Les systèmes tels que les moteurs de recommandation de produits, les systèmes de gestion des identités et des accès et les systèmes de conformité nécessitent souvent des fonctionnalités géographiquement distribuées qui sont disponibles dans la base de données mondiale Neptune. Neptune Database stocke des dizaines de milliards de relations et peut traiter des centaines de milliers de requêtes graphiques interactives par seconde.

Neptune Analytics, avec les blocs-notes Neptune, constitue le bon choix pour interagir avec les données afin d'en tirer des informations. Ces fonctionnalités permettent aux utilisateurs d'interagir avec les données à l'aide d'outils familiers, tels que Pandas, Jupyter et Python, pour découvrir et identifier les interactions et les modèles de comportement dans les données qui indiquent une fraude, des activités illégales, des opportunités d'optimisation, etc.

Parmi les cas d'utilisation courants de Neptune Analytics, citons l'analyse éphémère, l'exécution de requêtes analytiques à faible latence, l'exécution d'algorithmes graphiques intégrés et la recherche de similarité vectorielle. Grâce à la recherche par similarité vectorielle, Neptune Analytics peut être utilisé pour créer des applications RAG (Retrieval Augmented Generation - Génération augmentée de récupération) qui effectuent des recherches dans des représentations de données denses fournies par des intégrations. Les résultats de la recherche vectorielle peuvent être combinés avec des représentations de données contextuelles dans des graphiques afin de fournir des informations contextuelles riches relatives aux relations.

Neptune ML peut être utilisé pour concevoir, créer, optimiser et prédire des relations et des catégorisations à l'aide de réseaux neuronaux graphiques (GNN) de pointe. Pour étoffer les tables de caractéristiques, Neptune Analytics peut être utilisé pour détourner des fonctionnalités essentielles de données connectées à l'aide d'algorithmes courants tels que le regroupement en clusters, la centralité et la recherche d'itinéraires.

Oui. Veuillez consulter le contrat de niveau de service Amazon Neptune.

Neptune Database

Oui. Veuillez consulter le contrat de niveau de service Amazon Neptune. Neptune Database prend en charge deux langages de requête pour le modèle de données des graphes de propriétés, le langage de parcours open source Apache TinkerPop Gremlin et le langage de requête openCypher. Pour le modèle de données Resource Description Framework (RDF), Neptune prend en charge le langage de requête W3C open standard SPARQL.

Oui, chaque cluster Neptune Database peut stocker à la fois des données des graphes de propriétés et des données RDF. Neptune fournit un point de terminaison Gremlin (HTTPS et WebSocket), un point de terminaison openCypher (HTTPS et Bolt) et un point de terminaison SPARQL 1.1 Protocol REST.

Pour les graphes de propriétés, vous pouvez exécuter une requête Gremlin ou openCypher sur les mêmes données, quelle que soit le langage utilisé pour saisir ces données. Vous trouverez peut-être plus pratique d'utiliser Gremlin pour certaines charges de travail et openCypher pour d'autres. Vous ne pouvez pas exécuter une requête pour des données de graphes de propriétés (Gremlin ou openCypher) sur des données RDF ou vice-versa.

Neptune Database fournit un serveur Gremlin d'Apache TinkerPop qui prend en charge les connexions HTTPS et WebSocket. Une fois que vous avez alloué une instance de Neptune, vous pouvez configurer votre application TinkerPop existante pour utiliser le point de terminaison fourni par le service. Voir également la section dédiée à l’accès au graphe via Gremlin.

Non, le serveur Gremlin de Neptune prend en charge les clients qui sont compatibles avec Apache TinkerPop en utilisant à la fois les connexions WebSocket et HTTPS REST. La dernière version de Neptune Database est compatible avec TinkerPop 3.6.x. Pour en savoir plus, consultez la documentation.

Grâce à la prise en charge du langage de requête openCypher par Neptune, vous pouvez transférer vers Neptune la plupart des charges de travail Cypher ou Neo4j utilisant le protocole Bolt ou HTTPS. Pour en savoir plus sur la façon de migrer une application openCypher, consultez le Guide de migration dans la documentation.

Neptune fournit un point de terminaison HTTPS REST qui implémente le protocole SPARQL 1.1. Une fois que vous avez provisionné une instance de service, vous pouvez configurer votre application afin qu’elle soit dirigée vers le point de terminaison SPARQL. Consultez également la section dédiée à l’accès au graphe via SPARQL.

Non, le point de terminaison SPARQL de Neptune fonctionne avec n'importe quel client prenant en charge le protocole SPARQL 1.1.

Oui, Neptune est conforme à la norme ACID en termes de cohérence immédiate sur l'instance du scripteur principal et de cohérence éventuelle sur les instances du réplica en lecture.

Neptune Database est un moteur de base de données orientée graphe conçu à cet effet et hautes performances. Pour certaines fonctions de gestion, comme la gestion de cycle de vie d'instance, le chiffrement au repos avec les clés AWS Key Management Service (AWS KMS) et la gestion de groupes de sécurité, Neptune utilise une technologie opérationnelle partagée avec Amazon Relational Database Service (Amazon RDS).

Neptune Database est conçu pour prendre en charge les applications orientées graphes qui nécessitent un grand débit et des requêtes de graphe à faible latence. Supportant jusqu’à quinze réplicas en lecture, Neptune Database peut prendre en charge des centaines de milliers de requêtes par seconde.

Oui, Neptune utilise l’optimisation des requêtes pour les requêtes Gremlin, openCypher et SPARQL. Pour en savoir plus, consultez la section dédiée au moteur de requête alternatif (DFE) Amazon Neptune.

Non, Neptune est un moteur de base de données orientée graphe spécialisé et hautes performances. Neptune stocke et parcourt efficacement les données de graphe. Le service utilise une architecture optimisée en mémoire et dimensionnée à la hausse pour rendre possible l'évaluation de requête sur des graphes de grande taille.

Pour en savoir plus sur la tarification actuelle, consultez notre page de tarification.

Pour en savoir plus sur les régions AWS dans lesquelles Neptune Database est disponible, consultez le tableau des régions AWS.

Non. La réplication d'Amazon Neptune est comprise dans le prix. Vous êtes facturé en fonction de l'espace de stockage que consomme votre base de données au niveau de la couche de base de données, et non pas en fonction de l'espace de stockage consommé dans la couche de stockage virtualisée de Neptune.

Neptune Database a été conçue pour supprimer toutes les opérations d'E/S inutiles, afin de réduire les coûts et de garantir la disponibilité des ressources dans le but de gérer le trafic de lecture/écriture. Les E/S en écriture sont uniquement consommées lorsque vous transférez les fichiers journaux des transactions vers la couche de stockage afin d'augmenter la durabilité des écritures. Les opérations d'E/S en écriture sont comptées en unités de 4 Ko. Par exemple, un fichier journal de transactions de 1 024 octets comptera comme une opération d'E/S.

Cependant, les opérations d'écriture simultanées dont le fichier journal de transactions est inférieur à 4 Ko peuvent être traitées par lots par le moteur de base de données Neptune afin d'optimiser la consommation des E/S. À la différence des moteurs de base de données traditionnels, Neptune ne transfère jamais des pages de base de données modifiées vers la couche de stockage, ce qui permet de réduire encore davantage votre consommation d'E/S.

L'espace de stockage minimal est de 10 Go. Selon l'usage que vous faites de votre base de données, votre stockage Neptune augmentera automatiquement jusqu'à 128 To, par paliers de 10 Go, sans affecter la performance de la base de données. Il n'est pas nécessaire de prévoir un espace de stockage.

Vous pouvez mettre à l’échelle les ressources de calcul allouées à votre instance de base de données dans la Console de gestion AWS en sélectionnant l’instance de base de données souhaitée et en cliquant sur le bouton Modifier. Les ressources de mémoire et de CPU peuvent être modifiées en changeant votre classe d'instance DB.

Lorsque vous modifiez votre classe d'instance DB, les changements requis sont appliqués au cours de la fenêtre de maintenance que vous avez définie. Vous pouvez aussi utiliser l'indicateur « Appliquer immédiatement » pour appliquer immédiatement vos demandes de dimensionnement. Ces deux options affecteront la disponibilité pendant quelques minutes, le temps de l'opération de dimensionnement. N'oubliez pas que toutes les modifications système en attente seront également appliquées.

Vous pouvez adapter automatiquement la capacité de votre base de données avec Amazon Neptune sans serveur. Neptune sans serveur vous permet d'exécuter et de redimensionner instantanément les charges de travail liées aux graphes, sans avoir à gérer ni optimiser la capacité. Neptune sans serveur détermine et provisionne automatiquement les ressources de calcul et de mémoire nécessaires à l'exécution de la base de données orientée graphe, et adapte la capacité en fonction de l'évolution des exigences de la charge de travail afin de maintenir des performances constantes.

Oui, Neptune prend en charge la mise à l'échelle automatique des réplicas d'instances en lecture. Vous pouvez configurer la mise à l’échelle automatique pour ajouter ou supprimer automatiquement des réplicas en lecture en réponse aux modifications de vos exigences en matière de connectivité ou de charge de travail. Pour en savoir plus, consultez la documentation.

Les sauvegardes automatisées sont toujours activées sur les instances de Neptune Database. Les sauvegardes n'affectent pas la performance de la base de données.

Oui, et prendre des instantanés n'affecte pas les performances. Veuillez noter que la restauration de données à partir des instantanés DB requiert la création d'une nouvelle instance DB.

Neptune Database conserve automatiquement des copies de vos données dans trois zones de disponibilité et tente automatiquement de récupérer votre base de données dans une zone de disponibilité saine sans aucune perte de données. Dans le cas improbable où vos données ne sont pas disponibles dans l'espace de stockage de Neptune, vous pouvez les restaurer à partir d'un instantané de bases de données ou effectuer une opération de restauration à un moment donné dans une nouvelle instance. Veuillez noter que la sauvegarde à des fins de restauration la plus récente possible remonte à cinq minutes en arrière.

Vous pouvez choisir de créer un instantané de base de données final au moment de supprimer votre instance de base de données. De cette manière, vous pourrez utiliser cet instantané de base de données pour restaurer l'instance de base de données supprimée ultérieurement. Neptune conserve cet instantané de bases de données final créé par l'utilisateur avec les autres instantanés de bases de données créés manuellement, et ce, même après la suppression de l'instance de base de données. Seuls les instantanés de bases de données sont conservés après la suppression de l'instance de base de données (c'est-à-dire que les sauvegardes automatisées créées pour la restauration à un moment donné ne sont pas conservées).

Oui. Neptune vous offre la possibilité de créer des instantanés de vos bases de données, afin de les utiliser ultérieurement pour restaurer une base de données. Vous pouvez partager un instantané avec un autre compte AWS, et le propriétaire du compte destinataire pourra utiliser votre instantané pour restaurer une base de données contenant vos données. Il est même possible de créer des instantanés publics, qui pourront être utilisés par n'importe qui pour restaurer une base de données contenant vos données (publiques). Vous pouvez utiliser cette fonction pour partager les données entre vos divers environnements (production, dev/test, transfert, etc.) liés à des comptes AWS différents, ainsi que pour conserver les sauvegardes de toutes vos données en sécurité dans un compte séparé au cas où votre compte AWS principal serait compromis.

Le partage d'instantanés entre les comptes ne fait pas l'objet de frais supplémentaires. Toutefois, vous pourrez être facturé pour les instantanés en eux-mêmes, ainsi que pour les bases de données restaurées à partir d'instantanés partagés. En savoir plus sur la tarification d'Amazon Neptune.

Nous ne prenons pas en charge le partage automatique d'instantanés de bases de données. Pour partager un instantané automatique, vous devez créer manuellement une copie de celui-ci, puis partager cette copie.

Vous pouvez partager les instantanés manuels avec un maximum de 20 ID de compte AWS. Si vous souhaitez partager un instantané avec plus de 20 comptes, partagez-le publiquement ou contactez le service d'assistance pour augmenter votre quota.

Vous pouvez partager vos instantanés Neptune Database dans toutes les régions AWS où Neptune est disponible.

Non. Vos instantanés Neptune Database partagés ne seront accessibles que par les comptes appartenant à la même région que le compte qui les partage.

Oui, vous pouvez partager des instantanés Neptune Database chiffrés.

Non, les instantanés Neptune ne peuvent être utilisés qu’au sein du service.

Un cluster Neptune Database ne peut être créé que dans un VPC Amazon qui possède au moins deux sous-réseaux dans au moins deux zones de disponibilité. En répartissant vos instances de cluster dans au moins deux zones de disponibilité, Neptune permet de garantir que des instances sont disponibles dans votre cluster de base de données dans le cas peu probable de la défaillance d’une zone de disponibilité. Le volume de cluster de votre cluster Neptune Database s’étend toujours sur trois zones de disponibilité afin de fournir un stockage durable avec moins de risques de perte de données. Neptune est conçu pour prendre en charge de manière transparente la perte de deux copies de données (maximum) sans compromettre la disponibilité en écriture de la base de données, et de trois copies (maximum) sans compromettre la disponibilité en lecture. Le stockage Neptune est également doté d'un mécanisme d'autoréparation. Les blocs de données et les disques sont continuellement analysés pour trouver des erreurs et sont réparés automatiquement.

Contrairement aux autres bases de données, pour rendre une base de données opérationnelle suite à une panne, Neptune n’a pas besoin de relire le fichier redo log à partir du dernier point de contrôle de la base de données (remontant généralement à cinq minutes) et de confirmer tous les changements qui ont été apportés. Cela permet de réduire la durée de redémarrage de la base de données à moins de 60 secondes dans la plupart des cas. Neptune supprime le cache des tampons du processus de la base de données et la met immédiatement à votre disposition au moment du redémarrage. Cela vous évite de limiter l'accès jusqu'à ce que le cache soit rempli à nouveau afin d'éviter les baisses de tension.

Neptune prend en charge les réplicas en lecture, qui partagent le même volume sous-jacent que l'instance principale. Les mises à jour effectuées par l'instance principale sont visibles sur toutes les réplicas Amazon Neptune. Un cluster Neptune peut avoir une instance du scripteur et jusqu'à 15 réplicas en lecture. En cas de défaillance d’une instance d’écriture, un réplica en lecture sera automatiquement promu en instance d’écriture.

Oui, Neptune Database prend en charge la réplication entre régions en configurant votre cluster Neptune pour utiliser la base de données mondiale Neptune.

Oui. Vous pouvez attribuer un niveau de priorité à chaque instance sur votre cluster. En cas de défaillance de l'instance principale, Neptune Database choisit le réplica dont le niveau de priorité est le plus élevé et le définit comme la nouvelle instance principale. En cas de conflit entre deux réplicas ou plus du même niveau de priorité, Neptune choisit le réplica dont la taille est identique à celle de l'instance principale.

Vous pouvez modifier le niveau de priorité d'une instance à tout moment. Le simple fait de modifier les niveaux de priorité ne déclenchera pas de failover (basculement).

Vous pouvez attribuer des niveaux de priorité inférieurs aux réplicas que vous ne souhaitez pas voir promus comme l'instance principale. Cependant, si les réplicas de priorité supérieure du cluster sont défectueux ou indisponibles pour quelque raison que ce soit, Neptune promouvra un réplica de priorité inférieure.

Vous pouvez ajouter les réplicas Neptune qui partagent le même stockage sous-jacent en tant qu'instance principale. Tout réplica Neptune peut être promu pour devenir une instance principale sans aucune perte de données et de ce fait peut être utilisé pour améliorer la tolérance aux pannes en cas de défaillance de l'instance de base de données principale. Pour augmenter la disponibilité de la base de données, il suffit de créer 1 à 15 réplicas, et Neptune les inclura automatiquement dans la sélection principale de basculement en cas de panne d'une base de données.

Le basculement est automatiquement géré par Neptune Database afin que vos applications puissent reprendre vos opérations de base de données aussi vite que possible, sans intervention d’administration manuelle. Lors du basculement, si un de vos réplicas Neptune se trouve dans la même zone de disponibilité ou dans une zone de disponibilité différente, Neptune transforme l’enregistrement de nom canonique (CNAME) du point de terminaison principal de votre base de données en un réplica sain, qui est promu à son tour afin de devenir le principal. Le basculement complet s’effectue généralement en 30 secondes.

De plus, le point de terminaison des réplicas en lecture ne nécessite pas de mises à jour du CNAME durant le basculement. Si vous ne disposez d'aucun réplica Neptune (par exemple, une instance unique), Neptune tentera d'abord de créer une nouvelle instance de base de données dans la même zone de disponibilité que l'instance d'origine. S'il vous est impossible d'effectuer cette opération, Neptune tentera de créer une nouvelle instance de base de données dans une autre zone de disponibilité. Du début à la fin, le basculement dure en général moins de 15 minutes. Votre application devrait tenter de nouvelles requêtes à la base de données dans le cas d'une perte de connexion.

Neptune Database détectera automatiquement un problème dans votre instance principale et commencera le routage du trafic en lecture/écriture vers un réplica Neptune Database. En moyenne, ce basculement dure 30 secondes. En outre, le trafic en lecture servi par vos réplicas Neptune Database sera momentanément interrompu.

Étant donné que les réplicas Neptune Database partagent le même volume de données que l’instance principale, il n’y a quasiment pas de latence de réplication. Nous constatons généralement des périodes de retard de l'ordre de dizaines de millisecondes.

Oui, toutes les instances d'Amazon Neptune Database doivent être créées dans un VPC. Avec Amazon VPC, vous pouvez définir une topologie virtuelle de réseau qui ressemble étroitement à un réseau traditionnel que vous pourriez faire fonctionner dans votre propre centre de données. Vous disposez d'un contrôle total sur les utilisateurs pouvant accéder à vos bases de données Neptune.

Le chiffrement des instances Neptune non chiffrées existantes n'est actuellement pas pris en charge. Pour utiliser le chiffrement Neptune pour une base de données non chiffrée existante, créez une instance de base de données avec chiffrement activé, puis effectuez la migration de vos données vers celle-ci.

L'accès aux bases de données Neptune doit se faire par le biais du port HTTPS saisi lors de la création de la base de données dans votre VPC. Cette mesure a été prise afin d’offrir un niveau de sécurité supplémentaire à vos données. Vous trouverez des instructions détaillées concernant la connexion à votre base de données Neptune dans le Guide de l’utilisateur d’Amazon Neptune.

Neptune Analytics

Vous pouvez utiliser openCypher, un projet open source qui facilite l’utilisation du langage Cypher pour le traitement des graphes, l’invocation des algorithmes de Neptune Analytics et la recherche de similarités vectorielles.

Neptune Analytics est parfaitement adapté aux requêtes de graphes qui accèdent à de larges parties d’un graphe ou à des graphes entiers. Neptune Analytics est un moteur en mémoire capable de charger ces grands graphes en mémoire pour fournir une réponse en quelques secondes. De plus, Neptune Analytics peut traiter des milliers de requêtes analytiques par seconde à l’aide d’une bibliothèque d’algorithmes d’analytique de graphe populaires pour des opérations telles que le classement des influenceurs, la détection de groupes frauduleux ou la recherche de modèles dans l’activité réseau. Pour les applications d'IA génératives, Neptune Analytics peut stocker des intégrations vectorielles et fournir des recherches de similarité vectorielle.

Vous pouvez sélectionner un cluster Neptune existant comme source de données, qui sera automatiquement chargé dans Neptune Analytics.

Neptune Analytics prend en charge 12 algorithmes pour trouver des itinéraires, détecter des communautés (regroupement en cluster), identifier les données importantes (centralité) et quantifier les similarités. Les algorithmes de recherche d'itinéraires servent, par exemple, à la planification d'itinéraires pour l'optimisation de la chaîne d'approvisionnement, tandis que les algorithmes de centralité (par ex., classement des pages) identifient les vendeurs les plus influents dans un graphe. De même, des algorithmes tels que les composants connectés, les regroupements en cluster et les algorithmes de centralité peuvent être utilisés dans des cas liés à la détection des fraudes afin de déterminer si le réseau connecté est un groupe d'amis ou un réseau frauduleux formé par un ensemble de fraudeurs coordonnés.

Oui, Neptune Analytics est conforme à la norme ACID avec une forte cohérence.

Neptune Analytics prend en charge un index de recherche vectorielle sur les intégrations (jusqu'à 65 000 dimensions) stockées dans vos données de graphes.

Neptune Analytics prend en charge un index de recherche vectorielle sur les intégrations stockées dans vos données graphiques.

Non, vous n'avez pas besoin d'une base de données vectorielles distincte avec Neptune Analytics. Neptune Analytics prend en charge un index de recherche vectorielle sur les intégrations (jusqu'à 65 000 dimensions) stockées dans vos données de graphes. Neptune Analytics fournit une recherche vectorielle efficace qui peut être invoquée directement à partir du langage de requête openCypher utilisé pour écrire vos requêtes de graphes.

Neptune Analytics stocke les vecteurs et prend en charge les algorithmes HNSW (Hierarchical Navigable Small Worlds) pour effectuer une indexation vectorielle et une recherche de similarité. Vous devez utiliser une base de données vectorielles distincte si vous souhaitez utiliser différents algorithmes d'indexation et de recherche de similarités ou si vous souhaitez utiliser plusieurs index basés sur des propriétés différentes.

Oui, vous pouvez utiliser Neptune Analytics dans le VPC Amazon. Pour un accès privé, vous pouvez créer un graphe avec « accès public » désactivé (par défaut) et spécifier les sous-réseaux dans un VPC. Neptune Analytics va créer un point de terminaison d'interface VPC géré par le demandeur par graphe dans votre VPC. Vous pourrez associer des groupes de sécurité et des politiques de point de terminaison aux points de terminaison, mais vous ne pourrez pas supprimer les points de terminaison. Les frais de points de terminaison standard de l'interface VPC s'appliqueront.

Oui. Vous pouvez éventuellement activer un point de terminaison public spécifique au graphe pour qu'il se connecte au graphe via Internet. Avec Neptune Analytics, tous les clients doivent s'authentifier, toutes les demandes doivent être signées SigV4 et toutes les connexions doivent utiliser l'ID du graphe pour interagir avec le graphe.

Oui, Neptune Analytics propose des déploiements multi-AZ avec une disponibilité et une durabilité améliorées. Par défaut, il met en service une zone hébergée dans une zone de disponibilité distincte. Avec une zone hébergée, le temps de basculement s'effectue en quelques secondes. Sans zone hébergée, le service fournit une nouvelle capacité de calcul sous-jacente en quelques minutes.

Pour obtenir des informations sur les tarifs actuellement en vigueur, consultez la page de tarification de Neptune.

Pour en savoir plus sur les régions dans lesquelles Neptune Analytics est disponible, consultez le tableau des régions AWS.

Neptune ML

Gremlin et SPARQL sont pris en charge par Neptune ML.

Neptune ML fournit une classification des nœuds, une classification multiclasse, une régression des nœuds, une classification en périphérie, une classification à classe unique, une régression en périphérie et une prédiction des liens (en périphérie). Pour en savoir plus, consultez le Guide de l’utilisateur de Neptune.

Retrouvez les informations de tarification sur la page de tarification de Neptune.