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.
Version 1.3.0.0 du moteur Amazon Neptune (15-11-2023)
Depuis le 15-11-2023, la version 1.3.0.0 du moteur est déployée globalement. Notez que plusieurs jours sont nécessaires pour qu'une nouvelle version soit disponible dans chaque région.
Note
La version 1.3.0.0 du moteur implique un nouveau format pour les groupes de paramètres personnalisés et les groupes de paramètres de cluster personnalisés. Par conséquent, si vous effectuez une mise à niveau d’une version de moteur antérieure vers la version 1.3.0.0 ou une version supérieure, vous devrez recréer tous vos groupes de paramètres personnalisés et groupes de paramètres de cluster personnalisés existants à l’aide de la famille de groupes de paramètres neptune1.3
. Les versions antérieures utilisaient une famille de groupes de paramètres neptune1
ou neptune1.2
, lesquels ne sont pas compatibles avec les versions 1.3.0.0 et supérieures. Pour plus d’informations, consultez Groupes de paramètres Amazon Neptune.
Nouvelles fonctionnalités pour cette version du moteur
-
Publication de l'API de données Neptune.
L’API de données Amazon Neptune fournit un support de kit SDK pour plus de 40 opérations de données de Neptune, notamment le chargement des données, l’exécution de requêtes, la recherche de données et le machine learning. Elle prend en charge les trois langages de requête Neptune (Gremlin, openCypher et SPARQL) et est disponible dans tous les langages de kit SDK. Elle signe automatiquement les demandes d’API et simplifie considérablement l’intégration de Neptune dans les applications.
Ajout de la prise en charge de l'intégration de OpenSearchServerless à Neptune.
Améliorations de cette version du moteur
Améliorations apportées aux mises à jour du moteur Neptune
Neptune a modifié la façon dont il publie les mises à jour du moteur afin que vous puissiez mieux contrôler le processus de mise à jour. Au lieu de publier des correctifs pour des modifications non majeures, Neptune publie désormais des versions mineures qui peuvent être contrôlées à l’aide du champ d’instance AutoMinorVersionUpgrade et pour lesquelles vous pouvez recevoir des notifications en vous abonnant à l’événement RDS-EVENT-0156.
Consultez Maintenance du cluster de bases de données Amazon Neptune pour plus d’informations sur ces modifications.
Amélioration du chiffrement en transit
Neptune ne prend plus en charge les suites de chiffrement suivantes :
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
Neptune ne prend en charge que les suites de chiffrement puissantes suivantes avec TLS 1.2 :
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
Améliorations de Gremlin
-
Ajout de support dans le moteur DFE pour les étapes Gremlin suivantes :
FoldStep
GroupStep
GroupCountStep
TraversalMapStep
UnfoldStep
LabelStep
PropertyKeyStep
PropertyValueStep
AndStep
OrStep
ConstantStep
CountGlobalStep
Plans de requête DFE optimisés pour éviter les analyses complètes des sommets lors de l’utilisation de la modulation
by()
.Amélioration significative des performances des requêtes à faible cardinalité et à faible latence.
Ajout du support DFE pour les prédicats de TinkerPop
Or
filtre.-
Support DFE amélioré de la traversée pour les filtres sur la même clé, pour des requêtes telles que les suivantes :
g.withSideEffect("Neptune#useDFE", true) .V() .has('name', 'marko') .and( or( has('name', eq("marko")), has('name', eq("vardas")) ) )
Gestion des erreurs améliorée pour l’étape
fail()
.
Améliorations d’openCypher
Amélioration significative des performances des requêtes à faible cardinalité et à faible latence.
Amélioration des performances de planification des requêtes lorsque la requête contient de nombreux types de nœuds.
Latence réduite de toutes les requêtes VLP.
Performances améliorées en supprimant les jointures de pipeline redondantes pour les requêtes de modèle à nœud unique.
-
Performances améliorées pour les requêtes contenant des modèles à sauts multiples avec des cycles, comme celui-ci :
MATCH (n)-->()-->()-->(m) RETURN n m
Améliorations de SPARQL
Ajout d’un nouvel opérateur SPARQL :
PipelineHashIndexJoin
.Amélioration des performances de validation d’URI pour les requêtes SPARQL.
Amélioration des performances des requêtes de recherche en texte intégral SPARQL grâce à la résolution par lots des termes du dictionnaire.
Défauts corrigés dans cette version du moteur
Correctifs apportés à Gremlin
-
Correction d’un bogue Gremlin qui provoquait une fuite de transaction lors de la vérification du point de terminaison de statut d’une requête Gremlin pour détecter les requêtes contenant des prédicats dans les traversées enfants pour les étapes qui ne sont pas traitées nativement dans le moteur DFE.
Correction d’un bogue Gremlin qui empêchait l’optimisation de
valueMap()
lors de traverséesby()
dans le moteur DFE.Correction d’un bogue Gremlin qui empêchait la propagation d’une étiquette d’étape attachée à
UnionStep
au dernier élément de chemin de ses traversées enfants.Correction d'un bogue Gremlin qui empêchait une requête d'échouer parce qu'elle contenait trop d' TinkerPop étapes et ne pouvait donc pas être nettoyée.
Correction d’un bug de Gremlin qui provoquait l’ajout d’une
NullPointerException
dans les étapesmergeV
etmergeE
.Correction d'un bogue Gremlin en raison duquel
order()
empêchait de trier correctement les sorties de chaînes lorsque certaines d'entre elles contenaient un espace.Correction d’un problème d’exactitude de Gremlin qui se produisait lorsque l’étape
valueMap
était traitée dans le moteur DFE.Correction d’un problème d’exactitude de Gremlin qui se produisait lorsque
GroupStep
ouGroupCountStep
était imbriqué dans une traversée de touches.
Correctifs apportés à openCypher
Correction d’un bogue openCypher impliquant la gestion des erreurs autour des caractères NULL.
Correction d’un bogue openCypher lié à la gestion des transactions Bolt.
Correctifs apportés à SPARQL
Correction d’un bogue SPARQL en raison duquel les valeurs contenues dans les fonctions récursives n’étaient pas correctement résolues.
Correction d’un bogue SPARQL en raison duquel un grand nombre de valeurs injectées via une clause
VALUES
pouvait entraîner une dégradation des performances.Correction d’un bogue SPARQL qui empêchait l’opérateur
REGEX
d’aboutir lorsqu’il était appelé sur un littéral balisé dans un langage.
Versions de langage de requête prises en charge dans cette version
Avant de mettre à niveau un cluster de bases de données vers la version 1.3.0.0, assurez-vous que votre projet est compatible avec les versions de langage de requête suivantes :
Première version de Gremlin prise en charge :
3.6.2
Dernière version de Gremlin est prise en charge :
3.6.4
Version d'openCypher :
Neptune-9.0.20190305-1.0
Version de SPARQL :
1.1
Chemins de mise à niveau vers la version 1.3.0.0 du moteur
Vous pouvez effectuer une mise à niveau vers cette version à partir de la version 1.2.0.0 ou supérieure du moteur.
Mise à niveau vers cette version
Si un cluster de bases de données exécute une version de moteur à partir de laquelle il existe un chemin de mise à niveau vers cette version, il peut être mis à niveau dès maintenant. Vous pouvez mettre à niveau n'importe quel cluster éligible à l'aide des opérations de cluster de bases de données sur la console ou à l'aide du kit SDK. La commande CLI suivante met immédiatement à niveau un cluster éligible :
Pour Linux, OS X ou Unix :
aws neptune modify-db-cluster \ --db-cluster-identifier
(your-neptune-cluster)
\ --engine-version 1.3.0.0 \ --allow-major-version-upgrade \ --apply-immediately
Pour Windows :
aws neptune modify-db-cluster ^ --db-cluster-identifier
(your-neptune-cluster)
^ --engine-version 1.3.0.0 ^ --allow-major-version-upgrade ^ --apply-immediately
Au lieu d'--apply-immediately
, vous pouvez spécifier --no-apply-immediately
. Pour effectuer une mise à niveau de version majeure, le allow-major-version-upgrade paramètre est obligatoire. Assurez-vous également d'inclure la version du moteu. Dans le cas contraire, le moteur sera peut-être mis à niveau vers une autre version.
Si votre cluster utilise un groupe de paramètres de cluster personnalisé, veillez à inclure ce paramètre pour le spécifier :
--db-cluster-parameter-group-name
(name of the custom DB cluster parameter group)
De même, si des instances du cluster utilisent un groupe de paramètres de base de données personnalisé, veillez à inclure ce paramètre pour le spécifier :
--db-instance-parameter-group-name
(name of the custom instance parameter group)
Toujour effectuer des tests avant la mise à niveau
Lorsqu'une nouvelle version majeure ou mineure du moteur Neptune est publiée, testez toujours vos applications Neptune sur cette version avant de procéder à la mise à niveau. Même une mise à niveau mineure peut introduire de nouvelles fonctionnalités ou de nouveaux comportements susceptibles d'affecter le code.
Commencez par comparer les pages de notes de mise à jour de votre version actuelle à celles de la version cible pour déterminer s'il existe des modifications des versions de langage de requête ou d'autres changements majeurs.
Le meilleur moyen de tester une nouvelle version avant de mettre à niveau le cluster de bases de données de production est de cloner ce cluster pour qu'il exécute cette nouvelle version du moteur. Vous pouvez ainsi exécuter des requêtes sur le clone sans affecter le cluster de bases de données de production.
Toujours créer un instantané manuel avant de procéder à la mise à niveau
Avant la mise à niveau, nous vous recommandons vivement de toujours créer un instantané manuel du cluster de bases de données. Un instantané automatique n'offre qu'une protection à court terme, tandis qu'un instantané manuel reste disponible jusqu'à ce que vous le supprimiez explicitement.
Dans certains cas, Neptune crée un instantané manuel pour vous dans le cadre du processus de mise à niveau, mais il est préférable de ne pas compter sur ce mécanisme et de créer dans tous les cas votre propre instantané manuel.
Lorsque vous êtes certain de ne pas avoir besoin de rétablir l'état antérieur à la mise à niveau de votre cluster de bases de données, vous pouvez supprimer explicitement l'instantané manuel que vous avez créé vous-même, ainsi que celui que Neptune a éventuellement créé. Si Neptune crée un instantané manuel, il porte un nom commençant par preupgrade
, suivi du nom de votre cluster de bases de données, de la version du moteur source, de la version du moteur cible et de la date.
Note
Si vous essayez de procéder à une mise à niveau alors qu'une action en attente est en cours, une erreur telle que la suivante peut survenir :
We're sorry, your request to modify DB cluster (cluster identifier) has failed. Cannot modify engine version because instance (instance identifier) is running on an old configuration. Apply any pending maintenance actions on the instance before proceeding with the upgrade.
Si vous rencontrez cette erreur, attendez que l'action en attente soit terminée ou déclenchez immédiatement une fenêtre de maintenance pour laisser la mise à niveau précédente se terminer.
Pour plus d'informations sur la mise à niveau de la version du moteur , consultez Maintenance du cluster de bases de données Amazon Neptune. Si vous avez des questions ou des préoccupations, l'équipe de AWS support est disponible sur les forums communautaires et via le support AWS Premium