Passer au contenu principal

Hautes performances et capacité de mise à l’échelle

Ouvrir tout

En quelques étapes dans la console de gestion AWS, vous pouvez augmenter ou diminuer 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.

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 multi-AZ à haute disponibilité. 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 prévoir d'espace de stockage supplémentaire pour maîtriser la croissance future de votre base de données.

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.

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.

Disponibilité et durabilité élevées

Ouvrir tout

La base de données mondiale Amazon Neptune est conçue pour les applications distribuées dans le monde entier, ce qui permet à une base de données Neptune unique de couvrir plusieurs régions. Elle 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.

En cas de défaillance de l’instance, Neptune automatise le basculement sur l’une des 15 réplicas Neptune 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 pour vous.

L’intégrité de votre base de données Neptune et de son instance Amazon 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.

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.

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 stockées dans Amazon S3, conçu pour 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.

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.

Hautement sécurisé

Ouvrir tout

Neptune Database s'exécute dans Amazon Virtual Private Cloud (Amazon VPC), ce qui vous permet d'isoler votre base de données dans votre propre réseau virtuel et de vous connecter à votre infrastructure informatique sur site à l'aide de VPN IPsec chiffrés conformes aux normes du secteur. 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.

Neptune est intégré à AWS Identity and Access Management (IAM) et vous permet de contrôler les actions que vos utilisateurs et groupes IAM peuvent effectuer sur des ressources Neptune spécifiques, notamment les instances de base de données, les instantanés de base de données, les groupes de paramètres de base de données, les abonnements aux événements de base de données et les 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 ».

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.

Neptune prend en charge le cryptage en transit avec TLS version 1.2. Neptune vous permet de chiffrer vos bases de données à l'aide de clés que vous créez et contrôlez via 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.

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.

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 et 3), et est également compatible avec les exigences de la loi HIPAA. La liste complète des normes auxquelles Neptune est conforme se trouve dans la liste des services AWS concernés par le programme de conformité.

Rentabilité

Ouvrir tout

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 des tarifs de Neptune.

Entièrement géré

Ouvrir tout

Vous pouvez démarrer avec Neptune en lançant une nouvelle instance de base de données Neptune ou un graphe Neptune Analytics à l'aide de l'AWS Management Console. 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 paramétrer précisément la base de données.

Neptune fournit des métriques CloudWatch pour vos instances de base de données. Vous pouvez utiliser la console pour visualiser plus de 20 métriques opérationnelles clés concernant vos instances de base de données, y compris les ressources de calcul, la mémoire, le stockage, le débit des requêtes et les connexions actives.

Neptune met la base de données à jour en appliquant les derniers correctifs disponibles. Vous pouvez contrôler si et quand les correctifs sont appliqués à votre instance par le biais de la fonctionnalité de gestion des versions du moteur de base 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 pour vous abonner à différents événements de base de données associés à vos bases de données Neptune.

Neptune prend en charge des opérations de clonage rapides et efficaces, lors desquelles des clusters de base de données de plusieurs téraoctets entiers 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, sans aucun impact sur l’environnement de production. Le clone est distribué et répliqué dans trois zones de disponibilité.

IA générative et ML

Ouvrir tout

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).

Neptune ML est alimenté par SageMaker, qui utilise les GNN, une technique de ML spécialement conçue pour les graphiques, afin de faire des prédictions plus rapides et plus précises à l'aide de données graphiques. Avec Neptune ML, vous pouvez améliorer de plus de 50 % la précision de la plupart des prédictions pour les graphes par rapport aux prédictions effectuées à l’aide de méthodes non basées sur les graphes.

Faire des prédictions précises sur des graphes comportant des milliards de relations peut être complexe et chronophage. Les approches ML existantes, telles que XGBoost, ne peuvent pas fonctionner efficacement sur les graphes, car elles sont conçues pour des données tabulaires. En conséquence, l'utilisation de ces méthodes sur les graphes peut être chronophage, nécessiter des compétences spéciales de la part des développeurs et produire des prévisions sous-optimales.

Productivité des développeurs

Ouvrir tout

Les modèles de graphes de propriétés sont populaires, car les développeurs habitués à utiliser des modèles relationnels les connaissent bien. Le langage de parcours Gremlin permet de parcourir rapidement les modèles Property Graph. Neptune prend en charge le modèle de graphe de propriétés 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.

Le Resource Description Framework (RDF) est populaire car il offre la flexibilité nécessaire à la modélisation de domaines d'information complexes. Il existe un certain nombre d'ensembles de données gratuits ou publics disponibles en RDF, notamment Wikidata et PubChem, une base de données de molécules chimiques. Neptune prend en charge les normes du Web sémantique RDF 1.1 et SPARQL 1.1 (Query and Update) du W3C, 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.

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.

Neptune prend en charge le chargement en masse rapide et parallèle des données de graphes de propriétés stockées dans Amazon 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. Consultez la documentation sur le chargement en bloc du graphe de propriétés Neptune pour plus de détails.

Neptune Database prend en charge le chargement en masse rapide et parallèle des données RDF 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. Consultez la documentation relative au chargement en bloc de Neptune RDF pour plus de détails.