Version 1.1.0.0 du moteur Amazon Neptune (19/11/2021) - Amazon Neptune

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.1.0.0 du moteur Amazon Neptune (19/11/2021)

Depuis le 19 novembre 2021, la version 1.1.1.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.

Important

La mise à niveau vers cette version du moteur à partir d'une version antérieure à 1.1.0.0 déclenche également une mise à niveau du système d'exploitation sur toutes les instances de votre cluster de bases de données. Étant donné que les demandes d'écriture actives qui se produisent pendant la mise à niveau du système d'exploitation ne sont pas traitées, vous devez suspendre toutes les charges de travail d'écriture dans le cluster en cours de mise à niveau, y compris les chargements de données en bloc, avant de démarrer la mise à niveau.

Afin de mener à bien la mise à niveau, chaque sous-réseau de chaque zone de disponibilité (AZ) doit disposer d'au moins une adresse IP disponible par instance Neptune. Par exemple, s'il existe une instance d'enregistreur et deux instances de lecteur dans le sous-réseau 1, et deux instances de lecteur dans le sous-réseau 2, le sous-réseau 1 doit avoir au moins trois adresses IP libres, tandis que le sous-réseau 2 doit avoir au moins deux adresses IP libres avant de commencer la mise à niveau.

Au début de la mise à niveau, Neptune génère un instantané dont le nom est composé de preupgrade suivi d'un identifiant généré automatiquement en fonction des informations de votre cluster de bases de données. Cet instantané ne vous est pas facturé. Vous pouvez l'utiliser pour restaurer votre cluster de bases de données en cas de problème pendant le processus de mise à niveau.

Lorsque la mise à niveau du moteur elle-même sera terminée, la nouvelle version du moteur sera brièvement disponible sur l'ancien système d'exploitation, mais en moins de cinq minutes, toutes les instances de votre cluster commenceront simultanément une mise à niveau du système d'exploitation. Votre cluster de bases de données sera alors indisponible pendant quelques minutes. Vous pourrez reprendre les charges de travail d'écriture une fois la mise à niveau terminée.

Ce processus génère les événements suivants :

  • Messages d'événements par cluster :

    • Upgrade in progress: Creating pre-upgrade snapshot [preupgrade-(autogenerated snapshot ID)]

    • Database cluster major version has been upgraded

  • Messages d'événements par instance :

    • Applying off-line patches to DB instance

    • DB instance shutdown

    • Finished applying off-line patches to DB instance

    • DB instance restarted

Note

À partir de cette version du moteur, Neptune ne prend plus en charge les types d'instances R4. Si vous utilisez une instance R4 dans votre cluster de bases de données, vous devrez la remplacer manuellement par un autre type d'instance avant de passer à cette version. Si vous utilisez une instance d'enregistreur R4, suivez ces instructions pour la déplacer.

Versions de correctifs ultérieures pour cette version

Nouvelles fonctionnalités pour cette version du moteur

  • Introduction d'instances de base de données T4g polyvalentes et R6g optimisées pour la mémoire, alimentées par le processeur AWS Graviton2. Les instances basées sur Graviton2 offrent un rapport prix/performances nettement supérieur à celui des instances x86 comparables de génération actuelle pour diverses charges de travail. Les applications fonctionnent normalement sur ces nouveaux types d'instances. Il n'est donc pas nécessaire de transférer le code des applications lors de la mise à niveau vers ces nouveaux types d'instances.

    Pour plus d'informations sur la disponibilité et la tarification d'une région, consultez la page Tarification Amazon Neptune.

  • Ajout des modèles personnalisés dans Neptune ML.

  • Ajout de la prise en charge des requêtes d'inférence SPARQL dans Neptune ML.

  • Ajout d'un nouveau point de terminaison de flux pour les données du graphe de propriétés, à savoir :

    https://Neptune-DNS:8182/propertygraph/stream

    Le format de sortie de ce point de terminaison, nommé PG_JSON, est exactement le même que le format GREMLIN_JSON généré par l'ancien flux gremlin/stream.

    Ce nouveau point de terminaison propertygraph/stream étend la prise en charge des flux Neptune à openCypher et remplace le point de terminaison gremlin/stream par le format de sortie GREMLIN_JSON associé.

Améliorations de cette version du moteur

  • Améliorations apportées aux flux Neptune :

  • Ajout de la prise en charge du score de confiance de l'inférence dans les requêtes de classification et de régression des nœuds Gremlin.

  • Ajout de la prise en charge de la clause OPTIONAL MATCH dans openCypher.

  • Ajout de la prise en charge de la clause MERGE dans openCypher.

  • Ajout de la prise en charge de l'utilisation de ORDER BY dans les clauses WITH dans openCypher.

  • Ajout de la prise en charge de la compréhension des modèles dans openCypher et ajout d'une prise en charge étendue de l'expression des modèles au-delà de la vérification de leur existence.

  • Prise en charge étendue des clauses DELETE et DELETE DETACH dans openCypher, de sorte qu'elles peuvent désormais être utilisées avec d'autres clauses de mise à jour.

  • Prise en charge étendue des clauses CREATE et UPDATE utilisées avec RETURN dans openCypher.

  • Ajout dans le moteur DFE de la prise en charge des étapes Gremlin limit, range et skip.

  • Amélioration de l'exécution des requêtes dans le moteur DFE lorsque ni explain, ni profile ne sont demandés.

  • Amélioration de l'exécution des requêtes dans le moteur DFE pour l'expression value.

  • Amélioration de divers modèles d'insertion conditionnelle Gremlin enchaînés afin d'éviter les exceptions de modification simultanée et de permettre le chaînage de modèles de requête tels que ceux-ci :

    • Insertion conditionnelle de sommets par ID, par exemple :

      g.V(ID).fold().coalesce(unfold(), g.addV("L1").property(id,ID))
    • Insertion conditionnelle de sommets avec plusieurs étiquettes, par exemple :

      g.V(ID).fold().coalesce(unfold(), g.addV("L1::L2").property(id,ID))
    • Insertion conditionnelle d'arêtes par ID, par exemple :

      g.E(ID).fold().coalesce(unfold(), V(from).addE(label).to(V(to)).property(id, ID))
    • Insertion conditionnelle d'arêtes avec plusieurs étiquettes, par exemple :

      g.E(ID).fold().coalesce(unfold(), g.addE(label).from(V(from)).to(V(to)).property(id, ID))
    • Insertion conditionnelle suivie d'une requête, par exemple :

      g.V(ID).fold().coalesce(unfold(), g.addV("L1").property(id,ID)).project("myvalues").by(valueMap())
    • Insertion conditionnelle avec propriétés ajoutées, par exemple :

      g.V(ID).fold().coalesce(unfold(), g.addV("L1").property(id,ID).property("name","pumba"))

Défauts corrigés dans cette version du moteur

  • Désactivation de la fonctionnalité de statistiques sur les types d'instances T3.medium, qui n'étaient pas en mesure de la prendre en charge.

  • Correction d'un bogue SPARQL lié à explain où une fonction IN utilisait des valeurs non constantes.

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.1.0.0, assurez-vous que votre projet est compatible avec les versions de langage de requête suivantes :

  • Version Gremlin : 3.4.11

  • Version SPARQL : 1.1

Chemins de mise à niveau vers la version de moteur 1.1.0.0

Vous pouvez mettre à niveau manuellement n'importe quelle version antérieure du moteur Neptune vers cette version.

La mise à niveau vers cette version n'est pas automatique.

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.1.0.0 \ --allow-major-version-upgrade \ --apply-immediately

Pour Windows :

aws neptune modify-db-cluster ^ --db-cluster-identifier (your-neptune-cluster) ^ --engine-version 1.1.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 paramètre allow-major-version-upgrade 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. En cas de question ou de doute, l'équipe AWS Support est disponible sur les forums de la communauté et via AWS Premium Support.