Versión 1.1.0.0 del motor de Amazon Neptune (19/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.1.0.0 del motor de Amazon Neptune (19/11/2021)

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

importante

La actualización a esta versión del motor desde una versión anterior a 1.1.0.0 también desencadena una actualización del sistema operativo en todas las instancias del clúster de base de datos. Dado que las solicitudes de escritura activas que se produzcan durante la actualización del sistema operativo no se procesarán, debe pausar todas las cargas de trabajo de escritura en el clúster que se va a actualizar, incluidas las cargas masivas de datos, antes de iniciar la actualización.

Para completar la actualización correctamente, cada subred de cada zona de disponibilidad (AZ) debe tener al menos una dirección IP disponible por instancia de Neptune. Por ejemplo, si hay una instancia de escritor y dos instancias de lector en la subred 1 y dos instancias de lector en la subred 2, la subred 1 debe tener al menos 3 direcciones IP libres y la subred 2 debe tener al menos 2 direcciones IP libres antes de iniciar la actualización.

Al inicio de la actualización, Neptune genera una instantánea con un nombre que se compone de preupgrade seguido de un identificador generado automáticamente en función de la información del clúster de base de datos. No se le cobrará por esta instantánea y podrá utilizarla para restaurar el clúster de base de datos si se produce algún problema durante el proceso de actualización.

Cuando se complete la propia actualización del motor, la nueva versión del motor estará disponible brevemente en el sistema operativo anterior, pero en menos de cinco minutos todas las instancias del clúster comenzarán simultáneamente a actualizar el sistema operativo. El clúster de base de datos no estará disponible en este momento durante varios minutos. Puede reanudar cargas de trabajo de escritura una vez finalizada la actualización.

Este proceso genera los siguientes eventos:

  • Mensajes de eventos por clúster:

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

    • Database cluster major version has been upgraded

  • Mensajes de eventos por instancia:

    • Applying off-line patches to DB instance

    • DB instance shutdown

    • Finished applying off-line patches to DB instance

    • DB instance restarted

nota

A partir de esta versión del motor, Neptune ya no admite los tipos de instancias R4. Si utiliza una instancia R4 en el clúster de base de datos, debe sustituirla manualmente por otro tipo de instancia antes de actualizar a esta versión. Si la instancia de escritor es R4, siga estas instrucciones para moverla.

Versiones de parche posteriores para esta versión

Nuevas características de esta versión del motor

  • Se han introducido instancias de bases de datos T4g de uso general y R6g optimizadas para memoria con el procesador Graviton2 de AWS. Las instancias basadas en Graviton2 ofrecen una relación precio/rendimiento mucho mejor que las instancias comparables basadas en x86 de la generación actual para una variedad de cargas de trabajo. Las aplicaciones funcionan de forma normal en estos nuevos tipos de instancias y no es necesario transferir el código de la aplicación al actualizarlas.

    Para obtener más información acerca de los precios y la disponibilidad en las regiones, consulte la página de precios de Amazon Neptune.

  • Se han introducido modelos personalizados en Neptune ML.

  • Se ha añadido compatibilidad con consultas de inferencia de SPARQL en Neptune ML.

  • Se ha añadido un nuevo punto de conexión de transmisiones para datos de gráficos de propiedades, en concreto:

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

    El formato de salida de este punto de conexión, denominado PG_JSON, es exactamente el mismo que el formato de salida GREMLIN_JSON del anterior gremlin/stream.

    El nuevo punto de conexión propertygraph/stream amplía el soporte de transmisión de Neptune a openCypher y reemplaza el punto de conexión gremlin/stream con su formato de salida GREMLIN_JSON asociado.

Mejoras en esta versión del motor

  • Se han realizado mejoras en las transmisiones de Neptune:

  • Se ha añadido soporte para obtener la puntuación de confianza de inferencia en las consultas de regresión y clasificación de nodos de Gremlin.

  • Se ha añadido compatibilidad con la cláusula OPTIONAL MATCH de openCypher.

  • Se ha añadido compatibilidad con la cláusula MERGE de openCypher.

  • Se ha añadido compatibilidad para utilizar ORDER BY en las cláusulas WITH de openCypher.

  • Se ha añadido soporte para la comprensión de patrones en openCypher y se ha ampliado el soporte para la expresión de patrones más allá de la comprobación de la existencia.

  • Se ha ampliado la compatibilidad con las cláusulas DELETE y DELETE DETACH en openCypher, de modo que ahora se pueden utilizar con otras cláusulas de actualización.

  • Se ha ampliado la compatibilidad con las clausulas CREATE y UPDATE utilizadas con RETURN en openCypher.

  • Se ha añadido compatibilidad con el motor DFE para los pasos limit, range y skip de Gremlin.

  • Se ha mejorado la ejecución de consultas en el motor DFE cuando no se solicita explain ni profile.

  • Se ha mejorado la ejecución de consultas en el motor DFE para la expresión value.

  • Se han mejorado varios patrones de inserción condicional encadenados de Gremlin para evitar excepciones de modificación simultánea y permitir el encadenamiento de patrones de consulta como los siguientes:

    • Inserción condicional de vértices por ID, como, por ejemplo:

      g.V(ID).fold().coalesce(unfold(), g.addV("L1").property(id,ID))
    • Inserción condicional de vértices con varias etiquetas, como, por ejemplo:

      g.V(ID).fold().coalesce(unfold(), g.addV("L1::L2").property(id,ID))
    • Inserción condicional de bordes por identificador, como, por ejemplo:

      g.E(ID).fold().coalesce(unfold(), V(from).addE(label).to(V(to)).property(id, ID))
    • Inserción condicional de bordes con varias etiquetas, como, por ejemplo:

      g.E(ID).fold().coalesce(unfold(), g.addE(label).from(V(from)).to(V(to)).property(id, ID))
    • Inserción condicional seguida de una consulta, como, por ejemplo:

      g.V(ID).fold().coalesce(unfold(), g.addV("L1").property(id,ID)).project("myvalues").by(valueMap())
    • Inserción condicional con propiedades añadidas, como, por ejemplo:

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

Defectos corregidos en esta versión del motor

  • Se ha deshabilitado la característica estadísticas en los tipos de instancias T3.medium que no podían admitirla.

  • Se ha corregido un error de SPARQL en explain con una función IN que tomaba valores no constantes.

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.1.0.0, asegúrese de que el proyecto sea compatible con estas versiones de lenguaje de consulta:

  • Versión de Gremlin: 3.4.11

  • Versión de SPARQL: 1.1

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

Puede actualizar manualmente cualquier versión anterior del motor de Neptune a esta versión.

No se actualizará automáticamente a esta versión.

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

Para Windows:

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

En lugar de --apply-immediately, puede especificar --no-apply-immediately. Para realizar una actualización de versión principal, es necesario el parámetro allow-major-version-upgrade. 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 tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de AWS Premium Support.