Version 1.1.0.0 du moteur Amazon Neptune (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.

Version 1.1.0.0 du moteur Amazon Neptune (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 bases de données. Comme les demandes d'écriture actives qui se produisent lors de 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 à

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

Une fois la mise à niveau du moteur 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 bases 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énement 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 chargeR4types d'instance.

Versions de correctifs ultérieures pour cette version

Nouvelles fonctionnalités pour cette version du moteur

  • Introduction d'un usage généralT4get optimisé pour la mémoireR6ginstances de base de données alimentées parAWSProcesseur Graviton2. Les instances basées sur Graviton 2 offrent un rapport prix/performances nettement supérieur à celui des instances x86 comparables de génération actuelle pour une variété de charges de travail. Les applications fonctionnent normalement sur ces nouveaux types d'instances, et il n'est pas nécessaire de porter le code de l'application lorsque vous effectuez une mise à niveau vers ces nouveaux types d'instances.

    Pour de plus amples informations sur la tarification et la disponibilité régionale, veuillez consulter lePage de tarification Amazon Neptune.

  • Introduitmodèles personnalisésdans Neptune ML.

  • Ajout de la prise en charge deRequêtes d'inférence SPARQdans Neptune ML.

  • Ajoutéun nouveau terminal de fluxpour les données du graphe des propriétés, à savoir :

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

    Le format de sortie de ce point de terminaison, nomméPG_JSON, est exactement la même que laGREMLIN_JSONformat de sortie par l'anciengremlin/stream.

    La nouvellepropertygraph/streamendpoint étend la prise en charge du flux Neptune à OpenCypher et remplace legremlin/streampoint de terminaison associéGREMLIN_JSONformat des résultats.

Améliorations de cette version du moteur

  • Améliorations apportées aux flux Neptune :

  • Ajout de la prise en charge de laScore de confiance d'inférencedans les requêtes de classification et de régression des nœuds Gremlin.

  • Ajout de la prise en charge deOPTIONAL MATCHclause dans OpenCypher.

  • Ajout de la prise en charge deMERGEclause dans OpenCypher.

  • Ajout de la prise en charge deORDER BYdansWITHclauses 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 d'existence.

  • Support étendu pourDELETEetDELETE DETACHclauses dans OpenCypher, afin qu'elles puissent désormais être utilisées avec d'autres clauses de mise à jour.

  • Support étendu pourCREATEetUPDATEClauses utilisées avecRETURNdans OpenCypher.

  • Ajout du support dans le moteur DFE pour le Gremlinlimit,range, etskipÉtapes.

  • Amélioration de l'exécution des requêtes dans le moteur DFE lorsque niexplainniprofileest demandé.

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

  • Amélioration d'un certain nombre de 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êtes tels que ceux-ci :

    • Insertion conditionnelle de sommets par ID, telle que :

      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 de bords par ID, telle que :

      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ésactivé lestatistiquesfonction surT3.mediumtypes d'instance, qui n'étaient pas en mesure de le prendre en charge.

  • Correction d'un bug SPARQL dansexplainavec unINfonction qui a pris des valeurs non constantes.

Versions en 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 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

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 tout 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 permet de mettre à niveau immédiatement 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 le paramètre est obligatoire. Veillez également à inclure la version du moteur, sinon votre moteur pourrait être mis à niveau vers une version différente.

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)

Testez toujours avant la mise à niveau

Lorsqu'une nouvelle version majeure ou mineure du moteur Neptune est publiée, testez toujours vos applications Neptune sur celle-ci 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 cible 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 d'effectuer une mise à niveau, nous vous recommandons vivement de toujours créer un instantané manuel de votre cluster de bases de données. Un instantané automatique n'offre qu'une protection à court terme, alors 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 vous 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 bases 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 a pu créer. Si Neptune crée un instantané manuel, il portera un nom commençant parpreupgrade, 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.

Pour de plus amples informations sur la mise à niveau de la version de votre moteurMises à jour du moteur Neptune. Si vous avez des questions, veuillez contacter leAWSL'équipe de support est disponible sur les forums de la communauté et viaAWSSupport Premium Support.