View a markdown version of this page

Mesin Amazon Neptune Versi 1.1.1.0 (2022-04-19) - Amazon Neptune

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 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

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 within dan without predikat, 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 order langkah Gremlin ketika cakupannya global (yaitu, tidakorder(local)), dan ketika by() modulator tidak digunakan. Misalnya, kueri ini sekarang akan memiliki dukungan DFE:

    g.V().values("age").order()
  • Menambahkan isLastOp bidang 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 dan count() 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 lintasan from() bersamaan dengan langkah. addE Contoh kueri semacam itu adalah:

    g.V("id").aggregate("v").out().addE().to(select("v").unfold()))
  • Memperbaiki bug Gremlin di mana lang not kahnya gagal dalam kasus tepi saat menggunakan mesin DFE. Contoh:

    g.V().not(V())
  • Memperbaiki bug Gremlin di mana sideEffect nilai tidak tersedia di dalam to() dan from() 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. 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 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.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 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 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 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.