Versión 1.2.0.1 del motor de Amazon Neptune (26/10/2022) - 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.2.0.1 del motor de Amazon Neptune (26/10/2022)

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

nota

Si se realiza la actualización desde una versión del motor anterior a la 1.2.0.0:

  • En la versión 1.2.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.2.0.0 a una versión de motor 1.2.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.2. En las versiones anteriores, se utilizaba la familia de grupos de parámetros neptune1, y esos grupos de parámetros no funcionan con la versión 1.2.0.0 y las versiones posteriores. Para obtener más información, consulte Grupos de parámetros de Amazon Neptune.

  • En la versión 1.2.0.0 del motor, también se introdujo un nuevo formato para los registros de deshacer. Como resultado, se deben purgar todos los registros de deshacer que se hayan creado con una versión anterior del motor y la métrica UndoLogsListSize de CloudWatch debe ser cero antes de que se pueda iniciar una actualización desde una versión anterior a la 1.2.0.0. Si hay demasiados registros de deshacer (200 000 o más), al intentar iniciar una actualización, es posible que se agote el tiempo de espera de la purga de los registros de deshacer.

    Para acelerar la velocidad de depuración, actualice la instancia del escritor del clúster, que es donde se realiza la depuración. Si lo hace antes de intentar la actualización, puede reducir el número de registros de deshacer antes de empezar. Si se aumenta el tamaño del escritor a un tipo de instancia 24XL, se puede aumentar la velocidad de purga a más de un millón de registros por hora.

    Si la métrica UndoLogsListSize de CloudWatch es muy grande, abra un caso de soporte para ayudarle a analizar estrategias adicionales para reducirla.

  • Por último, se ha producido un cambio importante en la versión 1.2.0.0 que afecta al código anterior que utilizaba el protocolo Bolt con autenticación de IAM. A partir de la versión 1.2.0.0, Bolt necesita una ruta de recursos para la firma de IAM. En Java, la ruta del recurso podría tener este aspecto: request.setResourcePath("/openCypher"));. En otros lenguajes, /openCypher se puede agregar al URI del punto de conexión. Para ver ejemplos, consulte Uso del protocolo Bolt.

Versiones de parche posteriores para esta versión

Nuevas características de esta versión del motor

  • Se ha introducido Amazon Neptune sin servidor, una configuración de escalado automático bajo demanda que se ha diseñado para escalar el clúster de base de datos según sea necesario con el fin de hacer frente incluso a los grandes aumentos de la demanda de procesamiento y, luego, volver a reducir verticalmente cuando la demanda disminuya.

Mejoras en esta versión del motor

  • Se ha mejorado el rendimiento de las consultas order-by de Gremlin. Las consultas de Gremlin con order-by al final de a un NeptuneGraphQueryStep ahora utilizan un tamaño de fragmento mayor para obtener un mejor rendimiento. Esto no se aplica a order-by en un nodo interno (sin raíz) del plan de consultas.

  • Se ha mejorado el rendimiento de las consultas de actualización de Gremlin. Los vértices y los bordes ahora deben bloquearse para que no se eliminen al añadir bordes o propiedades. Este cambio elimina los bloqueos duplicados en una transacción, lo que mejora el rendimiento.

  • Se ha mejorado el rendimiento de las consultas de Gremlin que se utilizan dedup() dentro de una subconsulta repeat() al reducir dedup a la capa de ejecución nativa.

  • Se han añadido mensajes de error sencillos para los errores de autenticación de IAM. Estos mensajes ahora muestran el ARN de su usuario o rol de IAM, el ARN del recurso y una lista de acciones no autorizadas para la solicitud. La lista de acciones no autorizadas le ayuda a ver lo que podría faltar o denegar explícitamente en la política de IAM que está utilizando.

Defectos corregidos en esta versión del motor

  • Se ha corregido un error de Gremlin que provocaba que, al usar PartitionStrategy después de actualizar a TinkerPop 3.5, se producía un error con el mensaje “PartitionStrategy no funciona con recorridos anónimos”, lo que impedía que se ejecutara el recorrido.

  • Se ha corregido un error de corrección de Gremlin relacionado con la traducción WherePredicateStep, que provocaba que el motor de consultas de Neptune produjera resultados incorrectos en las consultas que utilizaban where(P.neq('x')) y sus variantes.

  • Se ha corregido un error de openCypher en la cláusula MERGE que, en algunos casos, provocaba la creación de nodos y bordes duplicados.

  • Se ha corregido un error de SPARQL en la gestión de las consultas que incluyen (NOT) EXISTS en una cláusula OPTIONAL, por el que, en algunos casos, faltaban los resultados de las consultas.

  • Se ha corregido un error de carga masiva que provocaba regresiones en el rendimiento cuando se producían elevadas cargas de inserción.

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

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

  • Compatible con la última versión de Gremlin: 3.5.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.2.0.1 del motor

Actualización a esta versión

La versión 1.2.0.1 de Amazon Neptune ya está disponible con carácter general.

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

Para Windows:

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

Las actualizaciones se aplican a todas las instancias en un clúster de base de datos simultáneamente. Una actualización requiere un reinicio de la base de datos en esas instancias, por lo que se experimentará un tiempo de inactividad que oscila entre 20-30 segundos y varios minutos, tras el cual se puede reanudar el uso del clúster de base de datos.

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.