0Pricing
AWS Solutions Architect · Pelajaran

Kapasitas Terprovisi vs Sesuai Permintaan

Pilih antara throughput terprovisi dengan penskalaan otomatis dan mode sesuai permintaan berdasarkan keterprediksian lalu lintas serta biaya.

Kapasitas Terprovisi vs Sesuai Permintaan adalah pelajaran AWS Solutions Architect gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar AWS Solutions Architect, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus AWS Solutions Architect mencakup 4 pelajaran total.

Penjelasan Unit Kapasitas DynamoDB

DynamoDB mengukur throughput dalam Unit Kapasitas Baca (RCU) dan Unit Kapasitas Tulis (WCU). Satu RCU memungkinkan satu pembacaan konsisten kuat per detik (atau dua pembacaan konsisten akhirnya) untuk item hingga 4 KB. Satu WCU memungkinkan satu penulisan per detik untuk item hingga 1 KB.

Untuk item yang lebih besar, biayanya meningkat secara proporsional: penulisan 10 KB membutuhkan 10 WCU; pembacaan konsisten kuat sebesar 10 KB membutuhkan 3 RCU (ceil(10/4) = 3). Memahami unit kapasitas sangat penting untuk memperkirakan biaya dan mendiagnosis kesalahan pembatasan ProvisionedThroughputExceededException.

Mode Kapasitas yang Disediakan

Dalam mode Kapasitas yang Disediakan, Anda menentukan jumlah RCU dan WCU yang harus didukung tabel Anda. DynamoDB mencadangkan throughput tersebut dan menagih Anda untuk kapasitas itu, baik digunakan maupun tidak. Jika aplikasi Anda melampaui kapasitas yang disediakan, permintaan akan dibatasi dan mengembalikan ProvisionedThroughputExceededException.

Mode yang disediakan ideal untuk beban kerja dengan lalu lintas yang dapat diprediksi dan stabil. Biaya per unitnya lebih rendah daripada mode Sesuai Permintaan, dan Anda dapat lebih menghemat biaya dengan membeli Kapasitas Cadangan DynamoDB (komitmen 1 tahun atau 3 tahun dengan diskon hingga 76%).

# Create a table with provisioned capacity
aws dynamodb create-table \
  --table-name Products \
  --attribute-definitions AttributeName=ProductId,AttributeType=S \
  --key-schema AttributeName=ProductId,KeyType=HASH \
  --provisioned-throughput ReadCapacityUnits=100,WriteCapacityUnits=50

Mode Kapasitas Sesuai Permintaan

Dalam mode Sesuai Permintaan, DynamoDB secara otomatis menyesuaikan skala untuk menangani tingkat lalu lintas apa pun tanpa perencanaan kapasitas. Anda membayar per permintaan: per RRU (unit permintaan baca) dan per WRU (unit permintaan tulis) yang benar-benar digunakan. Tidak ada kapasitas yang disediakan untuk dikelola atau pembatasan akibat batas kapasitas yang disediakan.

Mode Sesuai Permintaan ideal untuk: beban kerja yang tidak dapat diprediksi atau mengalami lonjakan, tabel baru yang lalu lintasnya belum diketahui, serta lingkungan pengembangan/pengujian dengan akses yang jarang. Biaya per permintaannya lebih tinggi daripada mode yang disediakan, sehingga untuk beban kerja stabil dengan throughput tinggi, mode yang disediakan lebih ekonomis.

# Create a table in on-demand mode
aws dynamodb create-table \
  --table-name Events \
  --attribute-definitions AttributeName=EventId,AttributeType=S \
  --key-schema AttributeName=EventId,KeyType=HASH \
  --billing-mode PAY_PER_REQUEST

Beralih Antar-Mode Kapasitas

Anda dapat mengalihkan tabel antara mode yang Disediakan dan Sesuai Permintaan kapan saja menggunakan konsol atau CLI. Namun, Anda hanya dapat mengganti mode sekali setiap 24 jam. Setelah beralih ke Sesuai Permintaan, tabel mempertahankan kapasitas puncak yang disediakan sebelumnya sebagai tingkat throughput awalnya, sehingga terlindungi dari pembatasan langsung jika lalu lintas sudah tinggi.

Strategi yang umum adalah menggunakan Sesuai Permintaan saat peluncuran awal ketika pola lalu lintas belum diketahui, kemudian beralih ke mode yang Disediakan dengan Penskalaan Otomatis setelah lalu lintas menjadi dapat diprediksi untuk mengurangi biaya.

# Switch a table to on-demand billing mode
aws dynamodb update-table \
  --table-name Products \
  --billing-mode PAY_PER_REQUEST

Penskalaan Otomatis DynamoDB untuk Mode yang Disediakan

Penskalaan Otomatis DynamoDB secara otomatis menyesuaikan RCU dan WCU yang disediakan sebagai respons terhadap lalu lintas aktual. Anda menentukan persentase utilisasi target (misalnya, 70%) serta rentang kapasitas minimum/maksimum. Kebijakan Penskalaan Otomatis Aplikasi memantau kapasitas tabel yang digunakan dan menyesuaikan kapasitas yang disediakan untuk mempertahankan utilisasi target.

Penskalaan Otomatis merespons perubahan lalu lintas yang berlangsung terus-menerus dan dapat memerlukan waktu beberapa menit untuk meningkatkan skala. Fitur ini tidak menangani lonjakan lalu lintas mendadak dengan baik—untuk kondisi tersebut, panaskan kapasitas terlebih dahulu secara manual atau gunakan mode Sesuai Permintaan.

# Register table as an auto scaling target
aws application-autoscaling register-scalable-target \
  --service-namespace dynamodb \
  --resource-id 'table/Products' \
  --scalable-dimension dynamodb:table:ReadCapacityUnits \
  --min-capacity 10 \
  --max-capacity 1000

Kapasitas Lonjakan

DynamoDB mempertahankan kapasitas yang disediakan dan tidak digunakan hingga 5 menit sebagai kapasitas lonjakan. Saat lalu lintas tabel untuk sementara melampaui tingkat yang disediakan, DynamoDB mengambil kapasitas dari kumpulan lonjakan untuk melayani permintaan tambahan tanpa pembatasan. Setelah kumpulan lonjakan habis, permintaan berlebih berikutnya akan dibatasi.

Kapasitas lonjakan adalah penyangga jangka pendek, bukan pengganti perencanaan kapasitas yang tepat. Pantau metrik CloudWatch ConsumedReadCapacityUnits dan ConsumedWriteCapacityUnits untuk mendeteksi saat beban kerja Anda terus-menerus menggunakan kapasitas lonjakan, lalu sesuaikan throughput yang disediakan.

Pembatasan dan Penanganan Kesalahan

Saat kapasitas yang disediakan terlampaui (dan kapasitas lonjakan telah habis), DynamoDB mengembalikan ProvisionedThroughputExceededException. SDK AWS menyertakan logika percobaan ulang bawaan dengan jeda mundur eksponensial dan pengacakan waktu, yang secara otomatis mencoba kembali permintaan yang dibatasi.

Untuk mendiagnosis pembatasan, periksa metrik CloudWatch SystemErrors dan ThrottledRequests. Jika kunci partisi tertentu dibatasi sementara utilisasi tabel secara keseluruhan rendah, Anda mengalami masalah partisi panas—rancang ulang kunci partisi, tambahkan kunci pengurutan, atau gunakan sharding penulisan.

Memperkirakan Kebutuhan Kapasitas

Untuk memperkirakan kapasitas dalam mode yang Disediakan:

  • Hitung jumlah penulisan puncak per detik × ukuran item rata-rata / 1 KB (dibulatkan ke atas) = WCU yang diperlukan
  • Hitung jumlah pembacaan puncak per detik × ukuran item rata-rata / 4 KB (dibulatkan ke atas) = RCU yang diperlukan (konsisten kuat); bagi dua untuk konsisten akhirnya
  • Tambahkan cadangan kapasitas 20–30% di atas puncak untuk menyerap lonjakan sebelum kapasitas lonjakan digunakan

Contoh: 1.000 penulisan/detik untuk item berukuran 2 KB = 2.000 WCU. 5.000 pembacaan/detik untuk item berukuran 8 KB (konsisten akhirnya) = ceil(8/4) × 5.000 / 2 = 5.000 RCU.

Kapasitas Cadangan untuk Mengurangi Biaya

Kapasitas Cadangan DynamoDB memungkinkan Anda membeli sejumlah RCU dan WCU tetap untuk jangka waktu 1 tahun atau 3 tahun, dengan pembayaran di muka untuk memperoleh diskon besar (hingga 76%) dibandingkan harga Sesuai Permintaan. Kapasitas cadangan berlaku di semua tabel yang disediakan dalam suatu Region dan otomatis diterapkan pada tagihan per jam Anda.

Kapasitas Cadangan hanya berlaku untuk mode yang Disediakan—Anda tidak dapat menggunakannya dengan mode Sesuai Permintaan. Ini merupakan pilihan penghematan biaya terbaik untuk beban kerja yang stabil dan dapat diprediksi, yang dapat Anda perkirakan dengan yakin untuk 1–3 tahun ke depan.

Membandingkan Mode: Panduan Keputusan Ujian

Gunakan panduan keputusan ini untuk pertanyaan mode kapasitas SAA-C03:

  • Sesuai Permintaan: lalu lintas yang tidak dapat diprediksi, aplikasi baru, akses yang jarang, beban kerja yang mengalami lonjakan, atau saat Anda menginginkan pengelolaan kapasitas nol
  • Disediakan: lalu lintas konsisten yang dapat diprediksi, sensitif terhadap biaya, bersedia mengelola kapasitas, serta memenuhi syarat untuk diskon Kapasitas Cadangan
  • Disediakan + Penskalaan Otomatis: pola dasar yang dapat diprediksi dengan sedikit variasi, serta menginginkan penyesuaian otomatis tanpa perubahan manual

Dalam ujian, kata kunci seperti 'berpola lonjakan', 'tidak dapat diprediksi', atau 'beban operasional minimal' menandakan Sesuai Permintaan; 'lalu lintas stabil' atau 'optimalisasi biaya' menandakan mode yang Disediakan.

Kapasitas Adaptif

Kapasitas Adaptif DynamoDB secara otomatis mendistribusikan ulang throughput dari partisi dingin ke partisi panas secara waktu nyata. Jika satu kunci partisi menerima lalu lintas lebih banyak daripada jatah yang dialokasikan, kapasitas adaptif meminjam throughput dari partisi yang kurang digunakan untuk menangani partisi panas tersebut—selama total kapasitas tabel tidak terlampaui.

Kapasitas adaptif selalu aktif dan tidak memerlukan konfigurasi. Fitur ini mengurangi pembatasan pada partisi panas untuk pola akses yang agak tidak merata. Untuk beban kerja yang sangat timpang (misalnya, satu kunci partisi menerima 90% lalu lintas), kapasitas adaptif tidak memadai—Anda harus merancang ulang kunci partisi atau menggunakan sharding penulisan.

Pemeriksaan Cepat

Uji pemahaman Anda tentang konsep Arsitek Solusi AWS (SAA-C03) dari pelajaran ini.

Rangkuman Pelajaran

Dalam pelajaran ini Anda mempelajari: mode yang Disediakan menetapkan RCU/WCU tetap untuk beban kerja yang dapat diprediksi dengan biaya lebih rendah, mode Sesuai Permintaan menyesuaikan skala secara otomatis untuk lalu lintas yang tidak dapat diprediksi dengan harga per permintaan yang lebih tinggi, dan Penskalaan Otomatis menyesuaikan kapasitas yang disediakan berdasarkan persentase utilisasi target. Selanjutnya kita akan membahas Global Secondary Index dan Local Secondary Index untuk pola kueri alternatif.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Kapasitas Terprovisi vs Sesuai Permintaan” gratis?

Ya — teks lengkap “Kapasitas Terprovisi vs Sesuai Permintaan” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus AWS Solutions Architect, upgrade ke CoddyKit PRO. Kursus AWS Solutions Architect mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Kapasitas Terprovisi vs Sesuai Permintaan”?

Pilih antara throughput terprovisi dengan penskalaan otomatis dan mode sesuai permintaan berdasarkan keterprediksian lalu lintas serta biaya. Kamu berlatih AWS Solutions Architect dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai AWS Solutions Architect?

Tidak diperlukan pengalaman sebelumnya. AWS Solutions Architect di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Kapasitas Terprovisi vs Sesuai Permintaan” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran AWS Solutions Architect ini?

Ya. Setiap pelajaran AWS Solutions Architect menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Tabel, Item, dan Kunci Utama
  2. Kapasitas Terprovisi vs Sesuai Permintaan
  3. Indeks Sekunder Global dan Indeks Sekunder Lokal
  4. Aliran DynamoDB dan Tabel Global
← Kembali ke AWS Solutions Architect