Amazon Neptune Engine versión 1.4.0.0 (06/11/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.

Amazon Neptune Engine versión 1.4.0.0 (06/11/2022)

A partir del 6 de noviembre de 2020, la versión 1.4.0.0 del motor se implementará de forma general. 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.

aviso

La memoria caché del plan de consultas no se admite temporalmente para ejecutar consultas parametrizadas con valores de parámetros numéricos, debido a un error al gestionar los 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 índice en sentencias o índices de diccionarios podrían experimentar una regresión de rendimiento del 5%. Por ejemplo, obtener un recuento de todos los vértices o obtener todos id los vértices no se vería afectado. Si se obtienen todas las propiedades de todos los vértices, se podría producir una regresión de hasta un 5%.

Nuevas funciones de esta versión del motor

  • Cuando se añade una arista a un gráfico de propiedades sin un identificador explícito, el servidor asigna de forma predeterminada un identificador de arista UUID basado, que se almacena en el diccionario. Ahora, al establecer un nuevo parámetro de clúster, neptune_enable_server_generated_edge_id = 1, el servidor realizará la asignación mediante un entero de 8 bytes gestionado internamente, sin sobrecargar el diccionario. IDs Esto se traduce en un ahorro de almacenamiento y en un mejor rendimiento de las consultas sin necesidad de realizar cambios en las consultas. Actualmente, esta función solo se admite para inserciones mediante el lenguaje de consultas Gremlin.

  • Se ha añadido compatibilidad con la ejecución de pasos Gremlin limit () en recorridos anidados del motor. DFE

    g.V().project("foo").by(out().order().by(T.id).limit(1))

Mejoras en esta versión del motor

Mejoras generales
  • Neptune recuperará automáticamente el espacio de deshacer almacenado en las transacciones de gran tamaño una vez que la transacción se haya completado y los registros ya no sean necesarios para la recuperación.

  • Support para réplicas de bases de datos globales con capacidad de supervivencia. Esta función permite que el clúster secundario siga atendiendo solicitudes de lectura durante el reinicio de una instancia de grabación en el clúster principal. Anteriormente, cuando se reiniciaba una instancia de grabación, también se reiniciaban todas las instancias de lectura de un clúster secundario. Con esta versión, las instancias de lectura del clúster secundario siguen atendiendo las solicitudes de lectura durante el reinicio de una instancia de escritura, lo que mejora la disponibilidad de lectura en el clúster.

  • Los registros de auditoría ahora se escriben de forma sincrónica, lo que garantiza que se registren todas las consultas. Esto puede afectar al rendimiento de consultas especialmente grandes (más de 100 kb) o de cargas de trabajo de alto rendimiento (más de 1000 qps).

Mejoras de Gremlin
  • De forma predeterminada, se exige que el tiempo de espera por consulta sea inferior al tiempo de espera a nivel de clúster. En una versión anterior, se introdujo esta comprobación, pero era necesario habilitarla de forma explícita mediante el parámetro de modo laboratorio ''. StrictTimeoutValidation Con esta versión, 'StrictTimeoutValidation' estará habilitada de forma predeterminada y debe deshabilitarse de forma explícita para mantener el comportamiento anterior.

openCypher mejoras
  • En una versión anterior, introdujimos la compatibilidad ampliada con el formato de fecha y hora, que se habilitaba mediante un parámetro del modo laboratorio. DatetimeMillisecond Esta compatibilidad ampliada con el formato de fecha y hora ahora está habilitada de forma predeterminada.

SPARQLmejoras
  • Nuevas IAM acciones explícitas para los permisos de consulta.

    Previously: COPY: WriteDataViaQuery & ReadDataViaQuery MOVE: WriteDataViaQuery & DeleteDataViaQuery DELETEINSERT: ReadDataViaQuery & DeleteDataViaQuery Now, COPY: WriteDataViaQuery & ReadDataViaQuery & DeleteDataViaQuery MOVE: WriteDataViaQuery & ReadDataViaQuery & DeleteDataViaQuery DELETEINSERT: ReadDataViaQuery, WriteDataViaQuery if there is INSERT clause, DeleteDataViaQuery if there is DELETE clause.

Defectos corregidos en esta versión del motor

Correcciones generales
  • Se ha corregido un problema con las instancias sin servidor que podía provocar el reinicio de la base de datos al ampliarse.

  • Se ha corregido un problema relacionado con la administración de los archivos de registro de auditoría que podía provocar que los archivos de registro no fueran accesibles para su descarga o rotación y, en algunos casos, aumentar CPU su uso.

  • Se ha corregido un problema de consulta relacionado con la optimización que retrasaba la generación de la salida del mapa en el DFE motor.

  • Se ha corregido un problema que provocaba que las marcas de tiempo no coincidieran entre los registros de auditoría y los registros de consultas lentos.

Correcciones de Gremlin
  • Se resolvió un problema relacionado con la invalidación de la caché de resultados de Gremlin, que provocaba que las sugerencias de consulta no se incorporaran correctamente a la generación de claves de caché. Para obtener más información, consulta https://issues.apache. org/jira/browse/TINKERPOP-3110.

  • Se resolvió un problema en la administración de WebSocket conexiones de Gremlin por el que las consultas que se ejecutaban durante un tiempo superior al tiempo de espera de la conexión inactiva se cancelaban prematuramente. Esto afectó específicamente a los clientes Python Gremlin que utilizaban el AIOHTTP transporte.

  • Se agregó soporte para una estimación precisa de objetos para la función de caché de resultados de consultas de Gremlin en el nuevo labmodeparameter. AccurateQRCMemoryEstimation

openCypher correcciones
  • Se ha corregido un error en el paso de recopilación que provocaba una excepción de error interno cuando había valores nulos durante la construcción de la consulta de recopilación (distinct (n)).

  • Se ha corregido un problema que provocaba NullPointerException que se produjera una en las consultas cuando la memoria caché del plan de consultas estaba habilitada.

  • Se ha corregido un problema por el que se evaluaban más datos de los necesarios cuando una consulta contenía una LIMIT cláusula.

  • Se ha corregido un problema que provocaba que al utilizar operaciones de rango (<, <=, > > =) en una consulta parametrizada con una caché de plan de consultas se produjeran resultados duplicados.

  • Se ha corregido un problema que impedía transponer las columnas de resultados cuando las UNION ALL operaciones se realizaban con conexiones UNION atornilladas.

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.0.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.1

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

  • openCypher versión: Neptune-9.0.20190305-1.0

  • SPARQLversión: 1.1

Rutas de actualización a la versión 1.4.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 en la consola o mediante el. SDK El siguiente CLI comando actualizará inmediatamente un clúster apto:

Para Linux, OS X o Unix:

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

Para Windows:

aws neptune modify-db-cluster ^ --db-cluster-identifier (your-neptune-cluster) ^ --engine-version 1.4.0.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.