Versión 1.3.0.0 del motor de Amazon Neptune (15/11/2021) - Amazon Neptune

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Versión 1.3.0.0 del motor de Amazon Neptune (15/11/2021)

A partir del 15 de noviembre de 2023, se implementará de forma general la versión 1.3.0.0 del motor. Tenga en cuenta que las versiones nuevas tardan unos días en estar disponibles en todas las regiones.

nota

En la versión 1.3.0.0 del motor, se introdujo un nuevo formato para los grupos de parámetros personalizados y los grupos de parámetros de clústeres personalizados. En consecuencia, si va a actualizar una versión de motor anterior a la 1.3.0.0 a una versión de motor 1.3.0.0 o posterior, debe volver a crear todos los grupos de parámetros personalizados y los grupos de parámetros de clúster personalizados existentes utilizando la familia de grupos de parámetros neptune1.3. En las versiones anteriores, se utilizaba la familia de grupos de parámetros neptune1 o neptune1.2, y esos grupos de parámetros no funcionan con la versión 1.3.0.0 y las versiones posteriores. Para obtener más información, consulte Grupos de parámetros de Amazon Neptune.

Nuevas características de esta versión del motor

  • Se ha lanzado la API de datos de Neptune.

    La API de datos de Amazon Neptune proporciona compatibilidad con el SDK para más de 40 operaciones de datos de Neptune, incluidas la carga de datos, la ejecución de consultas, la consulta de datos y machine learning. Es compatible con los tres lenguajes de consulta de Neptune (Gremlin, openCypher y SPARQL) y está disponible en todos los lenguajes del SDK. Firma automáticamente las solicitudes de la API y simplifica considerablemente la integración de Neptune en sus aplicaciones.

  • Se agregó soporte para integrar OpenSearchServerless con Neptune.

Mejoras en esta versión del motor

Mejoras en las actualizaciones del motor de Neptune

Neptune ha cambiado la forma en que publica las actualizaciones del motor para que pueda tener más control sobre el proceso de actualización. En lugar de publicar parches para cambios de no separación, Neptune ahora publica versiones secundarias que se pueden controlar mediante el campo de instancia AutoMinorVersionUpgrade y sobre las que puede recibir notificaciones suscribiéndose al evento RDS-EVENT-0156.

Consulte Mantenimiento del clúster de base de datos de Amazon Neptune para obtener más información sobre estos cambios.

Mejora del cifrado en tránsito

Neptune ya no admite los conjuntos de cifrado siguientes:

  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA

  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA

Neptune solo admite los siguientes conjuntos de cifrado seguro con 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

Mejoras de Gremlin
  • Se ha añadido compatibilidad con el motor DFE para los siguientes pasos de Gremlin.

    • FoldStep

    • GroupStep

    • GroupCountStep

    • TraversalMapStep

    • UnfoldStep

    • LabelStep

    • PropertyKeyStep

    • PropertyValueStep

    • AndStep

    • OrStep

    • ConstantStep

    • CountGlobalStep

  • Se han optimizado los planes de consulta de DFE de Gremlin para evitar escaneos completos de vértices cuando se utiliza la modulación by().

  • Se ha mejorado considerablemente el rendimiento de las consultas de cardinalidad baja y latencia baja.

  • Se agregó compatibilidad con DFE para TinkerPop Or los predicados de filtro.

  • Se ha mejorado la compatibilidad con DFE del recorrido para filtros en la misma clave, para consultas como las siguientes:

    g.withSideEffect("Neptune#useDFE", true) .V() .has('name', 'marko') .and( or( has('name', eq("marko")), has('name', eq("vardas")) ) )
  • Se ha mejorado el control de errores del paso fail().

Mejoras de openCypher
  • Se ha mejorado considerablemente el rendimiento de las consultas de cardinalidad baja y latencia baja.

  • Se ha mejorado el rendimiento de planificación de consultas cuando la consulta contiene muchos tipos de nodos.

  • Se ha reducido la latencia de todas las consultas de VLP.

  • Se ha mejorado el rendimiento al eliminar las uniones de canalización redundantes para consultas de patrones de un único nodo.

  • Se ha mejorado el rendimiento para consultas que contienen patrones de varios saltos con ciclos, como este:

    MATCH (n)-->()-->()-->(m) RETURN n m
Mejoras de SPARQL
  • Se ha introducido un nuevo operador SPARQL: PipelineHashIndexJoin

  • Se ha mejorado el rendimiento de la validación de URI para consultas SPARQL.

  • Se ha mejorado el rendimiento de las consultas de búsqueda de texto completo de SPARQL mediante la resolución por lotes de términos del diccionario.

Defectos corregidos en esta versión del motor

Correcciones de Gremlin
  • Se ha corregido un error de Gremlin que provocaba que se produjera una fuga de transacciones al comprobar el punto de conexión del estado de la consulta de Gremlin de las consultas con predicados en los recorridos secundarios para los pasos que no se procesaban de forma nativa en el motor DFE.

  • Se ha corregido un error de Gremlin que provocaba que valueMap() no se optimizara en el motor DFE en recorridos by().

  • Se ha corregido un error de Gremlin en el que una etiqueta de paso adjunta a UnionStep no se propagase al último elemento de la ruta de sus recorridos secundarios.

  • Se ha corregido un error de Gremlin que provocaba que una consulta fallara porque contenía demasiados TinkerPop pasos y, por lo tanto, no se limpiaba.

  • Se ha corregido un error de Gremlin en el que se generaba una NullPointerException en los pasos mergeV y mergeE

  • Se ha corregido un error de Gremlin por el que order() no podía ordenar correctamente las salidas de cadena cuando algunas de ellas incluían un carácter de espacio.

  • Se ha corregido un problema de corrección de Gremlin que se producía cuando el paso valueMap se procesaba en el motor DFE.

  • Se ha corregido un problema de corrección de Gremlin que se producía cuando GroupStep o GroupCountStep se anidaban en un recorrido de clave.

Correcciones de openCypher
  • Se ha corregido un error de openCypher que implicaba el control de errores en torno a los caracteres NULL.

  • Se ha corregido un error en el control de transacciones de openCypher Bolt.

Correcciones de SPARQL
  • Se ha corregido un error de SPARQL que provocaba que los valores dentro de las funciones recursivas no se resolvieran correctamente.

  • Se ha corregido un error de SPARQL que provocaba una disminución del rendimiento cuando se inyectaban un gran número de valores mediante la cláusula VALUES.

  • Se ha corregido un error de SPARQL que el operador REGEX no funcionara correctamente cuando se llamaba desde un literal etiquetado en un lenguaje.

Versiones de lenguaje de consulta admitidas en esta versión

Antes de actualizar un clúster de base de datos a la versión 1.3.0.0, asegúrese de que el proyecto sea compatible con estas versiones de lenguaje de consulta:

  • Compatible con la primera versión de Gremlin: 3.6.2

  • Compatible con la última versión de Gremlin: 3.6.4

  • Versión de openCypher: Neptune-9.0.20190305-1.0

  • Versión de SPARQL: 1.1

Rutas de actualización a la versión 1.3.0.0 del motor

Puede actualizar a esta versión desde la versión 1.2.0.0 o superior del motor.

Actualización a esta versión

Si un clúster de base de datos ejecuta una versión de motor desde la que existe una ruta de actualización a esta versión, puede actualizarse ahora. Puede actualizar cualquier clúster que cumpla los requisitos mediante las operaciones del clúster de base de datos de la consola o mediante el SDK. El siguiente comando de la CLI actualizará inmediatamente un clúster que cumpla los requisitos:

Para Linux, OS X o Unix:

aws neptune modify-db-cluster \ --db-cluster-identifier (your-neptune-cluster) \ --engine-version 1.3.0.0 \ --allow-major-version-upgrade \ --apply-immediately

Para Windows:

aws neptune modify-db-cluster ^ --db-cluster-identifier (your-neptune-cluster) ^ --engine-version 1.3.0.0 ^ --allow-major-version-upgrade ^ --apply-immediately

En lugar de --apply-immediately, puede especificar --no-apply-immediately. Para realizar una actualización importante de una versión, se requiere el allow-major-version-upgrade parámetro. Además, asegúrese de incluir la versión del motor, ya que es posible que el motor se actualice a otra versión.

Si el clúster utiliza un grupo de parámetros del clúster personalizado, asegúrese de incluir este parámetro para especificarlo:

--db-cluster-parameter-group-name (name of the custom DB cluster parameter group)

Del mismo modo, si alguna instancia del clúster utiliza un grupo de parámetros de base de datos personalizado, asegúrese de incluir este parámetro para especificarlo:

--db-instance-parameter-group-name (name of the custom instance parameter group)

Realice siempre una prueba antes de realizar la actualización

Cuando se publique una nueva versión principal o secundaria del motor de Neptune, pruebe siempre las aplicaciones de Neptune en ella antes de actualizar. Incluso en una actualización secundaria podría haber nuevas características o comportamientos que podrían afectar al código.

Comience por comparar las páginas de notas de la versión actual con las de la versión de destino para ver si hay cambios en las versiones del lenguaje de consulta u otros cambios importantes.

La mejor forma de probar una nueva versión antes de actualizar el clúster de base de datos de producción es clonar el clúster de producción para que el clon ejecute la nueva versión del motor. A continuación, puede ejecutar consultas en el clon sin que eso afecte al clúster de base de datos de producción.

Cree siempre una instantánea manual antes de realizar la actualización

Antes de realizar una actualización, se recomienda crear siempre una instantánea manual del clúster de base de datos. Una instantánea automática solo ofrece protección a corto plazo, mientras que una instantánea manual está disponible hasta que la elimine explícitamente.

En algunos casos, Neptune crea una instantánea manual para usted como parte del proceso de actualización, pero no debe confiar en eso y crear su propia instantánea manual.

Cuando tenga la seguridad de que no necesitará revertir el clúster de base de datos al estado anterior a la actualización, puede eliminar de forma explícita la instantánea manual que ha creado, así como la instantánea manual que Neptune podría haber creado. Si Neptune crea una instantánea manual, tendrá un nombre que empieza por preupgrade, seguido del nombre del clúster de base de datos, la versión del motor de origen, la versión del motor de destino y la fecha.

nota

Si intenta realizar la actualización mientras hay una acción pendiente en proceso, es posible que se produzca un error como el siguiente:

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 se produce este error, espere a que finalice la acción pendiente o active inmediatamente un periodo de mantenimiento para que se complete la actualización anterior.

Para obtener más información sobre la actualización de la versión del motor, consulte Mantenimiento del clúster de base de datos de Amazon Neptune. Si tienes alguna pregunta o duda, el equipo de AWS Soporte está disponible en los foros de la comunidad y a través del Soporte AWS Premium.