Menggunakan Gremlin dengan mesin kueri Neptunus DFE - Amazon Neptune

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. profileLaporan 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

  • HasStepdukungan penyaringan untuk simpul dan tepi pada properti dan id dan label, dengan pengecualian teks dan predikat. Without

  • WherePredicateStepdengan filter Path -scoped, tetapi tidakByModulation, SideEffect atau cari dukungan Map

  • DedupGlobalStep, kecualiByModulation,SideEffect, dan dukungan Map 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.