As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Usando o Gremlin com o mecanismo de consulta Neptune DFE
Se você habilitar totalmente o mecanismo de consulta alternativo do Neptune, conhecido como modo de laboratório (definindo DFE o parâmetro do cluster de banco de dados como), neptune_lab_mode
o Neptune DFEQueryEngine=enabled
traduzirá consultas/travessias do Gremlin somente para leitura em uma representação lógica intermediária e as executará no mecanismo sempre que possível. DFE
No entanto, o ainda DFE não suporta todas as etapas do Gremlin. Quando uma etapa não pode ser executada nativamente noDFE, Neptune volta TinkerPop a executá-la. Os relatórios explain
e profile
incluem avisos quando isso acontece.
nota
A partir da versão 1.0.5.0 do motor, o DFE comportamento padrão para lidar com etapas do Gremlin sem suporte nativo mudou. Onde antes o DFE motor recaía sobre o motor Neptune Gremlin, agora ele volta para o motor vanilla. TinkerPop
Etapas do Gremlin que são suportadas nativamente pelo motor DFE
GraphStep
VertexStep
EdgeVertexStep
IdStep
TraversalFilterStep
PropertiesStep
Suporte de filtragem
HasStep
para vértices e bordas em propriedades, IDs e rótulos, com exceção de texto e predicadosWithout
.WherePredicateStep
com filtros com escopo dePath
definido, mas sem suporte a pesquisaByModulation
,SideEffect
ouMap
DedupGlobalStep
, exceto suporte a pesquisaByModulation
,SideEffect
eMap
.
Intercalação do planejamento de consultas
Quando o processo de tradução encontra uma etapa do Gremlin que não tem um DFE operador nativo correspondente, antes de voltar a usar o Tinkerpop, ele tenta encontrar outras partes intermediárias da consulta que possam ser executadas nativamente no mecanismo. DFE Ele faz isso aplicando a lógica de intercalação ao percurso de nível superior. O resultado é que as etapas compatíveis são usadas sempre que possível.
Qualquer conversão de consulta intermediária, sem prefixo, é representada usando as saídas NeptuneInterleavingStep
, explain
e profile
.
Para comparação de desempenho, talvez você queira desativar a intercalação em uma consulta e ainda usar o DFE mecanismo para executar a parte do prefixo. Ou talvez você queira usar somente o TinkerPop mecanismo para execução de consultas sem prefixo. Você pode fazer isso usando a dica de consulta disableInterleaving
.
Assim como a dica de uso DFE consulta com um valor de false
impede que uma consulta seja executada no, a DFE dica de disableInterleaving
consulta com um valor de true
desativa a DFE intercalação para tradução de uma consulta. Por exemplo:
g.with('Neptune#disableInterleaving', true) .V().has('genre','drama').in('likes')
Atualização da saída explain
e profile
do Gremlin
O explain do Gremlin fornece detalhes sobre o percurso otimizado que o Neptune usa para executar uma consulta. Veja o exemplo DFE explain de saída para ver um exemplo da aparência da explain
saída quando o DFE mecanismo está ativado.
O Gremlin profile API executa um percurso especificado do Gremlin, coleta várias métricas sobre a execução e produz um relatório de perfil que contém detalhes sobre o plano de consulta otimizado e as estatísticas de runtime de vários operadores. Veja um exemplo DFE profile de saída para ver um exemplo da aparência da profile
saída quando o DFE mecanismo está ativado.
nota
Como o DFE mecanismo é um recurso experimental lançado no modo de laboratório, o formato exato da profile
saída explain
e está sujeito a alterações.