View a markdown version of this page

Menggunakan Gremlin dengan mesin kueri Neptune 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 Neptune DFE

Anda dapat mengaktifkan mesin kueri alternatif Neptunus, yang dikenal sebagai DFE, dengan dua cara:

  • Setel parameter neptune_dfe_query_engine instance enabled untuk semua kueri pada instance.

  • Gunakan petunjuk useDFE kueri pada kueri individual (neptune_dfe_query_engineharus disetel ke nilai defaultnyaviaQueryHint).

Ketika DFE diaktifkan, Neptune menerjemahkan kueri dan traversal Gremlin read-only ke dalam representasi logis perantara dan menjalankannya pada mesin DFE bila memungkinkan.

Namun, DFE belum mendukung semua langkah Gremlin. Ketika sebuah langkah tidak dapat dijalankan secara asli di DFE, Neptunus kembali TinkerPop untuk menjalankan langkah tersebut. profileLaporan explain dan termasuk peringatan ketika ini terjadi.

Interleaving perencanaan kueri

Ketika proses terjemahan menemukan langkah Gremlin yang tidak memiliki operator DFE asli yang sesuai, sebelum kembali menggunakan Tinkerpop, ia mencoba menemukan bagian kueri perantara lain yang dapat dijalankan secara asli pada mesin DFE. Ini dilakukan dengan menerapkan logika interleaving ke traversal tingkat atas. Hasilnya adalah langkah-langkah yang didukung digunakan sedapat mungkin.

Setiap terjemahan kueri menengah dan non-awalan tersebut diwakili menggunakan NeptuneInterleavingStep profile output explain dan.

Untuk perbandingan kinerja, Anda mungkin ingin menonaktifkan interleaving dalam kueri, sambil tetap menggunakan mesin DFE untuk menjalankan bagian awalan. Atau, Anda mungkin ingin menggunakan hanya TinkerPop mesin untuk eksekusi kueri non-awalan. Anda dapat melakukan ini dengan menggunakan petunjuk disableInterleaving kueri.

Sama seperti petunjuk useDFE kueri dengan nilai false mencegah kueri dijalankan di DFE sama sekali, petunjuk disableInterleaving kueri dengan nilai true mematikan interleaving DFE untuk terjemahan kueri. Contoh:

g.with('Neptune#disableInterleaving', true) .V().has('genre','drama').in('likes')

Memperbarui penjelasan Gremlin dan keluaran profil

Gremlin menjelaskan memberikan detail tentang traversal yang dioptimalkan yang digunakan Neptunus untuk menjalankan kueri. Lihat contoh explain keluaran DFE untuk contoh tampilan explain output saat mesin DFE diaktifkan.

Men API profile Gremlin jalankan 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 profile keluaran DFE untuk contoh tampilan profile output saat mesin DFE diaktifkan.

catatan

Karena dukungan DFE untuk Gremlin adalah fitur eksperimental, format explain dan profile output yang tepat dapat berubah.