Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan Gremlin dengan mesin kueri Neptunus DFE
Jika Anda sepenuhnya mengaktifkan mesin kueri alternatif Neptunus yang dikenal sebagai DFE mode lab in (dengan neptune_lab_mode
menyetel parameter cluster DB DFEQueryEngine=enabled
ke), maka Neptunus menerjemahkan kueri/lintasan Gremlin hanya-baca menjadi representasi logis menengah dan menjalankannya di mesin bila memungkinkan. DFE
Namun, DFE belum mendukung semua langkah Gremlin. Ketika sebuah langkah tidak dapat dijalankan secara asli di atasDFE, Neptunus kembali TinkerPop untuk menjalankan anak tangga. profile
Laporan explain
dan termasuk peringatan ketika ini terjadi.
catatan
Dimulai dengan rilis engine 1.0.5.0, DFE perilaku default untuk menangani langkah-langkah Gremlin tanpa dukungan asli telah berubah. Di mana sebelumnya DFE mesin jatuh kembali pada mesin Neptunus Gremlin, sekarang jatuh kembali pada mesin vanilla. TinkerPop
Langkah Gremlin yang secara native didukung oleh mesin DFE
GraphStep
VertexStep
EdgeVertexStep
IdStep
TraversalFilterStep
PropertiesStep
HasStep
dukungan penyaringan untuk simpul dan tepi pada properti dan id dan label, dengan pengecualian teks dan predikat.Without
WherePredicateStep
dengan filterPath
-scoped, tetapi tidakByModulation
,SideEffect
atau cari dukunganMap
DedupGlobalStep
, kecualiByModulation
,SideEffect
, dan dukunganMap
pencarian.
Perencanaan kueri interleaving
Ketika proses penerjemahan menemukan langkah Gremlin yang tidak memiliki DFE operator asli yang sesuai, sebelum kembali menggunakan Tinkerpop, ia mencoba menemukan bagian kueri perantara lain yang dapat dijalankan secara asli di mesin. DFE Ini dilakukan dengan menerapkan logika interleaving ke traversal tingkat atas. Hasilnya adalah langkah-langkah yang didukung digunakan sedapat mungkin.
Terjemahan kueri non-awalan menengah seperti itu direpresentasikan menggunakan NeptuneInterleavingStep
dalam explain
dan profile
output.
Untuk perbandingan kinerja, Anda mungkin ingin mematikan interleaving dalam kueri, sambil tetap menggunakan DFE mesin untuk menjalankan bagian awalan. Atau, Anda mungkin hanya ingin menggunakan TinkerPop mesin untuk eksekusi kueri non-awalan. Anda dapat melakukan ini dengan menggunakan petunjuk disableInterleaving
kueri.
Sama seperti petunjuk menggunakan DFE kueri dengan nilai false
mencegah kueri dijalankan DFE sama sekali, petunjuk disableInterleaving
kueri dengan nilai true
mematikan DFE interleaving untuk terjemahan kueri. Sebagai contoh:
g.with('Neptune#disableInterleaving', true) .V().has('genre','drama').in('likes')
Diperbarui Gremlin explain
dan output profile
Gremlin menjelaskan memberikan rincian tentang traversal yang dioptimalkan yang digunakan Neptunus untuk menjalankan kueri. Lihat DFEexplainoutput sampel untuk contoh seperti apa explain
output saat DFE mesin diaktifkan.
Gremlin profile APIMenjalankan traversal Gremlin tertentu, mengumpulkan berbagai metrik tentang proses, dan menghasilkan laporan profil yang berisi detail tentang rencana kueri yang dioptimalkan dan statistik runtime dari berbagai operator. Lihat contoh DFE profile keluaran untuk contoh seperti apa profile
output saat DFE mesin diaktifkan.
catatan
Karena DFE mesin adalah fitur eksperimental yang dirilis dalam mode lab, format explain
dan profile
output yang tepat dapat berubah.