Moteur Amazon Neptune Version 1.1.0.0 (2021-11-19) - 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.

Moteur Amazon Neptune Version 1.1.0.0 (2021-11-19)

Depuis le 19 novembre 2021, la version 1.1.0.0 du moteur est généralement déployée. Veuillez noter 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 déclenche également une mise à niveau du système d'exploitation sur toutes les instances de votre cluster de base de données. Étant donné que les demandes d'écriture actives qui se produisent pendant la mise à niveau du système d'exploitation ne seront pas traitées, vous devez suspendre toutes les charges de travail d'écriture sur le cluster en cours de mise à niveau, y compris les chargements de données en masse, avant de commencer la mise à niveau.

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

Une fois la mise à niveau du moteur elle-même terminée, la nouvelle version du moteur sera disponible brièvement sur l'ancien système d'exploitation, mais en moins de 5 minutes, toutes les instances de votre cluster commenceront simultanément une mise à niveau du système d'exploitation. Votre cluster de base de données ne sera pas disponible à ce stade pendant environ 6 minutes. Vous pouvez 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énement par instance :

    • Applying off-line patches to DB instance

    • DB instance shutdown

    • Finished applying off-line patches to DB instance

    • DB instance restarted

Note

À compter de cette version du moteur, Neptune ne prend plus en charge les types d'R4instance. Si vous utilisez uneR4 instance dans votre cluster de base de données, vous devez la remplacer manuellement par un autre type d'instance avant de procéder à la mise à niveau vers cette version. Si votre instance Writer est une instanceR4, suivez ces instructions pour la déplacer.

Versions de correctifs suivantes pour cette version

Nouvelles fonctionnalités pour cette version du moteur

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

    Pour plus d'informations sur les tarifs et la disponibilité régionale, consultez la page de tarification d'Amazon Neptune.

  • Modèles personnalisés introduits dans Neptune ML.

  • Ajout du support pour les requêtes d'inférence SPARQL dans Neptune ML.

  • Ajout d'un nouveau point de terminaison des 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 terminaisonPG_JSON, nommé, est exactement le même que leGREMLIN_JSON format de sortie de l'anciengremlin/stream.

    Le nouveaupropertygraph/stream point de terminaison étend la prise en charge des flux Neptune à OpenCypher et remplace legremlin/stream point de terminaison par son formatGREMLIN_JSON de sortie associé.

Améliorations de cette version du moteur

  • Améliorations apportées aux flux Neptune :

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

  • Ajout du support pour laOPTIONAL MATCH clause dans OpenCypher.

  • Ajout du support pour laMERGE clause dans OpenCypher.

  • Ajout du support pour l'utilisation deWITH clausesORDER BY in dans OpenCypher.

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

  • Support étendu pour lesDELETE DETACH clausesDELETE et dans OpenCypher, de sorte qu'elles peuvent désormais être utilisées avec d'autres clauses de mise à jour.

  • Support étendu pour lesUPDATE clausesCREATE et clauses utilisées avecRETURN dans OpenCypher.

  • Ajout du support dans le moteur DFE pour le Gremlinlimitrange, etskip Steps.

  • Amélioration de l'exécution des requêtes dans le moteur DFE lorsqueexplain rien n'profileest demandé.

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

  • Un certain nombre de modèles d'insertion conditionnelle Gremlin enchaînés ont été améliorés afin d'éviter les exceptions de modification simultanée et de permettre l'enchaînement 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, telles que :

      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 de bords avec plusieurs étiquettes, telles que :

      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, telle que :

      g.V(ID).fold().coalesce(unfold(), g.addV("L1").property(id,ID)).project("myvalues").by(valueMap())
    • Insertion conditionnelle avec des propriétés supplémentaires, telles que :

      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'T3.mediuminstances, qui n'étaient pas en mesure de la prendre en charge.

  • Correction d'un bogue SPARQLexplain avec uneIN fonction qui prenait des valeurs non constantes.

Versions en langage de requête prises en charge dans cette version

Avant de mettre à niveau un cluster de base de données vers la version 1.1.0.0, assurez-vous que votre projet est compatible avec les versions du langage de requête suivantes :

  • Version Gremlin :3.4.11

  • Version de SPARQL :1.1

Chemins de mise à niveau vers la version 1.1.0.0 du moteur

Vous pouvez mettre à niveau manuellement n'importe quelle version précédente du moteur Neptune vers cette version.

Vous ne serez pas automatiquement mis à niveau vers cette version.

Mise à niveau vers cette version

Si un cluster de base de données exécute une version du 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 du cluster de base de données sur la console ou à l'aide du SDK. La commande CLI suivante mettra immédiatement à niveau un cluster éligible :

Pour Linux, OS X ou Unix :

aws neptune modify-db-cluster \ --db-cluster-identifier (your-neptune-cluster) \ --engine neptune \ --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 neptune ^ --engine-version 1.1.0.0 ^ --allow-major-version-upgrade ^ --apply-immediately

Au lieu de--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. Veillez également à inclure la version du moteur, sinon il se peut que votre moteur soit mis à niveau vers une version différente.

Si votre cluster utilise un groupe de paramètres de base 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)

Faites-le toujours un test avant la mise à niveau

Lorsqu'une nouvelle version majeure ou mineure du moteur Neptune est publiée, testez toujours vos applications Neptune dessus 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 votre code.

Commencez par comparer les pages de notes de publication de votre version actuelle à celles de la version ciblée pour voir s'il y aura des modifications dans les versions du langage de requête ou d'autres modifications majeures.

La meilleure façon de tester une nouvelle version avant de mettre à niveau votre cluster de base de données de production est de cloner votre cluster de production afin que le clone exécute la nouvelle version du moteur. Vous pouvez ensuite exécuter des requêtes sur le clone sans affecter le cluster de base de données de production.

Créez toujours 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 de votre cluster de bases de données. Le fait de disposer d'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 vous ne devez pas vous y fier et devez créer votre propre instantané manuel dans tous les cas.

Lorsque vous êtes certain de ne pas avoir besoin de rétablir l'état de votre cluster de base de données avant la mise à niveau, vous pouvez supprimer explicitement l'instantané manuel que vous avez créé vous-même, ainsi que l'instantané manuel que Neptune aurait pu créer. Si Neptune crée un instantané manuel, son nom commence parpreupgrade, suivi du nom de votre cluster de base 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 à la mise à niveau alors qu'une action en attente est en cours, vous risquez de rencontrer une erreur telle que la suivante :

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 la fin de l'action en attente ou déclenchez immédiatement une fenêtre de maintenance pour terminer la mise à niveau précédente.

Pour de plus amples informations sur la mise à niveau de la version de votre moteur, veuillez consulterMises à jour du moteur Neptune. En cas de question ou de doute, l'équipe deAWS support est disponible sur les forums de la communauté et via AWSPremium Support.