Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Gremlin mit der DFE Neptune-Abfrage-Engine verwenden
Wenn Sie die alternative Neptune-Abfrage-Engine, den sogenannten In-Lab-Modus, vollständig aktivieren (indem Sie den neptune_lab_mode
DB-Cluster-Parameter auf setzenDFEQueryEngine=enabled
), übersetzt Neptune schreibgeschützte Gremlin-Abfragen/Traversals DFE in eine logische Zwischendarstellung und führt sie, wann immer möglich, auf der Engine aus. DFE
DFEDas unterstützt jedoch noch nicht alle Gremlin-Schritte. Wenn ein Schritt nicht nativ auf dem ausgeführt werden kannDFE, greift Neptune darauf zurück, TinkerPop um den Schritt auszuführen. Die Berichte explain
und profile
enthalten Warnungen, wenn dies auftritt.
Anmerkung
Ab der Engine-Version 1.0.5.0 hat sich das DFE Standardverhalten für die Behandlung von Gremlin-Schritten ohne native Unterstützung geändert. Wo früher der DFE Motor auf den Neptune Gremlin-Motor zurückfiel, fällt er jetzt auf den Vanille-Motor zurück. TinkerPop
Gremlin-Schritte, die nativ von der Engine unterstützt werden DFE
GraphStep
VertexStep
EdgeVertexStep
IdStep
TraversalFilterStep
PropertiesStep
HasStep
Filterunterstützung für Eckpunkte und Kanten in Eigenschaften, IDs und Bezeichnungen, außer Text- undWithout
-Prädikaten.WherePredicateStep
mit Filtern mitPath
-Bereich, aber keineByModulation
-,SideEffect
- oderMap
- Suchunterstützung.DedupGlobalStep
mit Ausnahme vonByModulation
-,SideEffect
- undMap
-Suchunterstützung.
Überlappung der Abfrageplanung
Wenn der Übersetzungsprozess auf einen Gremlin-Schritt stößt, der keinen entsprechenden systemeigenen DFE Operator hat, versucht er, bevor er auf Tinkerpop zurückgreift, andere Zwischenabfrageteile zu finden, die nativ auf der Engine ausgeführt werden können. DFE Hierzu wird auf die Traversierung auf der obersten Ebene eine Überlappungslogik angewendet. So werden unterstützte Schritte verwendet, wann immer möglich.
Jede solche zwischengeschaltete Abfrageübersetzung ohne Präfix wird mit NeptuneInterleavingStep
in den explain
- und profile
-Ausgaben dargestellt.
Um die Leistung zu vergleichen, möchten Sie vielleicht das Interleaving in einer Abfrage deaktivieren und gleichzeitig die Engine verwenden, um den DFE Präfixteil auszuführen. Oder Sie möchten möglicherweise nur die TinkerPop Engine für die Ausführung von Abfragen ohne Präfix verwenden. Sie können dies mithilfe des Abfragehinweises disableInterleaving
tun.
So wie der benutzen DFE Abfragehinweis mit dem Wert von false
verhindert, dass eine Abfrage DFE überhaupt für den ausgeführt wird, true
deaktiviert der disableInterleaving
Abfragehinweis mit dem Wert von DFE Interleaving für die Übersetzung einer Abfrage. Beispielsweise:
g.with('Neptune#disableInterleaving', true) .V().has('genre','drama').in('likes')
Aktualisierung der Ausgabe von Gremlin explain
und profile
Gremlin explain stellt Details zu der optimierten Traversierung bereit, die Neptune für die Ausführung einer Abfrage verwendet. In der DFEexplainBeispielausgabe finden Sie ein Beispiel dafür, wie die explain
Ausgabe aussieht, wenn die DFE Engine aktiviert ist.
Die Gremlin profile API führt eine angegebene Gremlin-Traversierung durch, sammelt verschiedene Metriken zur Ausführung und erstellt einen profile-Bericht mit Details zum optimierten Abfrageplan und zu den Laufzeitstatistiken verschiedener Operatoren. In der DFEprofileBeispielausgabe finden Sie ein Beispiel dafür, wie die profile
Ausgabe aussieht, wenn die DFE Engine aktiviert ist.
Anmerkung
Da es sich bei der DFE Engine um eine experimentelle Funktion handelt, die im Labormodus veröffentlicht wurde, kann sich das explain
genaue Format der profile
UND-Ausgabe ändern.