

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
<a name="gremlin-with-dfe"></a>

Si habilita el [motor de consultas alternativo](neptune-dfe-engine.md) de Neptuno, conocido como DFE (configurando el parámetro de [neptune\$1dfe\$1query\$1engine](parameters.md#parameters-instance-parameters-neptune_dfe_query_engine) instancia en`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.

## Intercalación de planificación de consultas
<a name="gremlin-with-dfe-interleaving"></a>

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](gremlin-query-hints-useDFE.md) 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
<a name="gremlin-with-dfe-explain-update"></a>

[explain](gremlin-explain.md) de Gremlin proporciona detalles sobre el recorrido optimizado que Neptune utiliza para ejecutar una consulta. Consulte la [salida de `explain` del DFE de ejemplo](gremlin-explain-api.md#gremlin-explain-dfe) para ver un ejemplo del aspecto que tiene la salida de `explain` cuando el motor DFE está habilitado.

[API `profile` de Gremlin](gremlin-profile-api.md) 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](gremlin-profile-api.md#gremlin-profile-sample-dfe-output) para ver un ejemplo del aspecto que tiene la salida de `profile` cuando el motor DFE está habilitado.

**nota**  
Como la compatibilidad con el DFE para Gremlin es una función experimental, el formato exacto de la `profile` salida `explain` y está sujeto a cambios.