Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengoptimalkan pemuatan massal Amazon Neptune
Gunakan strategi berikut untuk menjaga waktu muat hingga minimum untuk pemuatan massal Neptune:
-
Bersihkan data Anda:
Pastikan untuk mengonversi data Anda menjadi Format data yang didukung sebelum memuat.
Hapus duplikat atau kesalahan yang diketahui.
Kurangi jumlah predikat unik (seperti properti edge dan vertex) sebanyak yang Anda bisa.
-
Optimalkan file Anda:
Jika Anda memuat file besar seperti CSV file dari bucket Amazon S3, loader mengelola konkurensi untuk Anda dengan menguraikannya menjadi potongan-potongan yang dapat dimuat secara paralel. Menggunakan sejumlah besar file kecil dapat memperlambat proses ini.
Jika Anda memuat beberapa file dari folder Amazon S3, loader secara otomatis memuat file vertex terlebih dahulu, kemudian file edge sesudahnya.
Mengompresi file mengurangi waktu transfer. Loader mendukung kompresi
gzip
file sumber.
-
Periksa pengaturan loader Anda:
-
Jika Anda tidak perlu melakukan operasi lain selama pemuatan, gunakan OVERSUBSCRIBEparallelismparameternya. Pengaturan parameter ini menyebabkan pemuat massal menggunakan semua CPU sumber daya yang tersedia saat dijalankan. Umumnya dibutuhkan 60% -70% dari CPU kapasitas untuk menjaga operasi berjalan secepat I/O kendala memungkinkan.
catatan
Ketika
parallelism
disetel keOVERSUBSCRIBE
atauHIGH
(pengaturan default), ada risiko saat memuat openCypher data bahwa thread mungkin mengalami kondisi balapan dan kebuntuan, yang mengakibatkanLOAD_DATA_DEADLOCK
kesalahan. Dalam hal ini, aturparallelism
ke pengaturan yang lebih rendah dan coba lagi beban. Jika pekerjaan pemuatan Anda akan mencakup beberapa permintaan pemuatan, gunakan parameter
queueRequest
. MengaturqueueRequest
keTRUE
memungkinkan Neptune mengantrekan permintaan Anda sehingga Anda tidak perlu menunggu sampai satu permintaan selesai sebelum mengeluarkan permintaan yang lain.Jika permintaan pemuatan Anda sedang mengantre, Anda dapat mengatur tingkat ketergantungan menggunakan parameter
dependencies
, sehingga kegagalan satu pekerjaan menyebabkan pekerjaan yang bergantung gagal. Hal ini dapat mencegah inkonsistensi dalam data yang dimuat.-
Jika pekerjaan pemuatan akan melibatkan proses memperbarui nilai yang sebelumnya dimuat, pastikan untuk mengatur parameter
updateSingleCardinalityProperties
keTRUE
. Jika tidak, loader akan memperlakukan upaya untuk memperbarui nilai kardinalitas tunggal yang ada sebagai kesalahan. Untuk data Gremlin, kardinalitas juga ditentukan dalam header kolom properti (lihat Header Kolom Properti).catatan
updateSingleCardinalityProperties
Parameter tidak tersedia untuk data Resource Description Framework (RDF). Anda dapat menggunakan parameter
failOnError
untuk menentukan apakah operasi pemuatan massal harus gagal atau lanjut ketika kesalahan ditemui. Juga, Anda dapat menggunakanmode
untuk memastikan bahwa pekerjaan pemuatan berlanjut memuat dari titik di mana pekerjaan sebelumnya gagal alih-alih memuat ulang data yang sudah dimuat.
-
-
Scale up — Atur instance penulis cluster DB Anda ke ukuran maksimum sebelum pemuatan massal. Perhatikan bahwa jika Anda melakukan ini, Anda harus meningkatkan instance read-replica di cluster DB juga, atau menghapusnya sampai Anda selesai memuat data.
Ketika pemuatan massal Anda selesai, pastikan untuk menskalakan turun instance penulis kembali.
penting
Jika Anda mengalami siklus restart replika baca berulang karena kelambatan replikasi selama pemuatan massal, replika Anda kemungkinan tidak dapat mengikuti penulis di cluster DB Anda. Baik skala pembaca menjadi lebih besar dari penulis, atau hapus sementara selama pemuatan massal dan kemudian buat ulang setelah selesai.
Lihat Parameter Permintaan untuk rincian lebih lanjut tentang pengaturan parameter permintaan loader.