Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mesin Amazon Neptunus Versi 1.1.1.0 (2022-04-19)
Pada 2022-04-19, engine versi 1.1.1.0 sedang digunakan secara umum. Harap dicatat bahwa perlu beberapa hari agar rilis baru tersedia di setiap wilayah.
penting
Memutakhirkan ke rilis mesin ini dari versi sebelumnya 1.1.0.0
juga memicu peningkatan sistem operasi pada semua instance di cluster DB Anda. Karena permintaan penulisan aktif yang terjadi selama pemutakhiran sistem operasi tidak akan diproses, Anda harus menjeda semua beban kerja tulis ke klaster 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 instance 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 upgrade.
Pada awal pemutakhiran, Neptunus menghasilkan snapshot dengan nama yang terdiri dari diikuti oleh pengidentifikasi yang dibuat preupgrade
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 upgrade 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 secara bersamaan akan memulai upgrade sistem operasi. Cluster DB Anda tidak akan tersedia pada saat ini selama beberapa menit. Anda dapat melanjutkan beban kerja menulis setelah peningkatan selesai.
Proses ini menghasilkan peristiwa berikut:
-
Pesan acara per cluster:
Upgrade in progress: Creating pre-upgrade snapshot [preupgrade-
(autogenerated snapshot ID)
]Database cluster major version has been upgraded
-
Pesan acara per instance:
Applying off-line patches to DB instance
DB instance shutdown
Finished applying off-line patches to DB instance
DB instance restarted
Rilis Patch Berikutnya untuk Rilis Ini
Fitur Baru dalam Rilis Mesin Ini
-
Bahasa query OpenCypher sekarang umumnya tersedia 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, seperti ini:
bolt://
"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 traversal yang dihasilkan oleh a GraphTraversalSource sebagai anak-anak
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 Neptunus, kluster DB Neptunus.
Mesin kueri Neptunus DFE sekarang umumnya tersedia untuk penggunaan produksi dengan bahasa kueri OpenCypher, tetapi belum untuk kueri Gremlin dan SPARQL. Anda sekarang mengaktifkannya menggunakan parameter neptune_dfe_query_engine instance-nya sendiri daripada parameter lab-mode.
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), serta operator dan klausa baru. Lihat openCypher kepatuhan spesifikasi di Amazon Neptunus untuk tingkat dukungan bahasa saat ini.
Membuat peningkatan kinerja yang signifikan pada OpenCypher untuk beban kerja baca dan tulis yang sederhana, menghasilkan throughput yang lebih tinggi jika dibandingkan dengan Release 1.1.0.0.
Menghapus keterbatasan dua arah dan kedalaman OpenCypher yang menangani jalur panjang variabel.
-
Dukungan lengkap di mesin DFE untuk Gremlin
within
danwithout
predikat, termasuk kasus di mana mereka digabungkan dengan operator predikat lainnya. Misalnya:g.V().has('age', within(12, 15, 18).or(gt(30)))
-
Dukungan yang diperluas di mesin DFE untuk
order
langkah Gremlin ketika ruang lingkup global (yaitu, tidakorder(local)
), dan ketikaby()
modulator tidak digunakan. Misalnya, kueri ini sekarang memiliki dukungan DFE:g.V().values("age").order()
Menambahkan
isLastOp
bidang ke format respons perubahan log aliran Neptunus, untuk menunjukkan bahwa catatan adalah operasi terakhir dalam transaksinya.Secara signifikan meningkatkan kinerja pencatatan audit dan mengurangi latensi saat pencatatan audit diaktifkan.
Dikonversi WebSocket bytecode Gremlin dan kueri HTTP menjadi format yang dapat dibaca pengguna di log audit. Kueri sekarang dapat langsung disalin dari log audit untuk dieksekusi di notebook Neptunus dan di tempat lain. Perhatikan bahwa perubahan pada format log audit saat ini merupakan perubahan yang melanggar.
Perbaikan Cacat dalam Rilis Mesin Ini
-
Memperbaiki bug Gremlin langka di mana tidak ada hasil yang dikembalikan saat menggunakan bersarang
filter()
dancount()
langkah-langkah dalam kombinasi, 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()
ataufrom()
traversal dalam hubungannya dengan langkah.addE
Contoh kueri semacam itu adalah:g.V("id").aggregate("v").out().addE().to(select("v").unfold()))
-
Memperbaiki bug Gremlin di mana
not
langkahnya gagal dalam kasus tepi saat menggunakan mesin DFE. Misalnya:g.V().not(V())
Memperbaiki bug Gremlin di mana
sideEffect
nilai tidak tersedia di dalamto()
danfrom()
melintasi.Memperbaiki bug yang terkadang menyebabkan reset cepat memicu failover instance.
Memperbaiki bug pemuat massal di mana transaksi yang gagal tidak akan ditutup sebelum memulai pekerjaan pemuatan berikutnya.
Memperbaiki bug loader massal di mana kondisi memori rendah dapat menyebabkan crash pada sistem.
Menambahkan percobaan lagi untuk memperbaiki bug pemuat massal di mana loader tidak menunggu cukup lama hingga kredensyal IAM tersedia setelah failover.
Memperbaiki bug di mana cache kredensyal internal tidak dihapus dengan benar untuk titik akhir non-kueri seperti titik akhir.
status
Memperbaiki 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 kluster yang mendukung IAM.
Versi Kueri Bahasa 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.2
Gremlin versi terbaru didukung:
3.5.4
Versi OpenCypher:
Neptune-9.0.20190305-1.0
Versi 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 penulisan aktif yang terjadi selama pemutakhiran sistem operasi tidak akan diproses, Anda harus menjeda semua beban kerja tulis ke klaster yang sedang ditingkatkan, termasuk pemuatan data massal, sebelum memulai pemutakhiran.
Pada awal pemutakhiran, Neptunus menghasilkan snapshot dengan nama yang terdiri dari diikuti oleh pengidentifikasi yang dibuat preupgrade
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 upgrade 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 secara bersamaan akan memulai upgrade sistem operasi. Cluster DB Anda tidak akan tersedia pada saat ini selama sekitar 6 menit. Anda dapat melanjutkan beban kerja menulis setelah peningkatan selesai.
Proses ini menghasilkan peristiwa berikut:
-
Pesan acara per cluster:
Upgrade in progress: Creating pre-upgrade snapshot [preupgrade-
(autogenerated snapshot ID)
]Database cluster major version has been upgraded
-
Pesan acara per instance:
Applying off-line patches to DB instance
DB instance shutdown
Finished applying off-line patches to DB instance
DB 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 upgrade versi utama, allow-major-version-upgrade parameter diperlukan. Juga, pastikan untuk menyertakan versi mesin atau mesin Anda dapat ditingkatkan ke versi yang berbeda.
Jika klaster Anda menggunakan grup parameter cluster kustom, pastikan untuk menyertakan paramater 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 melanggar 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 meng-upgrade
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 menghapusnya secara eksplisit.
Dalam kasus tertentu Neptunus membuat snapshot manual untuk Anda sebagai bagian dari proses peningkatan, tetapi Anda tidak harus 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-pemutakhiran, Anda dapat secara eksplisit menghapus snapshot manual yang Anda buat sendiri, serta snapshot manual yang mungkin dibuat Neptunus. Jika Neptunus membuat snapshot manual, itu akan memiliki nama yang dimulai preupgrade
dengan, diikuti dengan nama cluster DB Anda, versi mesin sumber, versi mesin target, dan tanggal.
catatan
Jika Anda mencoba memutakhirkan saat tindakan yang tertunda sedang dalam proses, Anda mungkin mengalami kesalahan seperti berikut:
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 hingga tindakan yang tertunda selesai, atau segera picu jendela pemeliharaan agar 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 Support AWS tersedia di forum komunitas dan melalui Premium Support AWS