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.4.1.0 del motor de Amazon Neptune (21/11/2024)
A partir del 21 de noviembre de 2024, se implementará de forma general la versión 1.4.1.0 del motor. Tenga en cuenta que las versiones nuevas tardan unos días en estar disponibles en todas las regiones.
aviso
La caché de planes de consultas no es compatible temporalmente con el caso de uso de ejecución de consultas parametrizadas que incluyen valores de parámetros numéricos, debido a un error en la gestión de usos duplicados de un parámetro de tipo numérico en la consulta. Por ejemplo:
MATCH (n:movie) WHERE n.runtime>=$minutes RETURN n UNION MATCH (n:show) WHERE n.duration>=$minutes RETURN n parameters={"minutes":130}
Las consultas que realizan muchas búsquedas de índices en instrucciones o índices de diccionario podrían experimentar una regresión del rendimiento del 5 %. Por ejemplo, la obtención del recuento de todos los vértices o la obtención del id de todos los vértices no se verían afectadas. La obtención de todas las propiedades de todos los vértices podría experimentar una regresión de hasta el 5 %.
Nuevas características de esta versión del motor
-
Se ha añadido compatibilidad con la subconsulta
CALLy una subconsulta de solo lectura, lo que permite la ejecución de operaciones dentro de un ámbito definido. Se ejecuta una subconsultaCALLuna vez por cada fila entrante y las variables devueltas en la subconsulta están disponibles para el ámbito externo de la consulta que las engloba. Las variables del ámbito externo se pueden importar a una subconsultaCALLmediante una cláusulaWITHde importación. Para obtener más información, consulte Compatibilidad con subconsultas CALL en Neptune.MATCH (origin:airport {code:"AUS"})-[:route]->(stopover) CALL { WITH stopover MATCH (stopover)-[r:route]->(destination) RETURN destination ORDER BY r.dist DESC LIMIT 2 } RETURN stopover, destination -
Se han añadido funciones de openCypher. Presentamos ocho nuevas funciones para ayudar con las cadenas, las operaciones de recopilación y la clasificación de las recopilaciones. Entre ellas se incluyen:
textIndexOf,collToSet,collSubtract,collIntersection,collSort,collSortMaps,collSortMultiycollSortNodes. Consulte Funciones de openCypher en Neptune para obtener la descripción, los parámetros de entrada, la salida y los ejemplos.
Mejoras en esta versión del motor
Mejoras de Gremlin
-
Nuevo parámetro del modo de laboratorio
AccurateQRCMemoryEstimation. La caché de resultados de consultas de Gremlin, cuando está habilitada, permite almacenar en caché los resultados de las consultas en la base de datos. De forma predeterminada, se utiliza una estimación aproximada para determinar el tamaño del resultado almacenado en caché. Con este parámetro del modo laboratorioAccurateQRCMemoryEstimationhabilitado, la estimación del tamaño de los resultados almacenados en caché utilizará una estimación tamaño precisa en lugar de aproximada. -
Se ha corregido un problema que afectaba a la optimización del filtro “not” en las consultas de Gremlin que se ejecutan en el motor de ejecución predeterminado. Este problema afectaba a las consultas cuando los bordes se filtraban utilizando el paso not() combinado con cualquiera de los pasos outV()/inV()/otherV(). Entre las consultas de ejemplo se incluyen:
-
g.E().hasLabel("knows").not(outV().hasId("5")) -
g.V().has('airport','code','SDF').outE().where(not(otherV().has(id, within('1','5','7')))).count()
-
Mejoras de openCypher
-
Mejora del rendimiento en consultas que utilizan listas o mapas estáticos de gran tamaño. En determinadas consultas con UNWIND sobre una lista grande de mapas anidados que se utilizan para insertar o actualizar un nodo con propiedades, se observa una mejora significativa del rendimiento.
-
Se ha introducido una nueva sugerencia de consulta de openCypher para indicar al motor que asuma tipos de datos consistentes para los valores utilizados en la consulta. Consulte AssumeConsistentDataTypespara obtener más información sobre la nueva sugerencia de consulta de OpenCypher.
-
Se ha introducido un conjunto de nuevas funciones de openCypher para gestionar valores de texto y recopilaciones.
Defectos corregidos en esta versión del motor
Correcciones de Gremlin
-
Se ha corregido un problema en la ruta del código TinkerPop OSS que permitía crear una representación en código de bytes de una consulta transversal cuando se utilizaba alguno de
withStrategies()/withoutStrategies()/with()los pasos en un objeto «g».GraphTraversalSourceEl problema añadía incorrectamente nuevas instrucciones a Bytecode en lugar de sustituir las instrucciones existentes para la misma estrategia y provocaba una discrepancia en la clave de caché al invalidar la caché de resultados para borrar los resultados almacenados.
Correcciones de openCypher
-
Se ha corregido el comportamiento de las cláusulas de
`~id`matchinserción. CREATE/MERGE/MATCH Cuando se utiliza un`~id`valor no válido, como los tipos nulos o que no son cadenas, ahora se genera una excepción correcta para CREATE/MERGE las cláusulas y se devuelve un resultado cero para unaMATCHcláusula. -
Se ha corregido el error de IFE que se producía cuando el usuario utilizaba un valor de tipo no compatible con funciones de agregación (es decir, sum(<string>)).
-
Se ha corregido un error que provocaba que algunas consultas de mutación de baja latencia derivadas de una gran carga de trabajo de consultas fallaran y se produjera un OutOfMemory error.
Correcciones de SPARQL
-
Se ha corregido un problema en el registro de auditoría que se producía al gestionar las consultas de SPARQL que contienen el carácter
'%'.
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.4.1.0, asegúrese de que su proyecto sea compatible con las siguientes versiones del lenguaje de consulta:
Compatible con la primera versión de Gremlin:
3.7.1Compatible con la última versión de Gremlin:
3.7.1Versión de openCypher:
Neptune-9.0.20190305-1.0Versión de SPARQL:
1.1
Rutas de actualización a la versión 1.4.1.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.4.1.0 \ --allow-major-version-upgrade \ --apply-immediately
Para Windows:
aws neptune modify-db-cluster ^ --db-cluster-identifier(your-neptune-cluster)^ --engine-version 1.4.1.0 ^ --allow-major-version-upgrade ^ --apply-immediately
En lugar de --apply-immediately, puede especificar --no-apply-immediately. Para realizar una actualización de una versión principal, 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