Mesin Amazon Neptunus Versi 1.2.1.0 (2023-03-08) - Amazon Neptune

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.2.1.0 (2023-03-08)

Pada 2023-03-08, engine versi 1.2.1.0 sedang digunakan secara umum. Harap dicatat bahwa perlu beberapa hari agar rilis baru tersedia di setiap wilayah.

catatan

Jika memutakhirkan dari versi mesin lebih awal dari 1.2.0.0:

  • Engine release 1.2.0.0 memperkenalkan format baru untuk grup parameter kustom dan grup parameter cluster kustom. Akibatnya, jika Anda memutakhirkan dari versi engine lebih awal dari 1.2.0.0 ke engine versi 1.2.0.0 atau lebih tinggi, Anda harus membuat ulang semua grup parameter kustom yang ada dan grup parameter cluster kustom menggunakan keluarga grup parameter. neptune1.2 Rilis sebelumnya menggunakan keluarga grup parameterneptune1, dan grup parameter tersebut tidak akan berfungsi dengan rilis 1.2.0.0 ke atas. Lihat Grup parameter Amazon Neptunus untuk informasi selengkapnya.

  • Engine release 1.2.0.0 juga memperkenalkan format baru untuk membatalkan log. Akibatnya, setiap log pembatalan yang dibuat oleh versi mesin sebelumnya harus dibersihkan dan UndoLogsListSize CloudWatch metrik harus jatuh ke nol sebelum peningkatan apa pun dari versi yang lebih awal dari 1.2.0.0 dapat dimulai. Jika ada terlalu banyak catatan log undo (200.000 atau lebih) saat Anda mencoba memulai pembaruan, upaya pemutakhiran dapat habis sementara menunggu pembersihan log pembatalan selesai.

    Anda dapat mempercepat tingkat pembersihan dengan memutakhirkan instance penulis cluster, di mana pembersihan terjadi. Melakukan itu sebelum mencoba memutakhirkan dapat menurunkan jumlah log batal sebelum Anda mulai. Meningkatkan ukuran penulis ke jenis instans 24XL dapat meningkatkan tingkat pembersihan Anda menjadi lebih dari satu juta catatan per jam.

    Jika UndoLogsListSize CloudWatch metriknya sangat besar, membuka kasus dukungan dapat membantu Anda mengeksplorasi strategi tambahan untuk menurunkannya.

  • Akhirnya, ada perubahan besar dalam rilis 1.2.0.0 yang mempengaruhi kode sebelumnya yang menggunakan protokol Bolt dengan otentikasi IAM. Dimulai dengan rilis 1.2.0.0, Bolt membutuhkan jalur sumber daya untuk penandatanganan IAM. Di Java, menyetel jalur sumber daya mungkin terlihat seperti ini:request.setResourcePath("/openCypher"));. Dalam bahasa lain, /openCypher dapat ditambahkan ke URI endpoint. Lihat Menggunakan protokol Bolt sebagai contoh.

Rilis Patch Berikutnya untuk Rilis Ini

Fitur Baru dalam Rilis Mesin Ini

  • Menambahkan dukungan untuk TinkerPop 3.6.2, yang menambahkan banyak fitur Gremlin baru seperti yang barumergeV(),,mergeE(), element() dan langkah-langkah. fail() mergeE()Langkah-langkah mergeV() dan adalah catatan khusus karena mereka menawarkan opsi deklaratif yang telah lama ditunggu-tunggu untuk melakukan operasi seperti upsert, yang seharusnya sangat menyederhanakan pola kode yang ada dan membuat Gremlin lebih mudah dibaca. Versi 3.6.x juga menambahkan predikat regex, kelebihan beban baru ke property() langkah yang mengambilMap, dan revisi besar perilaku by() modulasi yang jauh lebih konsisten di semua langkah yang menggunakannya.

    Lihat log TinkerPop perubahan dan halaman upgrade untuk informasi tentang perubahan di versi 3.6 dan hal-hal yang perlu dipertimbangkan saat memutakhirkan.

    Jika Anda menggunakan fold().coalesce(unfold(), <mutate>) untuk sisipan bersyarat, kami sarankan Anda bermigrasi ke mergeV/E() sintaks baru, dijelaskan di sini dan di sini. Neptunus menggunakan pola penguncian yang lebih sempit Merge untuk daripada Coalesce untuk, yang dapat mengurangi pengecualian modifikasi bersamaan (CME).

    Untuk informasi lebih lanjut tentang fitur baru yang tersedia dalam TinkerPop rilis ini, lihat blog Stephen Mallette, Menjelajahi fitur baru Apache TinkerPop 3.6.x di Amazon Neptunus.

  • Menambahkan dukungan untuk tipe instans R6i, didukung oleh prosesor Intel Xeon Scalable generasi ke-3. Ini sangat cocok untuk beban kerja intensif memori dan menawarkan kinerja komputasi/harga hingga 15% lebih baik dan bandwidth memori per vCPU hingga 20% lebih tinggi daripada jenis instans R5 yang sebanding.

  • Menambahkan titik akhir API ringkasan grafik untuk grafik properti dan grafik RDF, yang memungkinkan Anda mendapatkan laporan ringkasan cepat tentang grafik Anda.

    Untuk grafik properti (PG), API ringkasan grafik menyediakan daftar read-only label node dan edge dan kunci properti, bersama dengan jumlah node, tepi, dan properti. Untuk grafik RDF, ini menyediakan daftar kelas dan kunci predikat, bersama dengan jumlah paha depan, subjek, dan predikat.

    Perubahan berikut sejalan dengan API ringkasan grafik baru:

    • Menambahkan aksi GetGraphSummarydataplane baru.

    • Menambahkan rdf/statistics endpoint baru untuk menggantikan sparql/statistics endpoint, yang sekarang sudah usang.

    • Mengubah nama summary bidang dalam respons status statistiksignatureInfo, agar tidak membingungkan dengan informasi ringkasan grafik. Versi mesin sebelumnya terus digunakan summary dalam respons JSON.

    • Mengubah ketepatan date bidang dalam respons status statistik dari menit ke milidetik. Format sebelumnya adalah 2020-05-07T23:13Z (presisi menit), sedangkan format baru adalah 2023-01-24T00:47:43.319Z (presisi milidetik). Keduanya sesuai dengan ISO 8601, tetapi perubahan ini dapat merusak kode yang ada, tergantung pada bagaimana tanggal diuraikan.

    • Menambahkan keajaiban %statisticsbaris baru di Workbench yang memungkinkan Anda mengambil statistik mesin DFE.

    • Menambahkan sihir %summarybaris baru di Workbench yang memungkinkan Anda mengambil informasi ringkasan grafik.

  • Menambahkan pencatatan kueri lambat ke kueri log yang membutuhkan waktu lebih lama untuk dieksekusi daripada ambang batas yang ditentukan. Anda mengaktifkan dan mengontrol logging query lambat menggunakan dua parameter dinamis baru, yaitu neptune_enable_slow_query_log, dan neptune_slow_query_log_threshold.

  • Menambahkan dukungan untuk dua parameter dinamis, yaitu parameter cluster baru, neptune_enable_slow_query_log, dan neptune_slow_query_log_threshold. Ketika Anda membuat perubahan ke parameter dinamis, itu akan segera berlaku, tanpa memerlukan reboot instance apa pun.

  • Menambahkan fungsi OpenCypher removeKeyFromMap () khusus Neptunus yang menghapus kunci tertentu dari peta dan mengembalikan peta baru yang dihasilkan.

Perbaikan dalam Rilis Mesin Ini

  • Memperluas dukungan Gremlin DFE untuk limit langkah-langkah dengan cakupan lokal.

  • Menambahkan dukungan by() modulasi untuk Gremlin DedupGlobalStep di mesin DFE.

  • Menambahkan dukungan DFE untuk Gremlin SelectStep dan. SelectOneStep

  • Peningkatan kinerja dan perbaikan kebenaran untuk berbagai operator Gremlin, termasukrepeat,,, dan. coalesce store aggregate

  • Peningkatan kinerja kueri OpenCypher yang melibatkan dan. MERGE OPTIONAL MATCH

  • Peningkatan kinerja query OpenCypher yang melibatkan UNWIND daftar peta nilai literal.

  • Peningkatan kinerja kueri OpenCypher yang memiliki filter untuk. IN id Misalnya:

    MATCH (n) WHERE id(n) IN ['1', '2', '3'] RETURN n
  • Menambahkan kemampuan untuk menentukan IRI dasar untuk kueri SPARQL menggunakan pernyataan BASE (lihat). Basis default IRI untuk kueri dan pembaruan

  • Mempersingkat waktu tunggu pemrosesan beban untuk beban curah khusus tepi Gremlin dan OpenCypher.

  • Pemuatan massal yang dibuat dilanjutkan secara asinkron saat Neptunus memulai ulang untuk menghindari waktu tunggu yang lama yang disebabkan oleh masalah konektivitas Amazon S3 sebelum gagal melanjutkan upaya.

  • Peningkatan penanganan kueri SPARQL DESCRIBE yang memiliki petunjuk kueri DescribeMode yang disetel ke "CBD" (deskripsi terbatas ringkas) dan yang melibatkan sejumlah besar node kosong.

Perbaikan Cacat dalam Rilis Mesin Ini

  • Memperbaiki bug OpenCypher di mana kueri mengembalikan string,"null", bukan nilai null di Bolt dan SPARQL-JSON.

  • Memperbaiki bug OpenCypher dalam pemahaman daftar yang menghasilkan nilai nol daripada nilai yang disediakan untuk elemen daftar.

  • Memperbaiki bug OpenCypher di mana nilai byte tidak diserialkan dengan benar.

  • Memperbaiki bug Gremlin UnionStep yang terjadi ketika input adalah tepi yang melintasi ke simpul di dalam traversal anak.

  • Memperbaiki bug Gremlin yang menyebabkan label langkah yang terkait dengan UnionStep tidak menyebar dengan benar ke langkah terakhir dari setiap traversal anak.

  • Memperbaiki bug Gremlin untuk dedup langkah dengan label mengikuti repeat langkah, di mana label yang dilampirkan pada dedup langkah tidak tersedia untuk digunakan dalam kueri lebih lanjut.

  • Memperbaiki bug Gremlin di mana menerjemahkan repeat langkah di dalam union langkah gagal dengan kesalahan internal.

  • Memperbaiki masalah kebenaran Gremlin untuk kueri DFE dengan limit sebagai traversal anak dari langkah-langkah non-serikat dengan kembali ke Tinkerpop. Kueri dalam bentuk seperti ini terpengaruh:

    g.withSideEffect('Neptune#useDFE', true).V().as("a").select("a").by(out().limit(1))
  • Memperbaiki bug SPARQL di mana SPARQL GRAPH pola tidak akan mempertimbangkan kumpulan data yang disediakan oleh klausa. FROM NAMED

  • Memperbaiki bug SPARQL di mana SPARQL DESCRIBE dengan beberapa FROM dan/atau FROM NAMED klausa tidak selalu menggunakan data dengan benar dari grafik default dan terkadang melemparkan pengecualian. Lihat SPARQLDESCRIBEperilaku sehubungan dengan grafik default.

  • Memperbaiki bug SPARQL sehingga pesan pengecualian yang benar dikembalikan ketika karakter null ditolak.

  • Memperbaiki bug penjelasan SPARQL yang memengaruhi paket yang berisi operator. PipelinedHashIndexJoin

  • Memperbaiki bug yang menyebabkan kesalahan internal dilemparkan saat kueri yang mengembalikan nilai konstan dikirimkan.

  • Memperbaiki masalah dengan logika detektor kebuntuan yang terkadang membuat mesin tidak responsif.

Versi Kueri Bahasa yang Didukung dalam Rilis Ini

Sebelum memutakhirkan cluster DB ke versi 1.2.1.0, pastikan proyek Anda kompatibel dengan versi bahasa kueri ini:

  • Versi paling awal Gremlin didukung: 3.6.2

  • Gremlin versi terbaru didukung: 3.6.2

  • Versi OpenCypher: Neptune-9.0.20190305-1.1

  • Versi SPARQL: 1.1

Tingkatkan Jalur ke Rilis Mesin 1.2.1.0

Anda dapat memutakhirkan ke rilis ini secara manual dari rilis mesin Neptunus sebelumnya yang lebih besar dari atau sama dengan 1.1.0.0.

catatan

Dimulai dengan rilis mesin 1.2.0.0, semua grup parameter khusus dan grup parameter cluster khusus yang Anda gunakan dengan versi mesin lebih awal dari sekarang 1.2.0.0 harus dibuat ulang menggunakan keluarga grup parameter. neptune1.2 Rilis sebelumnya menggunakan keluarga grup parameterneptune1, dan grup parameter tersebut tidak akan berfungsi dengan rilis dari 1.2.0.0 seterusnya. Lihat Grup parameter Amazon Neptunus untuk informasi selengkapnya.

Anda tidak akan secara otomatis ditingkatkan ke rilis versi utama ini.

Peningkatan ke Rilis Ini

Amazon Neptune 1.2.1.0 sekarang tersedia secara umum.

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-version 1.2.1.0 \ --apply-immediately

Untuk Windows:

aws neptune modify-db-cluster ^ --db-cluster-identifier (your-neptune-cluster) ^ --engine-version 1.2.1.0 ^ --apply-immediately

Pembaruan diterapkan ke semua instans dalam klaster DB pada saat yang sama. Pembaruan memerlukan basis data dimulai ulang di instans tersebut, sehingga Anda mengalami waktu henti 20 hingga 30 detik, setelah itu Anda dapat melanjutkan penggunaan klaster DB Anda.

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