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.
Uso de Gremlin con el motor de consultas DFE de Neptune
Si habilita el motor de consultas alternativo de Neptune, conocido como DFE, en modo laboratorio (configurando el parámetro del neptune_lab_mode
clúster de base de datos enDFEQueryEngine=enabled
), Neptune traduce Gremlin de solo lectura queries/traversals en una representación lógica intermedia y los ejecuta en el motor DFE siempre que sea posible.
Sin embargo, el DFE aún no admite todos los pasos de Gremlin. Cuando un paso no se puede ejecutar de forma nativa en el DFE, Neptune recurre a él TinkerPop para ejecutar el paso. Los informes explain
y profile
incluyen advertencias cuando esto ocurre.
nota
A partir de la versión 1.0.5.0 del motor, cuando el DFE encuentra un paso que no admite de forma nativa, recurre al TinkerPop motor base en lugar del motor Neptune Gremlin, como hacía anteriormente.
Intercalación de planificación de consultas
Cuando el proceso de conversión encuentra un paso de Gremlin que no tiene un operador de DFE nativo correspondiente, antes de volver a utilizar Tinkerpop, intenta buscar otras partes de la consulta intermedias que se puedan ejecutar de forma nativa en el motor DFE. Para ello, aplica la lógica de intercalado al recorrido de nivel superior. El resultado es que, siempre que es posible, se utilizan pasos compatibles.
Cualquier conversión de consultas intermedias sin prefijo se representa mediante NeptuneInterleavingStep
en las salidas explain
y profile
.
Para comparar el rendimiento, es posible que desee desactivar el intercalado en una consulta y, al mismo tiempo, seguir utilizando el motor DFE para ejecutar la parte del prefijo. O bien, es posible que desee utilizar solo el TinkerPop motor para la ejecución de consultas sin prefijo. Puede hacerlo mediante la sugerencia de consulta disableInterleaving
.
Del mismo modo que la sugerencia de consulta useDFE con un valor de false
impide que una consulta se ejecute en el DFE, la sugerencia de consulta disableInterleaving
con un valor de true
desactiva el intercalado del DFE para la conversión de una consulta. Por ejemplo:
g.with('Neptune#disableInterleaving', true) .V().has('genre','drama').in('likes')
Se ha actualizado la salida explain
y profile
de Gremlin
explain de Gremlin proporciona detalles sobre el recorrido optimizado que Neptune utiliza para ejecutar una consulta. Consulte la salida de explain del DFE de ejemplo para ver un ejemplo del aspecto que tiene la salida de explain
cuando el motor DFE está habilitado.
API profile de Gremlin ejecuta un recorrido de Gremlin específico, recopila varias métricas sobre la ejecución y produce un informe de profile que contiene detalles sobre el plan de consultas optimizado y las estadísticas de tiempo de ejecución de varios operadores. Consulte la salida de profile del DFE de ejemplo para ver un ejemplo del aspecto que tiene la salida de profile
cuando el motor DFE está habilitado.
nota
Dado que el DFE es una característica experimental publicada en el modo de laboratorio, el formato exacto de la salida de explain
y profile
está sujeto a cambios.