Migrasi dari Neo4j ke Amazon Neptune - Amazon Neptune

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Migrasi dari Neo4j ke Amazon Neptune

Neo4j dan Amazon Neptune adalah database grafik, yang dirancang untuk beban kerja grafik transaksional online yang mendukung model data grafik properti berlabel. Kesamaan ini membuat Neptune pilihan umum bagi pelanggan yang ingin memigrasi aplikasi Neo4j mereka saat ini. Namun, migrasi ini tidak hanya mengangkat dan bergeser, karena ada perbedaan dalam bahasa dan dukungan fitur, karakteristik operasional, arsitektur server, dan kemampuan penyimpanan antara dua database.

Halaman ini membingkai proses migrasi dan memunculkan hal-hal yang perlu dipertimbangkan sebelum memigrasi aplikasi grafik Neo4j ke Neptune. Pertimbangan ini berlaku secara umum untuk aplikasi grafik Neo4j apa pun, baik yang didukung oleh database Komunitas, Perusahaan, atau Aura. Meskipun setiap solusi unik dan mungkin memerlukan prosedur tambahan, semua migrasi mengikuti pola umum yang sama.

Setiap langkah yang dijelaskan di bagian berikut mencakup pertimbangan dan rekomendasi untuk menyederhanakan proses migrasi. Selain itu, ada alat open-source, dan posting blog yang menggambarkan proses, dan bagian kompatibilitas fitur dengan opsi arsitektur yang direkomendasikan.

Informasi umum tentang migrasi dari Neo4j ke Neptune

Dengan dukungan Neptune untuk bahasa kueri OpenCypher, Anda dapat memindahkan sebagian besar beban kerja Neo4j yang menggunakan protokol Bolt atau HTTPS ke Neptune. Namun, OpenCypher adalah spesifikasi open-source yang berisi sebagian besar tetapi tidak semua fungsi yang didukung oleh database lain seperti Neo4j.

Meskipun kompatibel dalam banyak hal, Neptune bukanlah pengganti drop-in untuk Neo4j. Neptune adalah layanan database grafik yang dikelola sepenuhnya dengan fitur perusahaan seperti ketersediaan tinggi dan daya tahan tinggi yang secara arsitektur berbeda dari Neo4j. Neptune berbasis instans, dengan satu instance penulis utama dan hingga 15 instance replika baca yang memungkinkan Anda menskalakan kapasitas baca secara horizontal. Menggunakan Neptune Tanpa Server, Anda dapat secara otomatis meningkatkan dan menurunkan kapasitas komputasi tergantung pada volume kueri. Ini tidak tergantung pada penyimpanan Neptune, yang menskalakan secara otomatis saat Anda menambahkan data.

Neptune mendukung open-source OpenCypher spesifikasi standar, versi 9. DiAWS, kami percaya bahwa open source baik untuk semua orang dan kami berkomitmen untuk membawa nilai open source kepada pelanggan kami, dan untuk membawa keunggulan operasionalAWS untuk komunitas open source.

Namun, banyak aplikasi yang berjalan di Neo4j juga menggunakan fitur berpemilik yang tidak bersumber terbuka dan tidak didukung Neptune. Misalnya, Neptune tidak mendukung prosedur APOC, beberapa klausa dan fungsi khusus Cypher, danChar,Date, atau tipeDuration data. Neptune melakukan auto-cast tipe data yang hilang untuk tipe data yang didukung.

Selain OpenCypher, Neptune juga mendukung bahasa permintaan Apache TinkerPop Gremlin untuk grafik properti (serta SPARQL untuk data RDF). Gremlin dapat beroperasi dengan OpenCypher pada grafik properti yang sama, dan dalam banyak kasus Anda dapat menggunakan Gremlin untuk memasok fungsionalitas yang OpenCypher tidak menyediakan. Di bawah ini adalah perbandingan cepat dari dua bahasa:

OpenCypher Gremlin

Gaya

Deklaratif

Imperatif

Sintaksis

pencocoststingsting

Match p=(a)-[:route]->(d) WHERE a.code='ANC' RETURN p

Traversal berbasis

g.V().has('code', 'ANC'). out('route').path(). by(elementMap())

Kemudahan penggunaan

Terinspirasi SQL, dapat dibaca oleh non-programmer

Kurva belajar yang lebih curam, mirip dengan bahasa pemrograman seperti Java

Fleksibilitas

Rendah

Tinggi

Dukungan kueri

Kueri berbasis string

Kueri berbasis string atau kode in-line yang didukung oleh pustaka klien

Klien

HTTPS dan Bolt

HTTPS dan Websockets

Secara umum, tidak perlu mengubah model data Anda untuk bermigrasi dari Neo4j ke Neptune, karena Neo4j dan Neptune mendukung data grafik properti berlabel (LPG). Namun, Neptune memiliki beberapa perbedaan model arsitektur dan data yang dapat Anda manfaatkan untuk mengoptimalkan kinerja. Misalnya:

Silakan hubungiAWS dukungan atau libatkan timAWS akun Anda jika Anda memiliki pertanyaan. Kami menggunakan umpan balik Anda untuk memprioritaskan fitur baru yang akan memenuhi kebutuhan Anda.