Mode kapasitas baca/tulis - Amazon DynamoDB

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

Mode kapasitas baca/tulis

Amazon DynamoDB memiliki dua mode kapasitas baca/tulis untuk memproses baca dan tulis pada tabel Anda:

  • Sesuai permintaan

  • Disediakan (default, memenuhi syarat tingkat gratis)

Mode kapasitas baca/tulis mengontrol cara Anda dikenakan biaya untuk throughput baca dan tulis serta cara Anda mengelola kapasitas. Anda dapat mengatur mode kapasitas baca/tulis saat membuat tabel atau Anda dapat mengubahnya nanti.

Indeks sekunder mewarisi mode kapasitas baca/tulis dari tabel dasar. Untuk informasi selengkapnya, lihat Pertimbangan saat mengubah Mode Kapasitas baca/tulis.

Video berikut akan memberi Anda gambaran pengantar tentang mode kapasitas tabel.

Untuk informasi selengkapnya tentang praktik terbaik dalam mengoptimalkan biaya tabel DynamoDB Anda, lihat Mengoptimalkan biaya pada tabel DynamoDB.

Mode sesuai permintaan

Amazon DynamoDB sesuai permintaan adalah opsi penagihan fleksibel yang mampu melayani ribuan permintaan per detik tanpa perencanaan kapasitas. DynamoDB on-demand pay-per-request menawarkan harga untuk permintaan baca dan tulis sehingga Anda hanya membayar untuk apa yang Anda gunakan.

Saat Anda memilih mode sesuai permintaan, DynamoDB langsung mengakomodasi beban kerja Anda saat beban kerja tersebut meningkat atau menurun ke tingkat lalu lintas yang dicapai sebelumnya. Jika tingkat lalu lintas beban kerja mencapai puncak baru, DynamoDB beradaptasi dengan cepat untuk mengakomodasi beban kerja. Tabel yang menggunakan mode sesuai permintaan memberikan latensi milidetik satu digit, komitmen perjanjian tingkat layanan (SLA), dan keamanan yang sama dengan yang sudah ditawarkan DynamoDB. Anda dapat memilih sesuai permintaan untuk tabel baru dan yang sudah ada dan Anda dapat terus menggunakan API DynamoDB yang ada tanpa mengubah kode.

Mode sesuai permintaan adalah pilihan yang baik jika salah satu hal berikut ini benar:

  • Anda membuat tabel baru dengan beban kerja yang tidak diketahui.

  • Anda memiliki lalu lintas aplikasi yang tidak dapat diprediksi.

  • Anda lebih menyukai kemudahan membayar hanya untuk apa yang Anda gunakan.

Tingkat permintaan hanya dibatasi oleh kuota tabel default throughput DynamoDB, namun dapat dinaikkan berdasarkan permintaan. Untuk informasi selengkapnya, lihat Kuota default throughput.

Untuk memulai sesuai permintaan, Anda dapat membuat atau memperbarui tabel untuk menggunakan mode sesuai permintaan. Untuk informasi selengkapnya, lihat Operasi dasar pada tabel DynamoDB.

Tabel dapat dialihkan ke mode sesuai permintaan setiap 24 jam sekali. Membuat tabel sesuai permintaan juga memulai periode 24 jam ini. Tabel dapat dikembalikan ke mode kapasitas yang disediakan kapan saja. Untuk masalah yang perlu dipertimbangkan saat mengganti mode kapasitas baca/tulis, lihat Pertimbangan saat mengubah Mode Kapasitas baca/tulis.

Unit permintaan baca dan unit permintaan tulis

Untuk tabel mode on-demand, Anda tidak perlu menentukan berapa banyak throughput baca dan tulis yang Anda harapkan untuk dijalankan oleh aplikasi Anda. DynamoDB menagih Anda untuk membaca dan menulis yang dilakukan aplikasi Anda pada tabel Anda dalam hal unit permintaan baca dan unit permintaan tulis.

Permintaan baca DynamoDB bisa sangat konsisten, pada akhirnya konsisten, atau bersifat transaksional.

  • Permintaan bacaan sangat konsisten untuk suatu item hingga 4 KB memerlukan satu unit permintaan baca.

  • Permintaan bacaan akhir konsisten hingga 4 KB memerlukan setengah unit permintaan baca.

  • Permintaan baca transaksional suatu item hingga 4 KB memerlukan dua unit permintaan baca.

Jika Anda perlu membaca item yang lebih besar dari 4 KB, DynamoDB memerlukan unit permintaan baca tambahan. Jumlah total unit permintaan baca yang diperlukan bergantung pada ukuran item, dan apakah Anda menginginkan bacaan akhir konsisten atau bacaan sangat konsisten. Misalnya, jika ukuran item Anda adalah 8 KB, Anda memerlukan 2 unit permintaan baca untuk mempertahankan satu unit permintaan baca yang sangat konsisten, 1 unit permintaan baca jika Anda akhirnya memilih pembacaan yang konsisten, atau 4 unit permintaan baca untuk permintaan baca transaksional.

Untuk mempelajari selengkapnya tentang model konsistensi baca DynamoDB, lihat Konsistensi baca.

penting

Jika Anda melakukan operasi baca pada item yang tidak ada, DynamoDB akan tetap menggunakan throughput baca seperti diuraikan di atas.

Satu unit permintaan tulis mewakili satu penulisan untuk item berukuran hingga 1 KB. Jika Anda perlu menulis item yang lebih besar dari 1 KB, DynamoDB perlu menggunakan unit permintaan tulis tambahan. Permintaan tulis transaksional memerlukan 2 unit permintaan tulis untuk melakukan satu penulisan untuk item hingga 1 KB. Jumlah total unit permintaan tulis yang diperlukan bergantung pada ukuran item. Misalnya, jika ukuran item Anda adalah 2 KB, Anda memerlukan 2 unit permintaan tulis untuk mempertahankan satu permintaan tulis atau 4 unit permintaan tulis untuk permintaan tulis transaksional.

Untuk contoh harga terperinci dan memperkirakan biaya menggunakan kalkulator harga, lihat Harga Amazon DynamoDB.

Properti lalu lintas puncak dan penskalaan

Tabel DynamoDB yang menggunakan mode kapasitas sesuai permintaan secara otomatis beradaptasi dengan volume lalu lintas aplikasi Anda. Mode kapasitas sesuai permintaan secara instan mengakomodasi hingga dua kali lipat lalu lintas puncak sebelumnya pada sebuah tabel. Misalnya, jika pola lalu lintas aplikasi Anda bervariasi antara 25.000 dan 50.000 bacaan sangat konsisten per detik dengan 50.000 pembacaan per detik adalah puncak lalu lintas sebelumnya, mode kapasitas sesuai permintaan langsung mengakomodasi lalu lintas berkelanjutan hingga 100.000 pembacaan per detik. Jika aplikasi Anda mempertahankan lalu lintas sebanyak 100.000 pembacaan per detik, puncak tersebut akan menjadi puncak baru Anda sebelumnya, sehingga memungkinkan lalu lintas berikutnya mencapai hingga 200.000 pembacaan per detik.

Jika Anda memerlukan lebih dari dua kali lipat puncak tabel sebelumnya, DynamoDB secara otomatis mengalokasikan lebih banyak kapasitas seiring peningkatan volume lalu lintas untuk membantu memastikan bahwa beban kerja Anda tidak mengalami throttling. Namun, throttling dapat terjadi jika Anda melebihi dua kali lipat puncak sebelumnya dalam waktu 30 menit. Misalnya, jika pola lalu lintas aplikasi Anda bervariasi antara 25.000 dan 50.000 pembacaan per detik yang sangat konsisten di mana 50.000 pembacaan per detik adalah puncak lalu lintas yang dicapai sebelumnya, DynamoDB merekomendasikan untuk mengatur jarak pertumbuhan lalu lintas Anda setidaknya selama 30 menit sebelum mendorong lebih dari 100.000 pembacaan per detik.

Throughput awal untuk mode kapasitas sesuai permintaan

Jika Anda baru saja mengalihkan tabel yang ada ke mode kapasitas sesuai permintaan untuk pertama kalinya, atau jika Anda membuat tabel baru dengan mode kapasitas sesuai permintaan diaktifkan, tabel tersebut memiliki pengaturan puncak sebelumnya sebagai berikut, meskipun tabel tersebut belum melayani lalu lintas sebelumnya menggunakan mode kapasitas sesuai permintaan:

Berikut ini adalah contoh skenario yang mungkin terjadi.

  • Tabel yang disediakan dikonfigurasi sebagai 100 WCU dan 100 RCU. Saat tabel ini dialihkan ke sesuai permintaan untuk pertama kalinya, DynamoDB akan memastikan skalanya diperluas untuk secara instan mempertahankan setidaknya 4.000 unit tulis/detik dan 12.000 unit baca/detik.

  • Tabel yang disediakan dikonfigurasi sebagai 8.000 WCU dan 24.000 RCU.Ketika tabel ini dialihkan ke sesuai permintaan, tabel ini akan terus mampu mempertahankan setidaknya 8.000 unit tulis/detik dan 24.000 unit baca/detik setiap saat.

  • Tabel yang disediakan dikonfigurasi dengan 8.000 WCU dan 24.000 RCU, yang menggunakan 6.000 unit tulis/dtk dan 18.000 unit baca/dtk untuk jangka waktu berkelanjutan. Ketika tabel ini dialihkan ke sesuai permintaan, tabel ini akan terus mampu mempertahankan setidaknya 8.000 unit tulis/detik dan 24.000 unit baca/detik. Lalu lintas sebelumnya memungkinkan tabel untuk mempertahankan tingkat lalu lintas yang jauh lebih tinggi tanpa throttling.

  • Tabel yang sebelumnya tersedia 10.000 WCU dan 10.000 RCU, namun saat ini tersedia 10 RCU dan 10 WCU. Jika tabel ini dialihkan ke sesuai permintaan, tabel ini akan mampu mempertahankan setidaknya 10.000 unit tulis/detik dan 10.000 unit baca/detik.

Perilaku tabel saat mengganti mode kapasitas baca/tulis

Saat Anda mengalihkan tabel dari mode kapasitas yang disediakan ke mode kapasitas sesuai permintaan, DynamoDB membuat beberapa perubahan pada struktur tabel dan partisi Anda. Proses ini dapat memakan waktu beberapa menit. Selama periode peralihan, tabel Anda memberikan throughput yang konsisten dengan jumlah unit kapasitas tulis dan kapasitas baca yang disediakan sebelumnya. Saat beralih dari mode kapasitas sesuai permintaan kembali ke mode kapasitas yang disediakan, tabel Anda memberikan throughput yang konsisten dengan puncak sebelumnya yang dicapai ketika tabel diatur ke mode kapasitas sesuai permintaan.

Pemanasan awal tabel untuk mode kapasitas sesuai permintaan

Dengan mode kapasitas sesuai permintaan, permintaan dapat melonjak hingga dua kali lipat dari puncak sebelumnya di tabel. Perhatikan bahwa pembatasan dapat terjadi jika permintaan melonjak lebih dari dua kali lipat kapasitas default atau tingkat permintaan puncak yang dicapai sebelumnya dalam waktu 30 menit. Salah satu solusinya adalah dengan menghangatkan meja terlebih dahulu hingga mencapai kapasitas puncak lonjakan yang diantisipasi.

Untuk memanaskan tabel terlebih dahulu, ikuti langkah-langkah berikut:

  1. Pastikan untuk memeriksa batas akun Anda dan konfirmasikan bahwa Anda dapat mencapai kapasitas yang diinginkan dalam mode yang disediakan.

  2. Jika Anda melakukan pemanasan awal pada tabel yang sudah ada, atau tabel baru dalam mode sesuai permintaan, mulailah proses ini setidaknya 24 jam sebelum perkiraan puncak. Anda hanya dapat beralih antara mode sesuai permintaan dan mode disediakan satu kali setiap 24 jam.

  3. Untuk melakukan pra-pemanasan tabel yang saat ini dalam mode sesuai permintaan, alihkan ke mode yang disediakan dan tunggu hingga tabel aktif. Lalu lanjutkan ke langkah berikutnya.

    Jika Anda ingin melakukan pemanasan awal pada meja baru yang berada dalam mode yang disediakan, atau telah berada dalam mode yang disediakan selama 24 jam, Anda dapat melanjutkan ke langkah berikutnya tanpa menunggu.

  4. Atur throughput penulisan tabel ke nilai puncak yang diinginkan, dan simpan di sana selama beberapa menit. Anda akan dikenakan biaya akibat volume throughput yang tinggi ini hingga Anda beralih kembali ke sesuai permintaan.

  5. Beralih ke mode kapasitas Sesuai Permintaan. Hal ini harus mempertahankan nilai kapasitas throughput yang disediakan.

Mode yang disediakan

Jika Anda memilih mode yang disediakan, Anda menentukan jumlah baca dan tulis per detik yang Anda perlukan untuk aplikasi Anda. Anda dapat menggunakan penskalaan otomatis untuk menyesuaikan kapasitas yang disediakan tabel Anda secara otomatis sebagai respons terhadap perubahan lalu lintas. Hal ini membantu Anda mengatur penggunaan DynamoDB agar tetap pada atau di bawah tingkat permintaan yang ditentukan untuk memperoleh prediktabilitas biaya.

Mode yang disediakan adalah pilihan yang baik jika salah satu hal berikut ini benar:

  • Anda memiliki lalu lintas aplikasi yang dapat diprediksi.

  • Anda menjalankan aplikasi yang lalu lintasnya konsisten atau meningkat secara bertahap.

  • Anda dapat memperkirakan kebutuhan kapasitas untuk mengendalikan biaya.

Unit kapasitas baca dan unit kapasitas tulis

Untuk tabel mode yang disediakan, Anda menentukan kapasitas throughput dalam bentuk unit kapasitas baca (RCU) dan unit kapasitas tulis (WCU):

  • Satu unit kapasitas baca mewakili satu bacaan konsisten yang kuat per detik, atau dua bacaan akhir konsisten per detik, untuk sebuah item hingga ukuran 4 KB. Permintaan baca transaksional memerlukan dua unit kapasitas baca untuk melakukan satu pembacaan per detik untuk item hingga 4 KB. Jika Anda perlu membaca item yang lebih besar dari 4 KB, DynamoDB harus menggunakan unit kapasitas baca tambahan. Jumlah total unit kapasitas baca yang diperlukan bergantung pada ukuran item, dan apakah Anda menginginkan pembacaan yang konsisten atau sangat konsisten. Misalnya, jika ukuran item Anda adalah 8 KB, Anda memerlukan 2 unit kapasitas baca untuk mempertahankan satu bacaan sangat konsisten per detik, 1 unit kapasitas baca jika Anda memilih bacaan akhir konsisten, atau 4 unit kapasitas baca untuk permintaan baca transaksional. Untuk informasi selengkapnya, lihat Konsumsi unit kapasitas untuk bacaan.

    catatan

    Untuk mempelajari selengkapnya tentang model konsistensi baca DynamoDB, lihat Konsistensi baca.

  • Satu unit kapasitas tulis mewakili satu tulis per detik untuk item hingga ukuran 1 KB. Jika Anda perlu menulis item yang lebih besar dari 1 KB, DynamoDB harus menggunakan unit kapasitas tulis tambahan. Permintaan tulis transaksional memerlukan 2 unit kapasitas tulis untuk melakukan satu penulisan per detik untuk item hingga 1 KB. Jumlah total unit kapasitas tulis yang diperlukan bergantung pada ukuran item. Misalnya, jika ukuran item Anda adalah 2 KB, Anda memerlukan 2 unit kapasitas tulis untuk mempertahankan satu permintaan tulis per detik atau 4 unit kapasitas tulis untuk permintaan tulis transaksional. Untuk informasi selengkapnya, lihat Konsumsi unit kapasitas untuk penulisan.

penting

Ketika menjalankan DescribeTable pada tabel sesuai permintaan, unit kapasitas baca dan unit kapasitas tulis ditetapkan ke 0.

Jika aplikasi Anda membaca atau menulis item yang lebih besar (hingga ukuran item maksimum DynamoDB sebesar 400 KB), akan menggunakan lebih banyak unit kapasitas.

Misalnya, Anda membuat tabel yang tersedia dengan 6 unit kapasitas baca dan 6 unit kapasitas tulis. Dengan pengaturan ini, aplikasi Anda dapat melakukan hal berikut:

  • Lakukan bacaan sangat konsisten hingga 24 KB per detik (unit kapasitas baca 4 KB × 6).

  • Lakukan pembacaan yang konsisten hingga 48 KB per detik (throughput baca dua kali lebih banyak).

  • Lakukan permintaan baca transaksional hingga 12 KB per detik.

  • Tulis hingga 6 KB per detik (1 KB × 6 unit kapasitas tulis).

  • Lakukan permintaan tulis transaksional hingga 3 KB per detik.

Untuk informasi selengkapnya, lihat Mengelola pengaturan pada tabel kapasitas yang disediakan DynamoDB.

Throughput yang disediakan adalah jumlah kapasitas maksimum yang dapat digunakan aplikasi dari tabel atau indeks. Jika aplikasi Anda melebihi kapasitas throughput yang disediakan pada tabel atau indeks, aplikasi tersebut akan dikenakan throttling permintaan.

Pembatasan mencegah aplikasi Anda menggunakan terlalu banyak unit kapasitas. Ketika permintaan di-throttle, permintaan tersebut gagal dengan kode HTTP 400 (Bad Request) dan ProvisionedThroughputExceededException. AWS SDK memiliki dukungan bawaan untuk mencoba kembali permintaan yang dibatasi (lihatPercobaan ulang kesalahan dan mundur eksponensial), jadi Anda tidak perlu menulis logika ini sendiri. Untuk informasi selengkapnya tentang cara mengatasi masalah throttling, lihat Mengapa tabel Amazon DynamoDB saya di-throttle?

Anda dapat menggunakan AWS Management Console untuk memantau throughput yang disediakan dan aktual, dan untuk memodifikasi pengaturan throughput Anda jika perlu.

Untuk contoh harga terperinci dan memperkirakan biaya menggunakan kalkulator harga, lihat Harga Amazon DynamoDB.

Penskalaan otomatis DynamoDB

Penskalaan otomatis DynamoDB secara aktif mengelola kapasitas throughput 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.

Kapasitas terpesan

Sebagai pelanggan DynamoDB, Anda dapat membeli kapasitas terpesan terlebih dahulu untuk tabel yang menggunakan kelas tabel Standar DynamoDB, seperti yang dijelaskan pada Harga Amazon DynamoDB. Dengan kapasitas yang dicadangkan, Anda membayar biaya satu kali di muka dan berkomitmen pada tingkat penggunaan minimum yang disediakan selama jangka waktu tertentu. Kapasitas cadangan Anda ditagih berdasarkan tarif kapasitas cadangan per jam. Dengan memesan unit kapasitas baca dan tulis terlebih dahulu, Anda mewujudkan penghematan biaya yang signifikan pada biaya kapasitas yang disediakan. Kapasitas apa pun yang Anda sediakan melebihi kapasitas cadangan Anda akan ditagih sesuai tarif kapasitas standar yang disediakan.

Diskon kapasitas cadangan diterapkan terlebih dahulu ke akun yang membeli kapasitas cadangan. Setiap diskon kapasitas cadangan yang tidak terpakai kemudian diterapkan ke akun lain di AWS organisasi yang sama dengan akun pembelian. Anda dapat menonaktifkan pembagian diskon Instans Cadangan di halaman Preferensi di konsol Manajemen Penagihan dan Biaya. Untuk informasi selengkapnya, lihat Menonaktifkan instans terpesan dan pembagian diskon Savings Plans.

catatan

Kapasitas cadangan tidak tersedia untuk unit kapasitas tulis yang direplikasi. Kapasitas Terpesan hanya diterapkan pada wilayah tempat pembeliannya. Kapasitas terpesan juga tidak tersedia untuk tabel yang menggunakan kelas tabel DynamoDB Standard-IA atau mode kapasitas sesuai permintaan.

Untuk mengelola kapasitas terpesan, buka Konsol DynamoDB dan pilih Kapasitas Terpesan.

catatan

Anda dapat mencegah pengguna melihat atau membeli kapasitas yang dipesan, sambil tetap mengizinkan mereka mengakses konsol lainnya. Untuk informasi lebih lanjut, lihat "Memberikan Izin untuk Mencegah Pembelian Penawaran Kapasitas Cadangan" di Manajemen Identitas dan Akses untuk Amazon DynamoDB.

Untuk informasi selengkapnya tentang harga, lihat Harga Amazon DynamoDB.