Memutakhirkan tabel global ke versi Saat Ini (2019.11.21) dari versi Legacy (2017.11.29) - Amazon DynamoDB

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Memutakhirkan tabel global ke versi Saat Ini (2019.11.21) dari versi Legacy (2017.11.29)

Ada dua versi tabel global DynamoDB yang tersedia: Tabel Global versi 2019.11.21 (Saat Ini) dan. Versi tabel global 2017.11.29 (Legacy) Pelanggan harus menggunakan versi 2019.11.21 (Terbaru) jika memungkinkan, karena memberikan fleksibilitas yang lebih besar, efisiensi yang lebih tinggi, dan mengonsumsi kapasitas tulis yang lebih sedikit daripada 2017.11.29 (Lama). Untuk menentukan versi yang Anda gunakan, lihatMenentukan versi tabel global yang Anda gunakan.

Bagian ini menjelaskan cara memutakhirkan tabel global Anda ke Versi 2019.11.21 (Saat ini) menggunakan konsol DynamoDB. Memutakhirkan dari Versi 2017.11.29 (Legacy) ke Versi 2019.11.21 (Saat Ini) adalah tindakan satu kali dan Anda tidak dapat membalikkannya. Saat ini, Anda dapat memutakhirkan tabel global hanya menggunakan konsol.

Perbedaan perilaku antara versi Legacy dan Current

Daftar berikut menjelaskan perbedaan perilaku antara versi Legacy dan Current dari tabel global.

  • Versi 2019.11.21 (Saat ini) mengkonsumsi lebih sedikit kapasitas tulis untuk beberapa operasi DynamoDB dibandingkan dengan Versi 2017.11.29 (Legacy), dan oleh karena itu, lebih hemat biaya bagi sebagian besar pelanggan. Perbedaan untuk operasi DynamoDB ini adalah sebagai berikut:

    • PutItemMemanggil item 1KB di Wilayah dan mereplikasi ke Wilayah lain memerlukan 2 rWRU per wilayah untuk 2017.11.29 (Warisan), tetapi hanya 1 rWRU untuk 2019.11.21 (Saat Ini).

    • UpdateItemMemanggil item 1KB membutuhkan 2 rWRU di Wilayah sumber dan 1 RwRU per Wilayah tujuan untuk 2017.11.29 (Warisan), tetapi hanya 1 rWRU untuk Wilayah sumber dan tujuan untuk 2019.11.21 (Saat Ini).

    • DeleteItemMemanggil item 1KB membutuhkan 1 rWRU di Wilayah sumber dan 2 rWRU per Wilayah tujuan untuk 2017.11.29 (Warisan), tetapi hanya 1 rWRU untuk Wilayah sumber atau tujuan untuk 2019.11.21 (Saat Ini).

    Tabel berikut menunjukkan konsumsi RwRU untuk tabel 2017.11.29 (Legacy) dan 2019.11.21 (Saat Ini).

    Konsumsi RwRU 2017.11.29 (Legacy) dan 2019.11.21 (Saat Ini) tabel untuk item 1KB di dua Wilayah
    Operasi 2017.11.29 (Warisan) 2019.11.21 (Saat ini) Penghematan
    PutItem 4 RWRU 2 RWRU 50%
    UpdateItem 3 RWRU 2 RWRU 33%
    DeleteItem 3 RWRU 2 RWRU 33%
  • Versi 2017.11.29 (Legacy) hanya tersedia di 11. Wilayah AWS Namun, Versi 2019.11.21 (Saat Ini) tersedia di semua. Wilayah AWS

  • Anda membuat tabel global Versi 2017.11.29 (Legacy) dengan terlebih dahulu membuat satu set tabel Regional kosong, lalu memanggil CreateGlobalTableAPI untuk membentuk tabel global. Anda membuat tabel global Versi 2019.11.21 (Saat ini) dengan menjalankan UpdateTableAPI untuk menambahkan replika ke tabel Regional yang ada.

  • Versi 2017.11.29 (Legacy) mengharuskan Anda untuk mengosongkan semua replika dalam tabel sebelum menambahkan replika di Wilayah baru (termasuk selama pembuatan). Versi 2019.11.21 (Saat ini) mendukung Anda untuk menambah dan menghapus replika ke Wilayah pada tabel yang sudah berisi data.

  • Versi 2017.11.29 (Legacy) menggunakan set khusus API bidang kontrol berikut untuk mengelola replika:

    Versi 2019.11.21 (Saat ini) menggunakan UpdateTableAPI DescribeTabledan untuk mengelola replika.

  • Versi 2017.11.29 (Legacy) menerbitkan dua catatan DynamoDB Streams untuk setiap penulisan. Versi 2019.11.21 (Saat ini) hanya menerbitkan satu catatan DynamoDB Streams untuk setiap penulisan.

  • Versi 2017.11.29 (Legacy) mengisi dan memperbarui,, dan atribut. aws:rep:deleting aws:rep:updateregion aws:rep:updatetime Versi 2019.11.21 (Saat ini) tidak mengisi atau memperbarui atribut ini.

  • Versi 2017.11.29 (Legacy) tidak menyinkronkan Waktu untuk Hidup (TTL) pengaturan di seluruh replika. Versi 2019.11.21 (Saat ini) menyinkronkan pengaturan TTL di seluruh replika.

  • Versi 2017.11.29 (Legacy) tidak mereplikasi penghapusan TTL ke replika lain. Versi 2019.11.21 (Saat ini) mereplikasi penghapusan TTL ke semua replika.

  • Versi 2017.11.29 (Legacy) tidak menyinkronkan pengaturan penskalaan otomatis di seluruh replika. Versi 2019.11.21 (Saat ini) menyinkronkan pengaturan penskalaan otomatis di seluruh replika.

  • Versi 2017.11.29 (Legacy) tidak menyinkronkan pengaturan indeks sekunder global (GSI) di seluruh replika. Versi 2019.11.21 (Saat ini) menyinkronkan pengaturan GSI di seluruh replika.

  • Versi 2017.11.29 (Legacy) tidak menyinkronkan enkripsi pada pengaturan istirahat di seluruh replika. Versi 2019.11.21 (Saat ini) menyinkronkan enkripsi pada pengaturan istirahat di seluruh replika.

  • Versi 2017.11.29 (Legacy) menerbitkan metrik. PendingReplicationCount Versi 2019.11.21 (Saat ini) tidak mempublikasikan metrik ini.

Prasyarat peningkatan

Sebelum Anda mulai meningkatkan ke Versi 2019.11.21 (Saat ini) tabel global, Anda harus memenuhi prasyarat berikut:

  • Waktu untuk Hidup (TTL)pengaturan pada replika konsisten di seluruh Wilayah.

  • Definisi indeks sekunder global (GSI) pada replika konsisten di seluruh Wilayah.

  • Enkripsi pada pengaturan istirahat pada replika konsisten di seluruh Wilayah.

  • DynamoDB auto scaling diaktifkan untuk WCU untuk semua replika, atau mode kapasitas sesuai permintaan diaktifkan untuk semua replika.

  • Aplikasi tidak memerlukan kehadiran dariaws:rep:deleting,aws:rep:updateregion, dan aws:rep:updatetime atribut dalam item tabel.

Izin yang diperlukan untuk peningkatan tabel global

Untuk meningkatkan ke Versi 2019.11.21 (Saat Ini), Anda harus memiliki dynamodb:UpdateGlobalTableVersion izin di semua Wilayah dengan replika. Izin ini diperlukan selain izin yang diperlukan untuk mengakses konsol DynamoDB dan tabel tampilan.

Kebijakan IAM berikut memberikan izin untuk memutakhirkan tabel global apa pun ke Versi 2019.11.21 (Saat Ini).

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "dynamodb:UpdateGlobalTableVersion", "Resource": "*" } ] }

Kebijakan IAM berikut memberikan izin untuk memutakhirkan hanya tabel Music global dengan replika di dua Wilayah ke Versi 2019.11.21 (Saat Ini).

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "dynamodb:UpdateGlobalTableVersion", "Resource": [ "arn:aws:dynamodb::123456789012:global-table/Music", "arn:aws:dynamodb:ap-southeast-1:123456789012:table/Music", "arn:aws:dynamodb:us-east-2:123456789012:table/Music" ] } ] }

Apa yang diharapkan selama upgrade

  • Semua replika tabel global akan terus memproses lalu lintas baca dan tulis saat meningkatkan.

  • Proses upgrade membutuhkan antara beberapa menit hingga beberapa jam tergantung pada ukuran tabel dan jumlah replika.

  • Selama proses upgrade, nilai TableStatusakan berubah dari ACTIVE keUPDATING. Anda dapat melihat status tabel dengan menjalankan DescribeTableAPI, atau dengan tampilan Tabel di konsol DynamoDB.

  • Penskalaan otomatis tidak akan menyesuaikan pengaturan kapasitas yang disediakan untuk tabel global saat tabel sedang ditingkatkan. Kami sangat menyarankan Anda mengatur tabel ke mode kapasitas sesuai permintaan selama peningkatan.

  • Jika Anda memilih untuk menggunakan mode kapasitas yang disediakan dengan penskalaan otomatis selama peningkatan, Anda harus meningkatkan throughput baca dan tulis minimum pada kebijakan Anda untuk mengakomodasi peningkatan lalu lintas yang diharapkan untuk menghindari pembatasan selama peningkatan.

  • Ketika proses upgrade selesai, status tabel Anda akan berubah menjadiACTIVE.

Perilaku DynamoDB Streams sebelum, selama, dan setelah peningkatan

Operasi Wilayah Replika Perilaku sebelum upgrade Perilaku selama peningkatan Perilaku setelah peningkatan

Masukkan atau Perbarui

Sumber

Populasi stempel waktu terjadi menggunakan. UpdateItem Populasi stempel waktu terjadi menggunakan. PutItem Tidak ada stempel waktu yang terlihat pelanggan yang dihasilkan.
Dua catatan Streams dihasilkan. Catatan pertama berisi atribut tertulis pelanggan. Catatan kedua berisi aws:rep:* atribut. Dua catatan Streams dihasilkan. Catatan pertama berisi atribut tertulis pelanggan. Catatan kedua berisi aws:rep:* atribut. Catatan Streams tunggal dihasilkan yang berisi atribut yang ditulis pelanggan.
Dua RWCU dikonsumsi untuk setiap pelanggan menulis. Dua RWCU dikonsumsi untuk setiap pelanggan menulis. Satu RWCu dikonsumsi untuk setiap pelanggan menulis.
ReplicationLatencydan PendingReplicationCount metrik dipublikasikan di CloudWatch. ReplicationLatencydan PendingReplicationCount metrik dipublikasikan di CloudWatch. ReplicationLatencymetrik diterbitkan di CloudWatch.

Tujuan

Replikasi terjadi dengan menggunakan PutItem. Replikasi terjadi dengan menggunakan PutItem. Replikasi terjadi dengan menggunakan PutItem.
Catatan Streams tunggal dihasilkan, yang berisi atribut yang ditulis pelanggan dan atribut. aws:rep:* Catatan Streams tunggal dihasilkan, yang berisi atribut yang ditulis pelanggan dan atribut. aws:rep:* Rekaman Streams tunggal dihasilkan, yang berisi atribut yang ditulis pelanggan saja dan tidak ada atribut replikasi.
Satu RWCu dikonsumsi jika item tersebut ada di Wilayah tujuan. Dua RWCU dikonsumsi jika item tidak ada di Wilayah tujuan. Satu RWCu dikonsumsi jika item tersebut ada di Wilayah tujuan. Dua RWCU dikonsumsi jika item tidak ada di Wilayah tujuan. Satu RWCu dikonsumsi untuk setiap pelanggan menulis.
ReplicationLatencydan PendingReplicationCount metrik dipublikasikan di CloudWatch. ReplicationLatencydan PendingReplicationCount metrik dipublikasikan di CloudWatch. ReplicationLatencymetrik diterbitkan di CloudWatch.

Hapus

Sumber

Hapus item apa pun dengan stempel waktu yang lebih kecil menggunakan. DeleteItem Hapus item apa pun dengan stempel waktu yang lebih kecil menggunakan. DeleteItem Hapus item apa pun dengan stempel waktu yang lebih kecil menggunakan. DeleteItem
Catatan Streams tunggal dihasilkan, yang berisi atribut yang ditulis pelanggan dan atribut. aws:rep:* Catatan Streams tunggal dihasilkan, yang berisi atribut yang ditulis pelanggan dan atribut. aws:rep:* Rekaman Streams tunggal dihasilkan, yang berisi atribut yang ditulis pelanggan.
Satu RWCu dikonsumsi untuk setiap penghapusan pelanggan. Satu RWCu dikonsumsi untuk setiap penghapusan pelanggan. Satu RWCu dikonsumsi untuk setiap penghapusan pelanggan.
ReplicationLatencydan PendingReplicationCount metrik dipublikasikan di CloudWatch. ReplicationLatencydan PendingReplicationCount metrik dipublikasikan di CloudWatch. ReplicationLatencymetrik diterbitkan di CloudWatch.

Tujuan

Penghapusan dua fase terjadi:

  • Di Fase 1, UpdateItem atur bendera penghapusan.

  • Di Fase 2, DeleteItem menghapus item.

Menghapus item menggunakan DeleteItem. Menghapus item menggunakan DeleteItem.
Dua catatan Streams dihasilkan. Catatan pertama berisi perubahan ke aws:rep:deleting bidang. Catatan kedua berisi atribut yang ditulis pelanggan dan atribut. aws:rep:* Rekaman Stream tunggal dihasilkan, yang berisi atribut yang ditulis pelanggan. Rekaman Stream tunggal dihasilkan, yang berisi atribut yang ditulis pelanggan.
Dua RWCU dikonsumsi untuk setiap penghapusan pelanggan. Satu RWCu dikonsumsi untuk setiap penghapusan pelanggan. Satu RWCu dikonsumsi untuk setiap penghapusan pelanggan.
ReplicationLatencydan PendingReplicationCount metrik dipublikasikan di CloudWatch. ReplicationLatencymetrik diterbitkan di CloudWatch. ReplicationLatencymetrik diterbitkan di CloudWatch.

Memutakhirkan ke Versi 2019.11.21 (Saat ini)

Lakukan langkah-langkah berikut untuk memutakhirkan versi tabel global DynamoDB Anda menggunakan. AWS Management Console

Untuk meningkatkan tabel global ke Versi 2019.11.21 (Saat ini)
  1. Buka konsol DynamoDB di https://console.aws.amazon.com/dynamodb/home.

  2. Di panel navigasi di sisi kiri konsol, pilih Tabel, lalu pilih tabel global yang ingin Anda tingkatkan ke Versi 2019.11.21 (Saat Ini).

  3. Pilih tab Tabel Global.

  4. Pilih Perbarui versi.

    Tangkapan layar konsol yang menampilkan tombol Perbarui versi.
  5. Baca dan setujui persyaratan baru, lalu pilih Perbarui versi.

  6. Setelah proses pemutakhiran selesai, versi tabel global yang muncul di konsol berubah menjadi 2019.11.21.