Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Praktik terbaik dan persyaratan untuk mengelola tabel global
penting
Dokumentasi ini ditujukan untuk versi 2017.11.29 (Lama) tabel global, yang tidak boleh digunakan untuk tabel global baru. Pelanggan harus menggunakan Tabel Global 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 sedang Anda gunakan, lihat Menentukan versi tabel global DynamoDB yang Anda gunakan. Untuk memperbarui tabel global yang ada dari versi 2017.11.29 (Lama) ke versi 2019.11.21 (Terbaru), lihat Meningkatkan tabel global.
Menggunakan tabel global Amazon DynamoDB, Anda dapat mereplikasi data tabel Anda di seluruh Wilayah. AWS Tabel replika dan indeks sekunder di tabel global Anda harus memiliki pengaturan kapasitas tulis yang identik untuk memastikan replikasi data yang tepat.
Topik
Versi tabel global
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 Tabel Global 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 sedang Anda gunakan, lihat Menentukan versi tabel global DynamoDB yang Anda gunakan. Untuk memperbarui tabel global yang ada dari Versi 2017.11.29 (Lama) ke Versi 2019.11.21 (Terbaru), lihat Meningkatkan tabel global.
Persyaratan untuk menambahkan tabel replika baru
Jika Anda ingin menambahkan tabel replika baru ke tabel global, masing-masing syarat berikut harus benar:
-
Tabel harus memiliki kunci partisi yang sama seperti semua replika lainnya.
-
Tabel harus memiliki pengaturan manajemen kapasitas tulis yang sama yang ditentukan.
-
Tabel harus memiliki nama yang sama seperti semua replika lainnya.
-
Tabel harus memiliki DynamoDB Streams yang diaktifkan, dengan aliran yang berisi gambar item baru dan lama.
-
Tabel replika baru atau yang sudah ada di tabel global tidak boleh berisi data.
Jika indeks sekunder global ditentukan, syarat berikut juga harus dipenuhi:
-
Indeks sekunder global harus memiliki nama yang sama.
-
Indeks sekunder global harus memiliki kunci partisi yang sama dan kunci urutan (jika ada).
penting
Pengaturan kapasitas tulis harus diatur secara konsisten di seluruh tabel replika tabel global Anda dan indeks sekunder yang cocok. Untuk memperbarui pengaturan kapasitas tulis untuk tabel global Anda, sebaiknya Anda menggunakan konsol DynamoDB atau operasi API UpdateGlobalTableSettings
. UpdateGlobalTableSettings
menerapkan perubahan pada pengaturan kapasitas tulis ke semua tabel replika dan indeks sekunder yang cocok dalam tabel global secara otomatis. Jika menggunakan operasi UpdateTable
, RegisterScalableTarget
, atau PutScalingPolicy
, Anda harus menerapkan perubahan pada setiap tabel replika dan indeks sekunder yang cocok satu per satu. Untuk informasi selengkapnya, lihat UpdateGlobalTableSettingsdi Referensi Amazon DynamoDB API.
Sebaiknya Anda mengaktifkan penskalaan otomatis untuk mengelola pengaturan kapasitas tulis yang disediakan. Jika lebih memilih untuk mengelola pengaturan kapasitas tulis secara manual, Anda harus menyediakan unit kapasitas tulis yang direplikasi yang setara untuk semua tabel replika Anda. Sediakan juga unit kapasitas tulis yang direplikasi yang setara untuk indeks sekunder yang cocok di seluruh tabel global Anda.
Anda juga harus memiliki izin AWS Identity and Access Management (IAM) yang sesuai. Untuk informasi selengkapnya, lihat Menggunakan IAM dengan tabel global.
Praktik terbaik dan persyaratan untuk mengelola kapasitas
Pertimbangkan hal berikut ketika mengelola pengaturan kapasitas untuk replika tabel di DynamoDB.
Menggunakan penskalaan otomatis DynamoDB
Menggunakan penskalaan otomatis DynamoDB adalah cara yang direkomendasikan untuk mengelola pengaturan kapasitas throughput untuk tabel replika yang menggunakan mode ditetapkan. Penskalaan otomatis DynamoDB otomatis menyesuaikan unit kapasitas baca (RCU) dan unit kapasitas tulis (WCU) untuk setiap tabel replika berdasarkan beban kerja aplikasi aktual. Untuk informasi selengkapnya, lihat Mengelola kapasitas throughput secara otomatis dengan penskalaan otomatis DynamoDB.
Jika Anda membuat tabel replika menggunakan AWS Management Console, penskalaan otomatis diaktifkan secara default untuk setiap tabel replika, dengan pengaturan penskalaan otomatis default untuk mengelola unit kapasitas baca dan unit kapasitas tulis.
Perubahan pada pengaturan penskalaan otomatis untuk tabel replika atau indeks sekunder yang dibuat melalui konsol DynamoDB atau menggunakan panggilan UpdateGlobalTableSettings
diterapkan untuk semua tabel replika dan indeks sekunder yang cocok dalam tabel global secara otomatis. Perubahan ini menimpa pengaturan penskalaan otomatis yang sudah ada. Hal ini memastikan pengaturan kapasitas tulis yang disediakan konsisten di seluruh tabel replika dan indeks sekunder di tabel global Anda. Jika menggunakan operasi panggilan UpdateTable
, RegisterScalableTarget
, atau PutScalingPolicy
, Anda harus menerapkan perubahan pada setiap tabel replika dan indeks sekunder yang cocok satu per satu.
catatan
Jika penskalaan otomatis tidak memenuhi perubahan kapasitas aplikasi Anda (beban kerja yang tidak dapat diprediksi), atau jika Anda tidak ingin mengonfigurasi pengaturannya (pengaturan target untuk ambang batas minimum, maksimum, atau pemanfaatan), Anda dapat menggunakan mode sesuai permintaan untuk mengelola kapasitas tabel global. Untuk informasi selengkapnya, lihat Mode sesuai permintaan.
Jika Anda mengaktifkan mode sesuai permintaan pada tabel global, konsumsi unit permintaan tulis yang direplikasi (rWCU) akan konsisten dengan cara rWCU disediakan. Sebagai contoh, jika Anda melakukan 10 aktivitas tulis ke tabel lokal yang direplikasi di dua Wilayah tambahan, Anda akan menggunakan 60 unit permintaan tulis (10 + 10 + 10 = 30; 30 x 2 = 60). 60 unit permintaan tulis yang dikonsumsi termasuk penulisan tambahan yang dikonsumsi oleh tabel global Versi 2017.11.29 (Lama) untuk memperbarui atribut aws:rep:deleting
, aws:rep:updatetime
, dan aws:rep:updateregion
.
Mengelola kapasitas secara manual
Jika memutuskan untuk tidak menggunakan penskalaan otomatis DynamoDB, Anda harus secara manual menetapkan pengaturan kapasitas baca dan kapasitas tulis pada setiap tabel replika dan indeks sekunder.
Unit kapasitas tulis yang direplikasi (rWCU) yang disediakan pada setiap tabel replika harus diatur ke jumlah total rWCU yang diperlukan untuk penulisan aplikasi di seluruh Wilayah dikalikan dua. Hal ini mengakomodasi aktivitas tulis aplikasi yang terjadi di Wilayah lokal dan aktivitas tulis aplikasi yang direplikasi yang berasal dari Wilayah lain. Misalnya, anggaplah Anda mengharapkan 5 aktivitas tulis per detik untuk tabel replika Anda di Ohio dan 5 aktivitas tulis per detik untuk tabel replika Anda di Virginia Utara. Dalam hal ini, Anda harus menyediakan 20 RWCU untuk setiap tabel replika (5 + 5 = 10; 10 x 2 = 20).
Untuk memperbarui pengaturan kapasitas tulis untuk tabel global Anda, sebaiknya Anda menggunakan konsol DynamoDB atau operasi API UpdateGlobalTableSettings
. UpdateGlobalTableSettings
menerapkan perubahan pada pengaturan kapasitas tulis ke semua tabel replika dan indeks sekunder yang cocok dalam tabel global secara otomatis. Jika menggunakan operasi UpdateTable
, RegisterScalableTarget
, atau PutScalingPolicy
, Anda harus menerapkan perubahan pada setiap tabel replika dan indeks sekunder yang cocok satu per satu. Untuk informasi selengkapnya, lihat Referensi Amazon DynamoDB API.
catatan
Untuk memperbarui pengaturan (UpdateGlobalTableSettings
) tabel global di DynamoDB, Anda harus memiliki izin dynamodb:UpdateGlobalTable
, dynamodb:DescribeLimits
, application-autoscaling:DeleteScalingPolicy
, dan application-autoscaling:DeregisterScalableTarget
. Untuk informasi selengkapnya, lihat Menggunakan IAM dengan tabel global.