Version 1.1.1.0.R6 du moteur Amazon Neptune (23/09/2022) - 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.1.0.R6 du moteur Amazon Neptune (23/09/2022)

Depuis le 23 septembre 2022, la version 1.1.1.0.R6 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

Cette version apporte une modification majeure du code qui utilise openCypher avec l'authentification IAM. Jusqu'à présent, la chaîne d'hôte contenue dans la signature IAM incluait le protocole bolt://, par exemple :

"Host":"bolt://(host URL):(port)"

À compter de la version du moteur 1.1.1.0, ce protocole doit être omis :

"Host":"(host URL):(port)"

Pour obtenir des exemples, consultez Utilisation du protocole Bolt.

Améliorations de cette version du moteur

  • Amélioration des performances des requêtes Gremlin order-by. Les requêtes Gremlin avec order-by à la fin d'une étape NeptuneGraphQueryStep utilisent désormais une taille de bloc plus grande pour de meilleures performances. Cela ne s'applique pas à order-by sur un nœud interne (non root) du plan de requête.

  • Amélioration des performances des requêtes de mise à jour Gremlin. Les sommets et les arêtes doivent désormais être verrouillés pour empêcher toute suppression lors de l'ajout d'arêtes ou de propriétés. Cette modification élimine les verrouillages en double au sein d'une transaction, ce qui améliore les performances.

Défauts corrigés dans cette version du moteur

  • Correction d'un bogue openCypher dans la clause MERGE qui, dans certains cas, provoquait la création de nœuds et d'arêtes en double.

  • Correction d'un bogue lié au traitement des requêtes SPARQL contenant (NOT) EXISTS dans une clause OPTIONAL où il manquait les résultats des requêtes dans certains cas.

  • Correction d'un bogue qui retardait le redémarrage du serveur lorsqu'un chargement en bloc était en cours.

  • Correction d'un bogue où la traversée bidirectionnelle d'un modèle de longueur variable openCypher avec un filtre sur la propriété de relation provoquait une erreur. Un exemple de modèle à longueur variable de ce type est (n)-[r*1..2]->(m).

  • Correction d'un bogue lié à la manière dont les données mises en cache sont renvoyées au client, avec une latence étonnamment longue dans certains cas.

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.1.0.R6, 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.5.2

  • Dernière version de Gremlin est prise en charge : 3.5.4

  • Version d'openCypher : Neptune-9.0.20190305-1.0

  • Version SPARQL : 1.1

Chemins de mise à niveau vers la version de moteur 1.1.1.0.R6

Votre cluster sera automatiquement mis à niveau vers cette version de correctif lors de votre prochaine fenêtre de maintenance si vous exécutez la version de moteur 1.1.1.0.

Mise à niveau vers cette version

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.

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 indisponible à ce stade pendant environ six 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

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.1.0 \ --apply-immediately

Pour Windows :

aws neptune modify-db-cluster ^ --db-cluster-identifier (your-neptune-cluster) ^ --engine-version 1.1.1.0 ^ --apply-immediately

Les mises à jour sont appliquées simultanément à toutes les instances figurant dans un cluster de bases de données. Une mise à jour nécessite un redémarrage de la base de données sur ces instances. Vous subirez donc un temps d'arrêt allant de 20-30 secondes à plusieurs minutes, après quoi vous pourrez reprendre l'utilisation du cluster de bases de données.

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.