Kompatibilitas Neptunus dengan Neo4j - Amazon Neptune

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

Kompatibilitas Neptunus dengan Neo4j

Neo4j memiliki pendekatan all-in-one arsitektur, di mana pemuatan data, ETL data, kueri aplikasi, penyimpanan data, dan operasi manajemen semuanya terjadi dalam kumpulan sumber daya komputasi yang sama, seperti instans EC2. Amazon Neptunus adalah database grafik spesifikasi terbuka yang berfokus pada OLTP di mana arsitektur memisahkan operasi dan memisahkan sumber daya sehingga dapat diskalakan secara dinamis.

Ada berbagai fitur dan perkakas di Neo4j, termasuk perkakas pihak ketiga, yang bukan bagian dari spesifikasi OpenCypher, tidak kompatibel dengan OpenCypher, atau tidak kompatibel dengan implementasi OpenCypher Neptune. Di bawah ini tercantum beberapa yang paling umum dari ini.

Fitur khusus Neo4J tidak ada di Neptunus

  • LOAD CSVNeptunus memiliki pendekatan arsitektur yang berbeda untuk memuat data dari Neo4j. Untuk memungkinkan penskalaan dan pengoptimalan biaya yang lebih baik, Neptunus menerapkan pemisahan kekhawatiran seputar sumber daya, dan merekomendasikan penggunaan salah AWS satu integrasi layananAWS Glue seperti untuk melakukan proses ETL yang diperlukan untuk menyiapkan data dalam format yang didukung oleh pemuat massal Neptunus.

    Pilihan lain adalah melakukan hal yang sama menggunakan kode aplikasi yang berjalan pada sumber daya AWS komputasi seperti instans Amazon EC2, fungsi Lambda, Amazon Elastic Container AWS Batch Service, pekerjaan, dan sebagainya. Kode dapat menggunakan titik akhir HTTPS Neptunus atau titik akhir Bolt.

  • Kontrol akses berbutir halus - Neptunus mendukung kontrol akses granular atas tindakan akses data menggunakan kunci kondisi IAM. Kontrol akses berbutir halus tambahan dapat diimplementasikan pada lapisan aplikasi.

  • Neo4j Fabric - Neptunus mendukung federasi kueri di seluruh database untuk beban kerja RDF menggunakan kata kunci SPARQL. SERVICE Karena saat ini tidak ada standar atau spesifikasi terbuka untuk federasi kueri untuk beban kerja grafik properti, fungsionalitas itu perlu diimplementasikan pada lapisan aplikasi.

  • Kontrol akses berbasis peran (RBAC) - Neptunus mengelola otentikasi melalui penetapan kebijakan dan peran IAM. Kebijakan dan peran IAM memberikan tingkat manajemen pengguna yang sangat fleksibel dalam suatu aplikasi, jadi ada baiknya membaca dan memahami informasi dalam ikhtisar IAM sebelum mengonfigurasi cluster Anda.

  • Bookmark — Cluster Neptunus terdiri dari satu contoh penulis dan hingga 15 contoh replika baca. Data yang ditulis ke contoh penulis sesuai dengan ACID dan memberikan jaminan konsistensi yang kuat pada pembacaan berikutnya. Replicas baca menggunakan volume penyimpanan yang sama dengan instance penulis dan pada akhirnya konsisten, biasanya dalam waktu kurang dari 100 ms dari waktu data ditulis. Jika kasus penggunaan Anda memiliki kebutuhan mendesak untuk menjamin konsistensi baca penulisan baru, pembacaan ini harus diarahkan ke titik akhir cluster alih-alih titik akhir pembaca.

  • Prosedur APOC — Karena prosedur APOC tidak termasuk dalam spesifikasi OpenCypher, Neptunus tidak memberikan dukungan langsung untuk prosedur eksternal. Sebaliknya, Neptunus mengandalkan integrasi dengan layanan AWS lain untuk mencapai fungsionalitas pengguna akhir yang serupa dengan cara yang terukur, aman, dan kuat. Terkadang prosedur APOC dapat ditulis ulang dalam OpenCypher atau Gremlin, dan beberapa tidak relevan dengan aplikasi Neptunus.

    Secara umum, prosedur APOC termasuk dalam kategori di bawah ini:

    • Impor — Neptunus mendukung pengimporan data menggunakan berbagai format menggunakan bahasa kueri, pemuat massal Neptunus, atau sebagai target. AWS Database Migration Service Operasi ETL pada data dapat dilakukan dengan menggunakan AWS Glue dan paket neptune-python-utilsopen-source.

    • Ekspor - Neptunus mendukung ekspor data menggunakan neptune-exportutilitas, yang mendukung berbagai format dan metode ekspor umum.

    • Integrasi Database — Neptunus mendukung integrasi dengan database lain menggunakan alat ETL seperti atau alat migrasi AWS Glue seperti. AWS Database Migration Service

    • Pembaruan Grafik - Neptunus mendukung serangkaian fitur yang kaya untuk memperbarui data grafik properti melalui dukungannya untuk bahasa kueri OpenCypher dan Gremlin. Lihat Cypher menulis ulang contoh penulisan ulang prosedur yang umum digunakan.

    • Struktur Data — Neptunus mendukung serangkaian fitur yang kaya untuk memperbarui data grafik properti melalui dukungannya untuk bahasa kueri OpenCypher dan Gremlin. Lihat Cypher menulis ulang contoh penulisan ulang prosedur yang umum digunakan.

    • Temporal (Date Time) - Neptunus mendukung serangkaian fitur yang kaya untuk memperbarui data grafik properti melalui dukungannya untuk bahasa kueri OpenCypher dan Gremlin. Lihat Cypher menulis ulang contoh penulisan ulang prosedur yang umum digunakan.

    • Matematika — Neptunus mendukung serangkaian fitur yang kaya untuk memperbarui data grafik properti melalui dukungannya untuk bahasa kueri OpenCypher dan Gremlin. Lihat Cypher menulis ulang contoh penulisan ulang prosedur yang umum digunakan.

    • Advanced Graph Querying — Neptunus mendukung serangkaian fitur yang kaya untuk memperbarui data grafik properti melalui dukungannya untuk bahasa kueri OpenCypher dan Gremlin. Lihat Cypher menulis ulang contoh penulisan ulang prosedur yang umum digunakan.

    • Membandingkan Grafik — Neptunus mendukung serangkaian fitur yang kaya untuk memperbarui data grafik properti melalui dukungannya untuk bahasa kueri OpenCypher dan Gremlin. Lihat Cypher menulis ulang contoh penulisan ulang prosedur yang umum digunakan.

    • Eksekusi Cypher — Neptunus mendukung serangkaian fitur yang kaya untuk memperbarui data grafik properti melalui dukungannya untuk bahasa kueri OpenCypher dan Gremlin. Lihat Cypher menulis ulang contoh penulisan ulang prosedur yang umum digunakan.

  • Prosedur khusus - Neptunus tidak mendukung prosedur khusus yang dibuat oleh pengguna. Fungsionalitas ini harus diimplementasikan pada lapisan aplikasi.

  • Geospasial — Meskipun Neptunus tidak memberikan dukungan asli untuk fitur geospasial, fungsionalitas serupa dapat dicapai melalui integrasi dengan layanan AWS lain, seperti yang ditunjukkan dalam posting blog ini: Gabungkan Amazon Neptunus dan OpenSearch Amazon Service untuk kueri geospasial oleh Ross Gabay dan Abhilash Vinod (1 Februari 2022).

  • Ilmu Data Grafik — Neptunus mendukung analisis grafik hari ini melalui Neptunus Analytics, mesin yang dioptimalkan untuk memori yang mendukung perpustakaan algoritme analitik grafik.

    Neptunus juga menyediakan integrasi dengan AWS SDK Pandas dan beberapa contoh notebook yang menunjukkan bagaimana memanfaatkan integrasi ini dalam lingkungan Python untuk menjalankan analitik pada data grafik.

  • Batasan Skema — Dalam Neptunus, satu-satunya kendala skema yang tersedia adalah keunikan ID node atau tepi. Tidak ada fitur untuk menentukan batasan skema tambahan, atau keunikan tambahan atau batasan nilai pada elemen dalam grafik. Nilai ID di Neptunus adalah string dan dapat diatur menggunakan Gremlin, seperti ini:

    g.addV('person').property(id, '1') )

    Aplikasi yang perlu memanfaatkan ID sebagai kendala keunikan didorong untuk mencoba pendekatan ini untuk mencapai kendala keunikan. Jika aplikasi menggunakan beberapa kolom sebagai kendala keunikan, ID dapat diatur ke kombinasi dari nilai-nilai ini. Misalnya id=123, code='SEA' dapat direpresentasikan ID='123_SEA' untuk mencapai kendala keunikan yang kompleks.

  • Multi-tenancy — Neptunus hanya mendukung satu grafik per cluster. Untuk membangun sistem multi-tenant menggunakan Neptunus, gunakan beberapa cluster atau partisi penyewa secara logis dalam satu grafik dan gunakan logika sisi aplikasi untuk menegakkan pemisahan. Misalnya, tambahkan properti tenantId dan sertakan di setiap kueri, seperti ini:

    MATCH p=(n {tenantId:1})-[]->({tenantId:1}) RETURN p LIMIT 5)

    Neptunus Tanpa Server membuatnya relatif mudah untuk menerapkan multi-tenancy menggunakan beberapa cluster DB, yang masing-masing diskalakan secara independen dan otomatis sesuai kebutuhan.

Dukungan Neptunus untuk alat Neo4j

Neptunus menyediakan alternatif berikut untuk alat Neo4j:

Fitur dan alat Neo4j tidak tercantum di sini

Jika Anda menggunakan alat atau fitur yang tidak tercantum di sini, kami tidak yakin kompatibilitasnya dengan Neptunus atau layanan lain di dalamnya. AWS Silakan hubungi untuk AWS mendukung atau melibatkan tim akun Anda jika Anda memiliki pertanyaan lebih lanjut.