Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memutakhirkan YOUR tabel global DynamoDB dari versi 2017.11.29 (Legacy) ke versi 2019.11.21 (Saat ini)
catatan
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 (Saat Ini) jika memungkinkan, karena memberikan fleksibilitas yang lebih besar, efisiensi yang lebih tinggi, dan mengkonsumsi kapasitas tulis yang lebih sedikit daripada 2017.11.29 (Legacy). Untuk menentukan versi mana yang Anda gunakan, lihatMenentukan versi tabel global DynamoDB 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.
Topik
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 rWRUs per wilayah untuk 2017.11.29 (Warisan), tetapi hanya 1 r untuk 2019.11.21 (Saat Ini). WRU
-
Memanggil UpdateItemitem 1KB membutuhkan 2 rWRUs di Wilayah sumber dan 1 r WRU per Wilayah tujuan untuk 2017.11.29 (Warisan), tetapi hanya 1 r untuk Wilayah sumber dan tujuan WRU untuk 2019.11.21 (Saat Ini).
-
Memanggil DeleteItemitem 1KB membutuhkan 1 r WRU di Wilayah sumber dan 2 rWRUs per Wilayah tujuan untuk 2017.11.29 (Warisan), tetapi hanya 1 r untuk Wilayah sumber atau tujuan WRU untuk 2019.11.21 (Saat Ini).
Tabel berikut menunjukkan WRU konsumsi r tabel 2017.11.29 (Legacy) dan 2019.11.21 (Saat Ini) untuk item 1KB di dua Wilayah.
Operasi 2017.11.29 (Warisan) 2019.11.21 (Saat ini) Penghematan PutItem 4 rWRUs 2 rWRUs 50% UpdateItem 3 rWRUs 2 rWRUs 33% DeleteItem 3 rWRUs 2 rWRUs 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 CreateGlobalTableAPIuntuk membentuk tabel global. Anda membuat tabel global versi 2019.11.21 (Saat ini) dengan memanggil UpdateTableAPIuntuk 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 kumpulan bidang APIs kontrol khusus berikut untuk mengelola replika:
versi 2019.11.21 (Saat ini) menggunakan DescribeTabledan UpdateTableAPIsuntuk 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
aws:rep:deleting
,aws:rep:updateregion
, danaws:rep:updatetime
atribut. versi 2019.11.21 (Saat ini) tidak mengisi atau memperbarui atribut ini. -
versi 2017.11.29 (Legacy) tidak menyinkronkan pengaturan di seluruh replika. versi 2019.11.21 (Saat ini) menyinkronkan Menggunakan waktu untuk hidup (TTL) di DynamoDB pengaturan di seluruh replika. TTL
-
versi 2017.11.29 (Legacy) tidak mereplikasi TTL penghapusan ke replika lain. versi 2019.11.21 (Saat ini) mereplikasi penghapusan ke semua replika. TTL
-
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 () di seluruh replika. versi 2019.11.21 (Saat iniGSI) menyinkronkan pengaturan di seluruh replika. GSI
-
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
PendingReplicationCount
metrik. 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:
-
Menggunakan waktu untuk hidup (TTL) di DynamoDBpengaturan 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 WCUs diaktifkan untuk semua replika, atau mode kapasitas sesuai permintaan diaktifkan untuk semua replika.
-
Aplikasi tidak memerlukan kehadiran dari
aws:rep:deleting
,aws:rep:updateregion
, danaws: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.
IAMKebijakan 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": "*" } ] }
IAMKebijakan 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 menjadi
ACTIVE
.
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 rWCUs dikonsumsi untuk setiap pelanggan menulis. | Dua rWCUs dikonsumsi untuk setiap pelanggan menulis. | Satu r WCU dikonsumsi untuk setiap pelanggan menulis. | ||
ReplicationLatency dan PendingReplicationCount metrik dipublikasikan di CloudWatch. |
ReplicationLatency dan PendingReplicationCount metrik dipublikasikan di CloudWatch. |
ReplicationLatency metrik diterbitkan di CloudWatch. |
||
Destinasi |
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 r WCU dikonsumsi jika item ada di Wilayah tujuan. Dua rWCUs dikonsumsi jika item tidak ada di Wilayah tujuan. | Satu r WCU dikonsumsi jika item ada di Wilayah tujuan. Dua rWCUs dikonsumsi jika item tidak ada di Wilayah tujuan. | Satu r WCU dikonsumsi untuk setiap pelanggan menulis. | ||
ReplicationLatency dan PendingReplicationCount metrik dipublikasikan di CloudWatch. |
ReplicationLatency dan PendingReplicationCount metrik dipublikasikan di CloudWatch. |
ReplicationLatency metrik 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 r WCU dikonsumsi untuk setiap penghapusan pelanggan. | Satu r WCU dikonsumsi untuk setiap penghapusan pelanggan. | Satu r WCU dikonsumsi untuk setiap penghapusan pelanggan. | ||
ReplicationLatency dan PendingReplicationCount metrik dipublikasikan di CloudWatch. |
ReplicationLatency dan PendingReplicationCount metrik dipublikasikan di CloudWatch. |
ReplicationLatency metrik diterbitkan di CloudWatch. |
||
Destinasi |
Penghapusan dua fase terjadi:
|
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 rWCUs dikonsumsi untuk setiap penghapusan pelanggan. | Satu r WCU dikonsumsi untuk setiap penghapusan pelanggan. | Satu r WCU dikonsumsi untuk setiap penghapusan pelanggan. | ||
ReplicationLatency dan PendingReplicationCount metrik dipublikasikan di CloudWatch. |
ReplicationLatency metrik diterbitkan di CloudWatch. |
ReplicationLatency metrik 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)
-
Buka konsol DynamoDB di rumah. https://console.aws.amazon.com/dynamodb/
-
Di panel navigasi di sisi kiri konsol, pilih Tabel, lalu pilih tabel global yang ingin Anda tingkatkan ke versi 2019.11.21 (Saat Ini).
-
Pilih tab Tabel Global.
-
Pilih Perbarui versi.
-
Baca dan setujui persyaratan baru, lalu pilih Perbarui versi.
-
Setelah proses pemutakhiran selesai, versi tabel global yang muncul di konsol berubah menjadi 2019.11.21.