Amazon Neptune est une base de données d’analytique de graphe et sans serveur qui facilite la création et la gestion d’applications interactives orientées graphes, quelle que soit l’échelle.
Amazon Neptune Database est une base de données orientée graphe entièrement gérée que vous pouvez utiliser pour rechercher et interroger des milliards de relations en quelques millisecondes via des milliers de requêtes simultanées. Ce service fournit des configurations à haute disponibilité, une capacité de mise à l’échelle dynamique avec une prise en charge multirégionale sans serveur pour une résilience accrue, ainsi que des intégrations avec d’autres services AWS tels qu’Amazon SageMaker et Amazon OpenSearch Service.
Neptune met automatiquement à l’échelle le stockage en le développant et en rééquilibrant le nombre d’opérations d’E/S pour garantir des performances homogènes, sans surdimensionner les capacités. Le stockage de Neptune est flexible et se répare automatiquement, et les échecs de disque sont restaurés en arrière-plan sans impacter la disponibilité de la base de données. Neptune détecte automatiquement toutes les pannes de la base de données et redémarre sans effectuer de reprise sur incident ni reconstruire le cache de la base de données. Si l'instance échoue dans son ensemble, Neptune bascule automatiquement vers l'un (1) des 15 réplicas en lecture.
Les requêtes SQL pour des données hautement connectées sont complexes et il est difficile d'optimiser leurs performances. À la place, Amazon Neptune vous permet d'utiliser les langages de requête de graphe courants Apache TinkerPop Gremlin, SPARQL de la norme W3C et openCypher pour exécuter des requêtes puissantes qui sont faciles à écrire et efficaces avec les données connectées. Cela réduit de façon drastique la complexité du code et permet de créer plus rapidement des applications qui traitent les relations. En quelques étapes, vous pouvez lancer rapidement une instance de base de données Neptune depuis la console Neptune.
Amazon Neptune Analytics NOUVEAU est un moteur de base de données d’analytique qui prend en charge l’analytique des graphes, les algorithmes des graphes et la recherche vectorielle des données de graphe stockées dans des compartiments Amazon Simple Storage Service (Amazon S3) ou dans une base de données Neptune. Vous pouvez analyser des dizaines de milliards de relations en quelques secondes. Avec Neptune Analytics, vous pouvez charger des données à partir d'une base de données Neptune existante ou d'Amazon S3 à l'aide de quelques simples appels d'API et répondre aux charges de travail d'analyse de graphes les plus exigeantes. Vous pouvez sélectionner une base de données Neptune existante comme source de données, qui sera automatiquement chargée dans Neptune Analytics. Vous pouvez également demander à Neptune Analytics de charger des données de graphe directement depuis Amazon S3 à l’aide de fichiers CSV dans des formats d’exportation de graphes courants.
Amazon Neptune ML est une intégration entre une base de données Neptune et SageMaker. Neptune ML entraîne des réseaux neuronaux en graphes (GNN), une technique de machine learning (ML) spécialement conçue pour les graphes, afin de faire des prédictions rapides et plus précises à partir de vos données issues de graphe. Neptune ML prend en charge les prédictions en temps réel sur les nœuds, les périphéries et les propriétés (entités) ajoutés au graphe après le processus d’entraînement du modèle de ML. Ainsi, vous pouvez obtenir des prédictions à partir de nouvelles données sans avoir à entraîner de nouveau vos modèles de ML.
Hautes performances et capacité de mise à l’échelle
Option sans serveur
Amazon Neptune Database sans serveur est une option de déploiement à la demande qui ajuste automatiquement la capacité de la base de données en fonction des besoins de l’application. Neptune Database sans serveur peut mettre à l’échelle instantanément les charges de travail de base de données orientée graphe pour s’adapter à des centaines de milliers de requêtes. Neptune sans serveur ajuste la capacité pour fournir la quantité exacte de ressources de base de données dont l’application a besoin, et vous ne payez que pour la capacité consommée, ce qui vous permet d’économiser jusqu’à 90 % des coûts de base de données par rapport à la capacité maximale.
Débit élevé et latence faible pour les requêtes de graphe
Neptune est une base de données orientée graphe spécialisée 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. Avec Neptune Database, vous pouvez utiliser Gremlin, openCypher ou SPARQL pour exécuter des requêtes puissantes faciles à écrire et efficaces. Avec Neptune Analytics, vous pouvez utiliser openCypher.
Mise à l'échelle facile des ressources de calcul de la base de données
En quelques étapes dans la Console de gestion AWS, vous pouvez mettre à l'échelle les ressources de calcul et de mémoire qui alimentent votre cluster de production. Avec Neptune Database, vous pouvez effectuer une mise à l'échelle en créant de nouvelles instances de répliques de la taille souhaitée ou en supprimant des instances. Les opérations de dimensionnement des ressources de calcul s'effectuent généralement en quelques minutes.
Stockage avec dimensionnement automatique
Neptune Database utilise une architecture de stockage distribuée et partagée qui s'agrandit automatiquement au fur et à mesure que les besoins de stockage de votre base de données augmentent. Les données de Neptune sont stockées dans un volume de cluster à haute disponibilité multi-AZ. Lorsqu'un cluster Neptune DB est créé, un segment unique de 10 Go lui est alloué. Lorsque le volume de données augmente et dépasse le stockage alloué, Neptune étend automatiquement le volume du cluster en ajoutant de nouveaux segments. Un volume de cluster Neptune peut atteindre une taille maximale de 128 Tio dans les régions AWS prises en charge, à l’exception de la Chine et de GovCloud. Vous n’avez pas besoin de provisionner d’excédent d’espace de stockage pour accompagner la croissance future de votre base de données.
Réplicas en lecture à faible latence
Avec Neptune Database, vous pouvez augmenter le débit de lecture pour prendre en charge les requêtes d'application de volume élevé en créant jusqu'à 15 réplicas en lecture de base de données. Les réplicas Neptune partagent le même stockage sous-jacent que l'instance source, ce qui permet de réaliser des économies et d'éviter toute écriture sur les nœuds de réplica. Cela libère davantage de puissance de traitement pour traiter les requêtes en lecture et réduit également le temps de latence des réplicas (quelques millisecondes seulement). Neptune fournit également un point de terminaison unique pour les requêtes de lecture afin que l'application puisse se connecter sans avoir à garder une trace des réplicas ajoutées et retirées.
Disponibilité et durabilité élevées
Surveillance et restauration des instances
L'intégrité de la base de données Neptune et de son instance EC2 sous-jacente est surveillée en continu. Si l'instance qui alimente la base de données est défaillante, la base de données et les processus associés sont automatiquement redémarrés. La restauration de Neptune ne nécessite pas de consultation potentiellement contraignante des journaux redo de la base de données, si bien que les temps de redémarrage de l’instance sont de 30 secondes ou moins. Le service sépare également le cache mémoire des processus de la base de données, ce qui permet au cache de survivre au redémarrage de la base de données.
Déploiements multi-AZ avec réplicas de lecture
En cas de défaillance de l'instance, Neptune automatise le basculement sur l'une (1) des 15 réplicas Neptune maximum que vous avez créées dans l'une des trois zones de disponibilité. Si aucune réplica Neptune n'a été mise en service, en cas de défaillance, Neptune tente de créer automatiquement une nouvelle instance de base de données.
Stockage tolérant aux pannes avec fonction d'auto-réparation
Pour Neptune Database, chaque segment de 10 Gio de votre volume de base de données est rendu durable dans trois zones de disponibilité. Neptune Database utilise un stockage tolérant aux pannes. Ce stockage peut supporter en toute transparence la perte de deux copies de données sans affecter la disponibilité en écriture de la base de données, et celle de trois copies sans affecter la disponibilité en lecture. Le stockage de Neptune Database est également doté d'un mécanisme d'auto-réparation : les blocs de données et les disques sont continuellement analysés pour rechercher les erreurs et remplacés automatiquement.
Sauvegardes automatiques, continues, progressives et restauration à un instant donné
La fonction de sauvegarde de Neptune Database vous permet de restaurer l’instance à un instant dans le passé. Vous pouvez ainsi restaurer votre base de données chaque seconde de votre période de rétention et ce, jusqu'aux cinq (5) dernières minutes. Vous pouvez configurer une période de rétention des sauvegardes automatiques de 35 jours maximum. Les sauvegardes automatisées sont conservées dans Amazon S3, conservées pour offrir une durabilité de 99,999999999 %. Les sauvegardes Neptune sont automatiques, incrémentielles et continues et n'affectent pas les performances de la base de données.
Instantanés de base de données
Les instantanés de base de données sont des sauvegardes initiées par l'utilisateur de votre instance, stockées dans Amazon S3. Ils sont conservés jusqu'à ce que vous décidiez de les supprimer de manière explicite. Ils utilisent les instantanés incrémentiels automatisés pour réduire les délais et l'espace nécessaires. Vous pouvez créer une instance à partir d'un instantané de base de données chaque fois que vous le désirez.
Base de données mondiale
La Base de données mondiale Amazon Neptune est conçue pour les applications distribuées dans le monde entier, permettant à une seule base de données Neptune de couvrir plusieurs régions. Il réplique les données de graphe avec un faible impact sur les performances de la base de données, permet des lectures locales rapides avec une latence faible dans chaque région et garantit la reprise après sinistre en cas de pannes à l'échelle de la région.
Hautement sécurisé
Isolement du réseau
Neptune Database s'exécute dans Amazon Virtual Private Cloud (Amazon VPC), ce qui vous permet d'isoler votre base de données au sein de votre propre réseau virtuel et d'accéder à votre infrastructure informatique sur site à l'aide de connexions VPN IPsec chiffrées standard. De plus, la configuration VPC de Neptune permet de configurer les paramètres de pare-feu et de contrôler l'accès réseau aux instances de base de données.
Autorisations de niveau de ressource
Amazon Neptune est intégré à AWS Identity and Access Management (IAM) et permet de contrôler les opérations que les groupes et utilisateurs IAM peuvent effectuer sur certaines ressources Neptune, notamment les instances de bases de données, instantanés de base de données, groupes de paramètres de base de données, abonnements à des événements de base de données et groupes d'options de base de données. Vous pouvez, en outre, baliser les ressources Neptune et contrôler ainsi les opérations que les groupes et utilisateurs IAM peuvent effectuer sur des groupes de ressources ayant la même balise (et valeur de balise). Par exemple, vous pouvez configurer les règles IAM pour permettre aux développeurs de modifier des instances de base de données « Développement », en veillant à ce que seuls les administrateurs de base de données puissent modifier et supprimer des instances de base de données « Production ».
Contrôle précis des accès
Neptune fournit un accès précis aux utilisateurs qui récupèrent les API du plan de données de Neptune avec IAM pour effectuer des actions sur les données du graphe telles que la lecture, l'écriture et la suppression de données du graphe, et des actions sur les données hors graphe telles que le démarrage et la surveillance des activités de Neptune ML et la vérification de l'état des activités du plan de données en cours. Par exemple, pour créer une politique d'accès en lecture seule pour les analystes de données qui n'ont pas besoin de manipuler les données de graphe, une politique avec un accès en lecture et écriture pour les développeurs qui utilisent le graphe pour leurs applications, et une politique pour les scientifiques des données qui ont besoin d'accéder aux commandes Neptune ML.
Chiffrement
Neptune prend en charge le cryptage en transit avec TLS version 1.2. Neptune permet de chiffrer les bases de données à l'aide de clés que vous créez et contrôlez par l'intermédiaire d'AWS Key Management Service (AWS KMS). Sur une instance de base de données en cours d'exécution utilisant le chiffrement Neptune, les données stockées au repos dans le stockage sous-jacent sont chiffrées, tout comme les sauvegardes automatisées, les instantanés et les réplicas dans le même cluster.
Audit avancé
Amazon Neptune permet de journaliser les événements de base de données avec un minimum d'impact sur la performance de la base de données. Les journaux peuvent être analysés par la suite pour la gestion de la base de données, la sécurité, la gouvernance, la conformité réglementaire et à d'autres fins. Vous pouvez également surveiller l'activité en envoyant des journaux d'audit à Amazon CloudWatch.
Entièrement géré
Plus facile à utiliser
Vous pouvez commencer à utiliser Neptune en lançant une nouvelle instance de base de données Neptune ou un nouveau graphique Neptune Analytics à l'aide de la Console de gestion AWS. Les instances de base de données Neptune sont préconfigurées avec un ensemble de paramètres et de réglages adaptés à la classe d'instances de base de données que vous avez sélectionnée. Vous pouvez lancer une instance de base de données et connecter votre application en quelques minutes, sans autre configuration. Les groupes de paramètres de base de données permettent de contrôler et de régler précisément la base de données.
Plus facile à exploiter
Neptune facilite l'exploitation des bases de données orientées graphe hautement performantes. Avec Neptune, vous n'avez pas besoin de créer d'index personnalisé sur les données de graphe. Neptune offre des limites de délai d'expiration et d'utilisation de la mémoire pour réduire l'impact des requêtes qui consomment trop de ressources.
Surveillance et mesures
Neptune fournit des métriques Amazon CloudWatch pour les instances de bases de données. L'interface de la Console de gestion AWS permet de visualiser plus de 20 métriques opérationnelles clés concernant les instances de base de données, y compris le calcul, la mémoire, le stockage, le débit des requêtes et les connexions actives.
Application automatique des correctifs logiciels
Neptune met la base de données à jour en appliquant les derniers correctifs disponibles. Si vous le souhaitez, vous pouvez contrôler si et quand les correctifs sont appliqués à l'instance par le biais de la fonctionnalité de gestion des versions du moteur de base de données.
Notifications des événements de bases de données
Neptune peut vous informer par e-mail ou par SMS des événements importants concernant la base de données, comme le basculement automatisé. Vous pouvez utiliser la Console de gestion AWS pour vous abonner à différents événements de base de données associés à vos bases de données Neptune.
Clonage de bases de données rapide
Neptune prend en charge des opérations de clonage rapides et efficaces au cours desquelles des clusters de base de données de plusieurs To peuvent être clonés en quelques minutes. Le clonage est utile pour un certain nombre d'objectifs comprenant le développement d'application, les tests, les mises à jour de base de données et l'exécution de requêtes analytiques. La disponibilité immédiate des données peut considérablement accélérer le développement de votre logiciel et les projets de mise à niveau tout en rendant l'analytique plus précise.
Vous pouvez cloner une base de données de Neptune en seulement quelques étapes depuis la Console de gestion AWS, sans aucun impact sur l'environnement de production. Le clone est distribué et répliqué dans trois zones de disponibilité.
ML et IA générative
ML
Amazon Neptune ML est basé sur la technologie SageMaker qui utilise les réseaux neuronaux en graphes (GNN), une technique de ML spécialement conçue pour les graphes, afin de faire des prédictions rapides et plus précises grâce à l’utilisation de données issues d’un graphe. Avec Neptune ML, vous pouvez améliorer de plus de 50 % la précision de la plupart des prédictions via graphes par rapport à celles effectuées avec des méthodes n’utilisant aucun graphe.
Faire des prédictions précises sur des graphiques comportant des milliards de relations peut être complexe et chronophage. Les approches ML existantes, telles que XGBoost, ne peuvent pas fonctionner efficacement sur les graphiques, car elles sont conçues pour des données tabulaires. En conséquence, l'utilisation de ces méthodes sur les graphiques peut être chronophage, nécessiter des compétences spéciales de la part des développeurs et produire des prévisions sous-optimales.
IA générative
La recherche vectorielle vous permet de créer facilement des expériences de recherche augmentée ML et des applications d'intelligence artificielle générative (IA générative). Vous devez utiliser la recherche vectorielle si vous souhaitez créer des applications d'IA générative combinant des données d'un domaine d'application et une recherche de similarité sur des intégrations vectorielles. La recherche vectorielle sur les données de graphe vous permet de réduire globalement le coût total de possession et de simplifier les frais de gestion, car vous n'avez pas à gérer des magasins de données distincts, à créer des pipelines ou à vous soucier de la synchronisation des magasins de données.
Les clients qui développent des applications d'IA générative peuvent utiliser la recherche vectorielle pour enrichir leurs grands modèles de langage (LLM) en intégrant des requêtes graphiques pour un contexte spécifique au domaine aux résultats d'une recherche de similarité avec le voisin le plus proche à faible latence sur des intégrations importées depuis des LLM hébergés dans Amazon Bedrock, des GNN dans GraphStorm ou d'autres sources. Neptune est intégré à LangChain, un framework Python open source qui facilite le développement d'applications d'IA génératives à l'aide de LLM.
Productivité des développeurs
Apache TinkerPop Gremlin pour graphe de propriétés est pris en charge
Les modèles de graphe de propriété sont populaires, car les développeurs les connaissent et les utilisent pour les modèles relationnels. Le langage de parcours Gremlin permet de parcourir rapidement les modèles Property Graph. Amazon Neptune prend en charge le modèle Property Graph avec le langage de parcours Open Source Apache TinkerPop Gremlin, et fournit un serveur Websocket Gremlin qui prend en charge la version 3.3 de TinkerPop. Avec Neptune, vous pouvez rapidement concevoir des parcours Gremlin sur des graphes de propriétés. Les applications Gremlin existantes peuvent facilement utiliser Neptune en changeant la configuration du service Gremlin pour pointer vers une instance Neptune.
RDF 1.1 et SPARQL 1.1 de W3C sont pris en charge
Resource Description Framework (RDF) est populaire parce qu'il fournit la flexibilité nécessaire pour modéliser des domaines d'informations complexes. Il existe un certain nombre de jeux de données libres ou publics dans RDF, notamment Wikidata et PubChem, une base de données de molécules chimiques. Amazon Neptune prend en charge les normes du Web sémantique W3C de RDF 1.1 et SPARQL 1.1 (requête et mise à jour), et fournit un point de terminaison HTTP REST qui implémente le protocole SPARQL 1.1. Avec Neptune, vous pouvez facilement utiliser le point de terminaison SPARQL pour les applications de graphe existantes et nouvelles.
OpenCypher v9 pour graphe de propriété est pris en charge
Neptune prend en charge la création de d'applications de graphes utilisant openCypher, qui est actuellement l'un des langages de requête les plus répandus pour les développeurs travaillant avec des bases de données orientées graphe. Les développeurs, les analystes commerciaux et les scientifiques de données apprécient la syntaxe d'openCypher, inspirée de celle de SQL, car elle offre une structure de composition de requête familière pour les applications de graphes. Pour la base de données Neptune Database, les langages de requête OpenCypher et Gremlin peuvent être utilisés ensemble sur les mêmes données de graphe de propriétés. La prise en charge d'openCypher est compatible avec le protocole Bolt, pour continuer à exécuter des applications qui utilisent le protocole Bolt pour se connecter à Neptune.
Chargement en masse des graphes de propriétés
Neptune prend en charge le chargement en masse rapide et parallèle des données de graphe de propriété qui sont stockées dans S3. Vous pouvez utiliser une interface REST pour indiquer l'emplacement S3 des données. Un format délimité CSV est utilisé pour charger les données dans les nœuds et les périphéries. Voir la documentation sur le chargement en masse de graphe de propriété de Neptune pour plus d'informations.
Chargement de données RDF en masse
Neptune Database prend en charge le chargement en masse rapide et parallèle des données RDF qui sont stockées dans S3. Vous pouvez utiliser une interface REST pour indiquer l'emplacement S3 des données. Les sérialisations N-Triples (NT), N-Quads (NQ), RDF/XML et Turtle RDF 1.1 sont prises en charge. Voir la documentation sur le chargement en masse de RDF de Neptune pour plus d'informations.
Algorithmes graphiques pour Neptune Analytics
Neptune Analytics prend en charge les algorithmes permettant de trouver des chemins, de détecter les communautés (mise en cluster), d'identifier les données importantes (centralité) et de quantifier les similarités. Les algorithmes de recherche de chemins déterminent efficacement l'itinéraire le plus court ou le plus optimal entre deux nœuds. Les algorithmes de recherche de trajectoire vous permettent de modéliser des situations réelles, telles que les réseaux routiers ou les réseaux sociaux, sous forme de nœuds et de périphéries interconnectés. Trouver les chemins les plus courts ou les plus optimaux entre différents points est crucial dans des applications telles que la planification d'itinéraires pour les systèmes GPS, l'optimisation de la logistique et même pour résoudre des problèmes complexes dans des domaines tels que la biologie ou l'ingénierie.
Les algorithmes de détection communautaire calculent des groupes ou des clusters de nœuds significatifs au sein d'un réseau, révélant ainsi des modèles et des structures cachés qui peuvent fournir des informations sur l'organisation et la dynamique de systèmes complexes. Cette fonction est utile dans des domaines tels que l'analyse des réseaux sociaux, la biologie (pour identifier les modules fonctionnels dans les réseaux d'interactions protéine-protéine), et même pour comprendre le flux d'informations et la propagation de l'influence dans divers domaines.
Les algorithmes de centralité aident à identifier les nœuds les plus influents ou les plus importants au sein d'un réseau, fournissant ainsi des informations sur les principaux acteurs ou les points d'interaction critiques. Cette fonction est utile dans des domaines tels que l'analyse des réseaux sociaux, où elle permet d'identifier les personnes influentes, ou dans les réseaux de transport, où elle permet d'identifier les hubs cruciaux pour un routage et une allocation des ressources efficaces.
Les algorithmes de similarité des graphes vous permettent de comparer et d'analyser les similitudes ou dissemblances structurelles entre les différentes structures de graphes, ce qui permet de mieux comprendre les relations, les modèles et les points communs entre divers jeux de données. Cette fonction est inestimable dans divers domaines tels que la biologie (pour comparer des structures moléculaires), les réseaux sociaux (pour identifier des communautés similaires) et les systèmes de recommandation (pour suggérer des éléments similaires en fonction des préférences des utilisateurs).
Programmes de conformité
Couverture étendue du programme de conformité
Neptune correspond aux champs d’application de plus de vingt normes de conformité internationales, allant de FedRAMP (modérée et élevée) à SOC (1,2,3), et est également compatible avec les exigences de la loi HIPAA. Veuillez consultez la section Services AWS concernés par le programme de conformité pour obtenir une liste complète des normes auxquelles Neptune se conforme.
Rentabilité
Payez en fonction de votre utilisation
Avec Neptune, aucun engagement initial n’est nécessaire. Vous payez une redevance horaire pour chaque instance que vous lancez, ou pour les ressources de base de données que vous consommez dans le cadre du sans serveur. Lorsque vous n’avez plus besoin d’une instance de base de données Neptune, vous pouvez la supprimer. Vous n'avez pas besoin de prévoir davantage de stockage que nécessaire par précaution, et vous ne payez que pour le stockage que vous consommez réellement. Pour en savoir plus, consultez la page relative à la Tarification pour Neptune.
En savoir plus sur la tarification d'Amazon Neptune.
Commencez à créer avec Amazon Neptune dans AWS Management Console.