Tabel kapasitas yang disediakan - Amazon DynamoDB

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

Tabel kapasitas yang disediakan

Saat Anda membuat tabel baru yang disediakan di DynamoDB, Anda harus menentukan kapasitas throughput yang disediakan. Ini adalah jumlah throughput baca dan tulis yang dapat didukung oleh tabel. DynamoDB menggunakan informasi ini untuk memastikan ada sumber daya sistem yang memadai untuk memenuhi persyaratan throughput Anda.

Anda juga dapat mengizinkan penskalaan otomatis DynamoDB untuk mengelola kapasitas throughput tabel Anda. Untuk menggunakan penskalaan otomatis, Anda harus memberikan pengaturan awal untuk kapasitas baca dan tulis saat Anda membuat tabel. DynamoDB auto scaling menggunakan pengaturan awal ini sebagai titik awal dan kemudian menyesuaikannya secara dinamis sebagai respons terhadap kebutuhan aplikasi Anda. Untuk informasi selengkapnya, lihat Mengelola kapasitas throughput secara otomatis dengan penskalaan otomatis DynamoDB.

Saat data aplikasi dan persyaratan akses berubah, Anda mungkin perlu menyesuaikan pengaturan throughput tabel Anda. Jika Anda menggunakan penskalaan otomatis DynamoDB, pengaturan throughput secara otomatis disesuaikan sebagai respons terhadap beban kerja aktual. Anda juga dapat menggunakan UpdateTableoperasi untuk menyesuaikan kapasitas throughput tabel Anda secara manual. Anda mungkin memutuskan untuk melakukan ini jika Anda perlu memuat data secara massal dari penyimpanan data yang ada ke tabel DynamoDB baru Anda. Anda dapat membuat tabel dengan pengaturan throughput tulis yang besar, lalu mengurangi pengaturan ini setelah pemuatan data massal selesai.

Anda dapat mengganti tabel dari mode sesuai permintaan ke mode kapasitas yang disediakan kapan saja. Saat Anda melakukan beberapa sakelar di antara mode kapasitas, kondisi berikut berlaku:

  • Anda dapat mengganti tabel yang baru dibuat dalam mode sesuai permintaan ke mode kapasitas yang disediakan kapan saja. Namun, Anda hanya dapat mengubahnya kembali ke mode sesuai permintaan 24 jam setelah stempel waktu pembuatan tabel.

  • Anda dapat mengganti tabel yang ada dalam mode sesuai permintaan ke mode kapasitas yang disediakan kapan saja. Namun, Anda hanya dapat mengubahnya kembali ke mode sesuai permintaan 24 jam setelah stempel waktu terakhir yang menunjukkan peralihan ke sesuai permintaan.

Untuk informasi selengkapnya tentang beralih antara mode kapasitas baca dan tulis, lihatPertimbangan saat mengganti mode kapasitas.

Unit kapasitas baca dan unit kapasitas tulis

Untuk tabel mode yang disediakan, Anda menentukan persyaratan throughput dalam hal unit kapasitas. Unit-unit ini mewakili jumlah data yang dibutuhkan aplikasi Anda untuk membaca atau menulis per detik. Anda dapat mengubah pengaturan ini nanti, jika diperlukan, atau mengaktifkan penskalaan otomatis DynamoDB untuk mengubahnya secara otomatis.

Untuk item hingga 4 KB, satu unit kapasitas baca mewakili satu operasi baca yang sangat konsisten per detik, atau dua operasi baca yang akhirnya konsisten per detik. Untuk informasi selengkapnya tentang DynamoDB, baca model konsistensi, lihat. Konsistensi baca

Unit kapasitas tulis mewakili satu tulis per detik untuk item hingga 1 KB. Untuk informasi selengkapnya tentang operasi baca dan tulis yang berbeda, lihatOperasi membaca dan menulis.

Memilih pengaturan throughput awal

Setiap aplikasi memiliki persyaratan yang berbeda untuk membaca dari dan menulis ke database. Saat Anda menentukan pengaturan throughput awal untuk tabel DynamoDB, pertimbangkan hal berikut:

  • Tarif permintaan baca dan tulis yang diharapkan - Anda harus memperkirakan jumlah membaca dan menulis yang perlu Anda lakukan per detik.

  • Ukuran barang — Beberapa item cukup kecil sehingga dapat dibaca atau ditulis menggunakan unit kapasitas tunggal. Item yang lebih besar memerlukan beberapa unit kapasitas. Dengan memperkirakan ukuran rata-rata item yang akan ada di tabel Anda, Anda dapat menentukan pengaturan akurat untuk throughput yang disediakan tabel Anda.

  • Persyaratan konsistensi baca — Unit kapasitas Baca didasarkan pada operasi baca yang sangat konsisten, yang mengkonsumsi sumber daya database dua kali lebih banyak daripada pembacaan yang konsisten pada akhirnya. Anda harus menentukan apakah aplikasi Anda memerlukan bacaan akhir konsisten, atau apakah aplikasi dapat melonggarkan persyaratan ini dan pada akhirnya melakukan bacaan sangat konsisten. Operasi baca di DynamoDB pada akhirnya konsisten, secara default. Anda dapat meminta pembacaan yang sangat konsisten untuk operasi ini, jika perlu.

Misalnya, katakan bahwa Anda ingin membaca 80 item per detik dari sebuah tabel. Ukuran item ini adalah 3 KB, dan Anda ingin pembacaan yang sangat konsisten. Dalam hal ini, setiap pembacaan memerlukan satu unit kapasitas baca yang disediakan. Untuk menentukan nomor ini, bagi ukuran item operasi dengan 4 KB. Kemudian, bulatkan ke bilangan bulat terdekat, seperti yang ditunjukkan pada contoh berikut:

  • 3 KB/ 4 KB = 0,75 atau 1 unit kapasitas baca

Oleh karena itu, untuk membaca 80 item per detik dari tabel, atur throughput baca yang disediakan tabel ke 80 unit kapasitas baca seperti yang ditunjukkan pada contoh berikut:

  • 1 unit kapasitas baca setiap item × 80 bacaan per detik = 80 unit kapasitas baca

Sekarang anggaplah Anda ingin menulis 100 item per detik ke tabel Anda dan ukuran setiap item adalah 512 byte. Dalam hal ini, setiap penulisan memerlukan satu unit kapasitas tulis yang disediakan. Untuk menentukan nomor ini, bagi ukuran item operasi dengan 1 KB. Kemudian, bulatkan ke bilangan bulat terdekat, seperti yang ditunjukkan pada contoh berikut:

  • 512 byte/ 1 KB = 0,5 atau 1 unit kapasitas tulis

Untuk menulis 100 item per detik ke tabel Anda, atur throughput tulis yang disediakan tabel menjadi 100 unit kapasitas tulis:

  • 1 unit kapasitas tulis per item × 100 tulis per detik = 100 unit kapasitas tulis

Penskalaan otomatis DynamoDB

DynamoDB auto scaling secara aktif mengelola kapasitas throughput yang disediakan untuk tabel dan indeks sekunder global. Dengan penskalaan otomatis, Anda menentukan rentang (batas atas dan bawah) untuk unit kapasitas baca dan tulis. Anda juga menentukan persentase pemanfaatan target dalam rentang tersebut. Penskalaan otomatis DynamoDB berupaya mempertahankan pemanfaatan target Anda, bahkan saat beban kerja aplikasi Anda meningkat atau menurun.

Dengan penskalaan otomatis DynamoDB, tabel atau indeks sekunder global dapat meningkatkan kapasitas baca dan tulis yang disediakan untuk menangani peningkatan lalu lintas secara tiba-tiba, tanpa pembatasan permintaan. Ketika beban kerja berkurang, penskalaan otomatis DynamoDB dapat menurunkan throughput sehingga Anda tidak membayar kapasitas tersedia yang tidak terpakai.

catatan

Jika Anda menggunakan AWS Management Console untuk membuat tabel atau indeks sekunder global, DynamoDB auto scaling diaktifkan secara default.

Anda dapat mengelola pengaturan penskalaan otomatis kapan saja dengan menggunakan konsol, SDK AWS CLI, atau salah satu AWS SDK. Untuk informasi selengkapnya, lihat Mengelola kapasitas throughput secara otomatis dengan penskalaan otomatis DynamoDB.

Tingkat pemanfaatan

Tingkat pemanfaatan dapat membantu Anda menentukan apakah Anda melebihi kapasitas penyediaan, dalam hal ini harus mengurangi kapasitas meja Anda untuk menghemat biaya. Sebaliknya, ini juga dapat membantu Anda menentukan apakah Anda berada di bawah kapasitas penyediaan. Dalam hal ini, Anda harus meningkatkan kapasitas tabel untuk mencegah potensi pembatasan permintaan selama kejadian lalu lintas tinggi yang tidak terduga. Untuk informasi selengkapnya, lihat Penskalaan otomatis Amazon DynamoDB: Pengoptimalan kinerja dan biaya pada skala apa pun.

Jika Anda menggunakan penskalaan otomatis DynamoDB, Anda juga harus menetapkan persentase pemanfaatan target. Penskalaan otomatis akan menggunakan persentase ini sebagai target untuk menyesuaikan kapasitas ke atas atau ke bawah. Kami merekomendasikan untuk menetapkan pemanfaatan target hingga 70%. Untuk informasi selengkapnya, lihat Mengelola kapasitas throughput secara otomatis dengan penskalaan otomatis DynamoDB.