Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mesin Amazon Neptune Versi 1.1.1.0 (2022-04-19)
Pada 2022-04-19, versi mesin 1.1.1.0 umumnya digunakan. Harap dicatat bahwa perlu beberapa hari agar rilis baru tersedia di setiap wilayah.
penting
Memutakhirkan ke rilis mesin ini dari versi yang lebih awal 1.1.0.0 juga memicu peningkatan sistem operasi pada semua instance di cluster DB Anda. Karena permintaan tulis aktif yang terjadi selama pemutakhiran sistem operasi tidak akan diproses, Anda harus menjeda semua beban kerja penulisan ke cluster yang sedang ditingkatkan, termasuk pemuatan data massal, sebelum memulai pemutakhiran.
Agar berhasil menyelesaikan peningkatan, setiap subnet di setiap zona ketersediaan (AZ) harus memiliki setidaknya satu alamat IP yang tersedia per instans Neptunus. Misalnya, jika ada satu instance penulis dan dua instance pembaca di subnet 1, dan dua instance pembaca di subnet 2, subnet 1 harus memiliki setidaknya 3 alamat IP gratis dan subnet 2 harus memiliki setidaknya 2 alamat IP gratis sebelum memulai peningkatan.
Pada awal peningkatan, Neptunus menghasilkan snapshot dengan nama yang terdiri dari preupgrade diikuti oleh pengenal yang dibuat secara otomatis berdasarkan informasi cluster DB Anda. Anda tidak akan dikenakan biaya untuk snapshot ini, dan Anda dapat menggunakannya untuk memulihkan cluster DB Anda jika terjadi kesalahan selama proses peningkatan.
Ketika peningkatan mesin itu sendiri telah selesai, versi mesin baru akan tersedia sebentar pada sistem operasi lama, tetapi dalam waktu kurang dari 5 menit semua instance di cluster Anda akan secara bersamaan memulai peningkatan sistem operasi. Cluster DB Anda tidak akan tersedia pada saat ini selama beberapa menit. Anda dapat melanjutkan beban kerja menulis setelah pemutakhiran selesai.
Proses ini menghasilkan peristiwa berikut:
-
Per-cluster pesan acara:
Upgrade in progress: Creating pre-upgrade snapshot [preupgrade-(autogenerated snapshot ID)]Database cluster major version has been upgraded
-
Per-instance pesan acara:
Applying off-line patches to DB instanceDB instance shutdownFinished applying off-line patches to DB instanceDB instance restarted
Rilis Patch Berikutnya untuk Rilis Ini
Fitur Baru dalam Rilis Mesin Ini
-
Bahasa kueri OpenCypher sekarang tersedia secara umum untuk penggunaan produksi.
Awas
Ada perubahan besar dalam rilis ini untuk kode yang menggunakan OpenCypher dengan otentikasi IAM. Dalam pratinjau Neptunus untuk OpenCypher, string host dalam tanda tangan IAM menyertakan protokol, seperti
bolt://, seperti ini:"Host":"bolt://(host URL):(port)"Dimulai dengan rilis mesin ini, protokol harus dihilangkan:
"Host":"(host URL):(port)"Lihat Menggunakan protokol Bolt sebagai contoh.
-
Menambahkan dukungan untuk TinkerPop
3.5.2. Di antara perubahan dalam rilis iniadalah dukungan untuk transaksi jarak jauh dan dukungan bytecode untuk sesi (menggunakan g.tx), dan penambahan datetime()fungsi ke bahasa Gremlin.Awas
Ada beberapa perubahan besar yang diperkenalkan di TinkerPop 3.5.0, 3.5.1, dan 3.5.2 yang dapat memengaruhi kode Gremlin Anda. Misalnya, menggunakan lintasan yang dilahirkan oleh anak GraphTraversalSource
seperti ini tidak akan berfungsi lagi:. g.V().union(identity(), g.V())Sekarang sebagai gantinya, gunakan traversal anonim seperti ini:
g.V().union(identity(), __.V()). Menambahkan dukungan untuk kunci kondisi AWS global yang dapat Anda gunakan dalam kebijakan akses data IAM yang mengontrol akses ke data yang disimpan di Neptune a Neptune DB cluster.
Mesin kueri Neptune DFE sekarang umumnya tersedia untuk penggunaan produksi dengan bahasa query OpenCypher, tetapi belum untuk kueri Gremlin dan SPARQL. Anda sekarang mengaktifkannya menggunakan parameter neptune_dfe_query_engine instansnya sendiri daripada parameter mode lab.
Perbaikan dalam Rilis Mesin Ini
Menambahkan fitur baru ke OpenCypher seperti dukungan kueri berparameter, caching pohon sintaks abstrak (AST) untuk kueri berparameter, peningkatan jalur panjang variabel (VLP), dan operator dan klausa baru. Lihat Kepatuhan spesifikasi OpenCypher di Amazon Neptune untuk tingkat dukungan bahasa saat ini.
Membuat peningkatan kinerja yang signifikan pada OpenCypher untuk beban kerja baca dan tulis sederhana, menghasilkan throughput yang lebih tinggi jika dibandingkan dengan Rilis 1.1.0.0.
Menghapus batasan dua arah dan kedalaman OpenCypher yang menangani jalur panjang variabel.
-
Menyelesaikan dukungan di mesin DFE untuk Gremlin
withindanwithoutpredikat, termasuk kasus di mana mereka digabungkan dengan operator predikat lainnya. Contoh:g.V().has('age', within(12, 15, 18).or(gt(30))) -
Dukungan tambahan di mesin DFE untuk
orderlangkah Gremlin ketika cakupannya global (yaitu, tidakorder(local)), dan ketikaby()modulator tidak digunakan. Misalnya, kueri ini sekarang akan memiliki dukungan DFE:g.V().values("age").order() Menambahkan
isLastOpbidang ke format respons log perubahan aliran Neptunus, untuk menunjukkan bahwa catatan adalah operasi terakhir dalam transaksinya.Secara signifikan meningkatkan kinerja pencatatan audit dan mengurangi latensi saat pencatatan audit diaktifkan.
Mengkonversi WebSocket bytecode Gremlin dan kueri HTTP menjadi format yang dapat dibaca pengguna dalam log audit. Kueri sekarang dapat langsung disalin dari log audit untuk dieksekusi di notebook Neptune dan di tempat lain. Perhatikan bahwa perubahan pada format log audit saat ini merupakan perubahan besar.
Perbaikan Cacat dalam Rilis Mesin Ini
-
Memperbaiki bug Gremlin langka di mana tidak ada hasil yang dikembalikan saat menggunakan kombinasi ber
filter()sarang dancount()langkah-langkah, seperti dalam kueri berikut:g.V("1").filter(out("knows") .filter(in("knows") .hasId("notExists")) .count()) -
Memperbaiki bug Gremlin di mana kesalahan dikembalikan saat menggunakan simpul yang disimpan oleh langkah agregat di salah satu
to()atau lintasanfrom()bersamaan dengan langkah.addEContoh kueri semacam itu adalah:g.V("id").aggregate("v").out().addE().to(select("v").unfold())) -
Memperbaiki bug Gremlin di mana lang
notkahnya gagal dalam kasus tepi saat menggunakan mesin DFE. Contoh:g.V().not(V()) Memperbaiki bug Gremlin di mana
sideEffectnilai tidak tersedia di dalamto()danfrom()lintasan.Memperbaiki bug yang terkadang menyebabkan reset cepat untuk memicu failover instance.
Memperbaiki bug pemuat massal di mana transaksi yang gagal tidak akan ditutup sebelum memulai pekerjaan pemuatan berikutnya.
Memperbaiki bug pemuat massal di mana kondisi memori rendah dapat menyebabkan kerusakan sistem.
Menambahkan percobaan ulang untuk memperbaiki bug pemuat massal di mana loader tidak menunggu cukup lama agar kredentif IAM tersedia setelah failover.
Memperbaiki bug di mana cache kredensia internal tidak dibersihkan dengan benar untuk titik akhir non-kueri seperti titik akhir.
statusMemperbaiki bug aliran untuk memastikan bahwa nomor urutan komit aliran diurutkan dengan benar.
Memperbaiki bug di mana koneksi yang berjalan lama dihentikan lebih cepat dari sepuluh hari pada IAM-enabled cluster.
Query-Language Versi yang Didukung dalam Rilis Ini
Sebelum memutakhirkan cluster DB ke versi 1.1.1.0, pastikan proyek Anda kompatibel dengan versi bahasa kueri ini:
Versi paling awal Gremlin didukung:
3.5.2Gremlin versi terbaru didukung:
3.5.4Versi OpenCypher:
Neptune-9.0.20190305-1.0Versi SPARQL:
1.1
Tingkatkan Jalur ke Rilis Mesin 1.1.1.0
Anda secara manual dapat meningkatkan rilis mesin Neptune apa pun sebelumnya ke rilis ini. Perhatikan bahwa versi sebelum mesin versi utama (1.1.0.0) akan membutuhkan waktu lebih lama untuk meningkatkan ke rilis ini.
Anda tidak akan secara otomatis ditingkatkan ke rilis ini.
Peningkatan ke Rilis Ini
penting
Memutakhirkan ke rilis mesin ini dari versi apa pun sebelumnya 1.1.0.0 juga memicu peningkatan sistem operasi pada semua instance di cluster DB Anda. Karena permintaan tulis aktif yang terjadi selama pemutakhiran sistem operasi tidak akan diproses, Anda harus menjeda semua beban kerja penulisan ke cluster yang sedang ditingkatkan, termasuk pemuatan data massal, sebelum memulai pemutakhiran.
Pada awal peningkatan, Neptunus menghasilkan snapshot dengan nama yang terdiri dari preupgrade diikuti oleh pengenal yang dibuat secara otomatis berdasarkan informasi cluster DB Anda. Anda tidak akan dikenakan biaya untuk snapshot ini, dan Anda dapat menggunakannya untuk memulihkan cluster DB Anda jika terjadi kesalahan selama proses peningkatan.
Ketika peningkatan mesin itu sendiri telah selesai, versi mesin baru akan tersedia sebentar pada sistem operasi lama, tetapi dalam waktu kurang dari 5 menit semua instance di cluster Anda akan secara bersamaan memulai peningkatan sistem operasi. Cluster DB Anda tidak akan tersedia pada saat ini selama sekitar 6 menit. Anda dapat melanjutkan beban kerja menulis setelah pemutakhiran selesai.
Proses ini menghasilkan peristiwa berikut:
-
Per-cluster pesan acara:
Upgrade in progress: Creating pre-upgrade snapshot [preupgrade-(autogenerated snapshot ID)]Database cluster major version has been upgraded
-
Per-instance pesan acara:
Applying off-line patches to DB instanceDB instance shutdownFinished applying off-line patches to DB instanceDB instance restarted
Jika klaster DB menjalankan versi mesin yang ada peningkatan jalur untuk rilis ini, klaster tersebut sekarang memenuhi syarat untuk ditingkatkan. Anda dapat meningkatkan klaster yang memenuhi syarat menggunakan operasi klaster DB pada konsol atau dengan menggunakan SDK. Perintah CLI berikut akan meningkatkan klaster yang memenuhi syarat dengan segera:
Untuk Linux, macOS, atau Unix:
aws neptune modify-db-cluster \ --db-cluster-identifier(your-neptune-cluster)\ --engine neptune \ --engine-version 1.1.1.0 \ --allow-major-version-upgrade \ --apply-immediately
Untuk Windows:
aws neptune modify-db-cluster ^ --db-cluster-identifier(your-neptune-cluster)^ --engine neptune ^ --engine-version 1.1.1.0 ^ --allow-major-version-upgrade ^ --apply-immediately
Alih-alih--apply-immediately, Anda dapat menentukan--no-apply-immediately. Untuk melakukan peningkatan versi utama, parameter allow-major-version-upgrade diperlukan. Juga, pastikan untuk menyertakan versi mesin atau mesin Anda mungkin ditingkatkan ke versi yang berbeda.
Jika cluster Anda menggunakan grup parameter cluster kustom, pastikan untuk menyertakan parameter ini untuk menentukannya:
--db-cluster-parameter-group-name(name of the custom DB cluster parameter group)
Demikian pula, jika ada instance di cluster yang menggunakan grup parameter DB kustom, pastikan untuk menyertakan parameter ini untuk menentukannya:
--db-instance-parameter-group-name(name of the custom instance parameter group)
Selalu uji sebelum Anda meningkatkan
Saat versi mesin Neptunus mayor atau minor baru dirilis, selalu uji aplikasi Neptunus Anda terlebih dahulu sebelum memutakhirkannya. Bahkan peningkatan kecil dapat memperkenalkan fitur atau perilaku baru yang akan memengaruhi kode Anda.
Mulailah dengan membandingkan halaman catatan rilis dari versi Anda saat ini dengan versi yang ditargetkan untuk melihat apakah akan ada perubahan dalam versi bahasa kueri atau perubahan besar lainnya.
Cara terbaik untuk menguji versi baru sebelum memutakhirkan cluster DB produksi Anda adalah dengan mengkloning cluster produksi Anda sehingga klon menjalankan versi mesin baru. Anda kemudian dapat menjalankan kueri pada klon tanpa mempengaruhi cluster DB produksi.
Selalu buat snapshot manual sebelum Anda memutakhirkan
Sebelum melakukan upgrade, kami sangat menyarankan agar Anda selalu membuat snapshot manual dari cluster DB Anda. Memiliki snapshot otomatis hanya menawarkan perlindungan jangka pendek, sedangkan snapshot manual tetap tersedia sampai Anda secara eksplisit menghapusnya.
Dalam kasus tertentu Neptunus membuat snapshot manual untuk Anda sebagai bagian dari proses peningkatan, tetapi Anda tidak boleh mengandalkan ini, dan harus membuat snapshot manual Anda sendiri dalam hal apa pun.
Ketika Anda yakin bahwa Anda tidak perlu mengembalikan cluster DB Anda ke status pra-upgrade, Anda dapat secara eksplisit menghapus snapshot manual yang Anda buat sendiri, serta snapshot manual yang mungkin telah dibuat Neptunus. Jika Neptune membuat snapshot manual, itu akan memiliki nama yang dimulai denganpreupgrade, diikuti oleh nama cluster DB Anda, versi mesin sumber, versi mesin target, dan tanggal.
catatan
Jika Anda mencoba memutakhirkan saat tindakan tertunda sedang dalam proses, Anda mungkin mengalami kesalahan seperti berikut ini:
We're sorry, your request to modify DB cluster (cluster identifier) has failed. Cannot modify engine version because instance (instance identifier) is running on an old configuration. Apply any pending maintenance actions on the instance before proceeding with the upgrade.
Jika Anda mengalami kesalahan ini, tunggu tindakan tertunda selesai, atau segera picu jendela pemeliharaan untuk membiarkan pemutakhiran sebelumnya selesai.
Untuk informasi selengkapnya tentang peningkatan versi mesin Anda, lihat Mempertahankan Cluster DB Amazon Neptunus Anda. Jika Anda memiliki pertanyaan atau masalah, tim AWS Dukungan tersedia di forum komunitas dan melalui AWS Dukungan Premium