Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
BERLAKU UNTUK:
NoSQL
MongoDB
Cassandra
Gremlin
Meja
Di Azure Cosmos DB, Anda dapat mengonfigurasikan throughput yang disediakan baik secara standar (manual) atau penyelarasan otomatis pada database dan kontainer. Throughput yang disediakan secara otomatis di Microsoft Azure Cosmos DB memungkinkan Anda untuk menskalakan throughput (RU/dtk) database atau kontainer Anda secara otomatis dan instan.
Throughput terprovisi otomatis sangat cocok untuk beban kerja yang penting bagi misi dengan pola lalu lintas yang bervariasi atau tidak dapat diprediksi, dan memerlukan perjanjian tingkat layanan (SLA) untuk performa dan skala tinggi. Skala otomatis secara default menskalakan beban kerja berdasarkan wilayah dan partisi yang paling aktif. Untuk beban kerja nonuniform yang memiliki pola beban kerja yang berbeda di seluruh wilayah dan partisi, penskalaan ini dapat menyebabkan peningkatan skala yang tidak perlu. Penskalaan dinamis atau autoskala dinamis adalah peningkatan pada penyediaan skala otomatis secara keseluruhan yang membantu penskalaan beban kerja yang tidak seragam secara independen berdasarkan penggunaan, di tingkat per wilayah dan per partisi. Penskalaan dinamis memungkinkan Anda menghemat biaya jika Anda sering mengalami partisi panas dan/atau memiliki beberapa wilayah.
Keuntungan skala otomatis
Database dan kontainer Azure Cosmos DB yang dikonfigurasi dengan throughput terskala otomatis memiliki manfaat berikut:
Sederhana: Pengskalaan Otomatis mengurangi kerumitan pengelolaan RU per detik (RU/s) dengan skrip kustom atau kapasitas penskalaan secara manual.
Dapat diskalakan: Database dan kontainer secara otomatis menskalakan throughput yang disediakan sesuai kebutuhan. Tidak ada gangguan pada koneksi klien, aplikasi, atau SLA Azure Cosmos DB.
Hemat biaya: Autoscale membantu mengoptimalkan penggunaan RU/dtk dan biaya penggunaan dengan menurunkan skala saat tidak aktif. Anda hanya membayar untuk sumber daya yang dibutuhkan oleh beban kerja Anda berdasarkan jam. Dari semua jam dalam sebulan, jika Anda mengatur skala otomatis RU/s maksimum (Tmax) dan menggunakan jumlah Tmax penuh selama 66% dari waktu atau kurang, Anda dapat menghemat dengan skala otomatis. Selain penskalaan dinamis, menambahkan wilayah sekunder untuk ketersediaan tinggi lebih hemat biaya karena setiap wilayah dan partisi menskalakan secara independen berdasarkan penggunaan aktual. Untuk mempelajari lebih lanjut, lihat artikel cara memilih antara throughput yang disediakan standar (manual) dan skala otomatis.
Sangat tersedia: Database dan kontainer menggunakan skala otomatis menggunakan backend Microsoft Azure Cosmos DB yang didistribusikan secara global dan toleran terhadap kesalahan yang sama untuk memastikan ketahanan data dan ketersediaan tinggi.
Kasus penggunaan skala otomatis
Kasus penggunaan skala otomatis meliputi:
Variabel atau Beban Kerja yang tidak dapat diprediksi: Ketika beban kerja Anda memiliki lonjakan penggunaan variabel atau tidak dapat diprediksi, skala otomatis membantu dengan meningkatkan dan menurunkan skala secara otomatis berdasarkan penggunaan. Contohnya termasuk situs web ritel yang memiliki pola lalu lintas yang berbeda tergantung pada musim; beban kerja IoT yang memiliki lonjakan di berbagai waktu dalam sehari; aplikasi bisnis yang mengalami penggunaan puncak beberapa kali dalam sebulan atau setahun, dan banyak lagi. Dengan skala otomatis, Anda tidak perlu lagi menyediakan secara manual untuk kapasitas puncak atau rata-rata.
Aplikasi baru: Jika Anda mengembangkan aplikasi baru dan tidak yakin tentang throughput (RU/dtk) yang Anda butuhkan, autoscale memudahkan Anda memulai. Anda dapat memulai dengan titik masuk autoscale 100 - 1000 RU/s, memantau penggunaan, dan menentukan RU/s yang tepat seiring waktu.
Aplikasi yang jarang digunakan: Jika Anda memiliki aplikasi, yang hanya digunakan selama beberapa jam beberapa kali sehari, minggu, atau bulan—seperti situs aplikasi/web/blog volume rendah. Autoscale menyesuaikan kapasitas untuk menghadapi lonjakan penggunaan dan menguranginya saat periode puncak berakhir.
Beban kerja pengembangan dan pengujian: Jika Anda atau tim Anda menggunakan database dan kontainer Azure Cosmos DB selama jam kerja, tetapi tidak memerlukannya pada malam atau akhir pekan, skala otomatis membantu menghemat biaya dengan menurunkan skala minimal saat tidak digunakan.
Beban/kueri kerja produksi terjadwal: Jika Anda memiliki serangkaian permintaan, operasi, atau kueri terjadwal yang ingin Anda jalankan selama periode menganggur, Anda dapat melakukannya dengan mudah dengan skala otomatis. Ketika perlu menjalankan beban kerja, throughput secara otomatis menyesuaikan ke nilai yang diperlukan dan turun kembali setelahnya.
Membangun solusi khusus untuk masalah ini tidak hanya membutuhkan banyak waktu, tetapi juga memperkenalkan kompleksitas dalam konfigurasi atau kode aplikasi Anda. Autoscale memungkinkan skenario di atas dan menghilangkan kebutuhan akan penskalaan kapasitas yang kustom atau manual.
Kasus penggunaan penskalaan dinamis
Kasus penggunaan penskalaan dinamis meliputi:
- Beban kerja database yang memiliki wilayah utama dengan lalu lintas tinggi dan wilayah pasif sekunder untuk pemulihan bencana.
- Dengan penskalakan dinamis, mencapai ketersediaan tinggi dengan beberapa wilayah lebih hemat biaya. Wilayah sekunder secara independen dan otomatis mengurangi skala ketika tidak aktif. Wilayah sekunder juga secara otomatis meningkatkan kapasitasnya saat menjadi aktif dan saat mengelola replikasi data tulis dari wilayah utama.
- Beban kerja basis data lintas wilayah.
- Beban kerja ini sering mengalami distribusi permintaan yang tidak merata di seluruh wilayah karena pertumbuhan dan penurunan lalu lintas alami sepanjang hari. Misalnya, database mungkin aktif selama jam kerja di seluruh zona waktu yang didistribusikan secara global.
Bagaimana penyesuaian otomatis kapasitas throughput yang disediakan bekerja
Saat mengonfigurasi kontainer dan database dengan skala otomatis, Anda menentukan throughput maksimum Tmax
yang diperlukan. Microsoft Azure Cosmos DB meningkatkan kapasitas throughput T
dengan cara 0.1*Tmax <= T <= Tmax
. Misalnya, jika Anda mengatur throughput maksimum menjadi 20.000 RU/detik, throughput bervariasi antara 2000 hingga 20.000 RU/detik. Karena penskalaan otomatis dan instan, kapan saja, Anda dapat menggunakan sampai dengan yang tersedia Tmax
tanpa tertunda.
Setiap jam, Anda ditagih berdasarkan throughput T
tertinggi yang dicapai oleh sistem dalam satu jam tersebut. Saat penskalaan dinamis diaktifkan, penskalaan didasarkan pada penggunaan RU/dtk di setiap partisi fisik dan setiap wilayah. Karena setiap partisi dan wilayah meningkatkan skala secara independen, ini dapat menyebabkan penghematan biaya untuk beban kerja yang tidak seragam, karena peningkatan skala yang tidak perlu dihindari.
Titik masuk untuk throughput maksimum skala otomatis Tmax
dimulai pada 1000 RU/s dan diskala dalam kisaran 100 - 1000 RU/s. Anda dapat mengatur Tmax
dalam kelipatan 1000 RU/dtk dan mengubah nilainya kapan saja.
Misalnya, jika kita memiliki koleksi dengan 1000 RU/dtk dan 2 partisi, setiap partisi dapat mencapai 500 RU/dtk. Selama satu jam aktivitas, pemanfaatan akan terlihat seperti ini:
Wilayah | Partisi | Laju Pemrosesan | Pemanfaatan | Catatan |
---|---|---|---|---|
Tulis | Hal 1 | <= 500 RU/dtk | 100% | 500 RU/dtk yang terdiri dari 50 RU/dtk yang digunakan untuk operasi tulis dan 450 RU/dtk untuk operasi baca. |
Tulis | P2 | <= 200 RU/dtk | 40% | 200 unit permintaan per detik yang meliputi semua operasi baca. |
Baca | Hal 1 | <= 150 RU/dtk | 30% | 150 RU/dtk yang terdiri dari 50 RU/dtk yang digunakan untuk penulisan yang direplikasi dari wilayah tulis. 100 RU per detik diperlukan untuk operasi pembacaan di wilayah ini. |
Baca | P2 | <= 50 RU per detik | 10% |
Tanpa penskalaan dinamis, semua partisi diskalakan secara seragam berdasarkan partisi terpanas. Dalam contoh ini, karena partisi terpanas memiliki pemanfaatan 100%, semua partisi di wilayah tulis dan baca diskalakan ke 1000 RU/dtk, membuat total RU/dtk diskalakan menjadi 2000 RU/dtk.
Dengan penskalaan dinamis, karena setiap partisi dan throughput setiap wilayah diskalakan secara independen, total RU/s yang diskalakan menjadi 900 RU/s, yang lebih mencerminkan pola lalu lintas aktual dan menurunkan biaya.
Mengaktifkan skala otomatis pada sumber daya yang ada
Gunakan portal Microsoft Azure, CLI atau PowerShell untuk mengaktifkan skala otomatis pada database atau kontainer yang sudah ada. Anda dapat beralih antara skala otomatis dan throughput standar (manual) kapan saja. Untuk informasi selengkapnya, lihat dokumentasi ini untuk informasi selengkapnya.
Batas throughput dan penyimpanan untuk penskalaan otomatis
Untuk setiap nilai Tmax
, database atau kontainer dapat menyimpan total 0.1 * Tmax GB
. Setelah jumlah penyimpanan ini tercapai, RU per detik maksimum akan ditingkatkan secara otomatis berdasarkan nilai penyimpanan baru, tanpa memengaruhi aplikasi Anda.
Misalnya, jika Anda memulai dengan RU/dtk maksimum 50.000 RU/dtk (skala antara 5000 - 50.000 RU/dtk), Anda dapat menyimpan hingga 5000 GB data. Jika Anda melebihi 5000 GB - misalnya, penyimpanan sekarang menjadi 6000 GB, maka RU/s maksimum baru menjadi 60.000 RU/s (berkisar antara 6000 - 60.000 RU/s).
Saat Anda menggunakan throughput tingkat basis data dengan skala otomatis, Anda dapat memiliki 25 Kontainer pertama yang berbagi RU/s maksimum skala otomatis 1000 (berkisar antara 100 - 1000 RU/s), selama Anda tidak melebihi 100 GB penyimpanan. Untuk informasi selengkapnya, lihat dokumentasi ini.
Mengaktifkan penskalaan dinamis
Penskalaan dinamis diaktifkan secara bawaan untuk semua akun Azure Cosmos DB yang dibuat setelah 25 September 2024. Pelanggan yang ingin mengaktifkan fitur ini untuk akun lama mereka dapat melakukannya secara terprogram melalui Azure PowerShell/CLI/Rest API atau dari panel fitur portal Azure seperti yang ditunjukkan:
Navigasi ke akun Azure Cosmos DB Anda di portal Azure.
Navigasi ke halaman Fitur .
Temukan dan aktifkan fitur Penskalaan Dinamis (Skala Otomatis Per Wilayah dan Per Partisi).
Penting
Fitur ini diaktifkan di tingkat akun, sehingga semua kontainer skala otomatis dan database throughput bersama skala otomatis dalam akun akan secara otomatis menerapkan kemampuan ini. Mengaktifkan fitur ini tidak memengaruhi sumber daya di akun yang menggunakan throughput manual. Sumber daya manual perlu diubah ke skala otomatis untuk memanfaatkan penskalaan dinamis. Mengaktifkan fitur ini tidak memiliki waktu henti atau dampak performa. Fitur ini tidak berlaku untuk akun tanpa server. Fitur ini didukung di semua cloud.
Metrik Pemantauan
Anda dapat menggunakan metrik berikut untuk memantau skala otomatis dan penskalakan dinamis:
Nama Metrik | Definisi | Penggunaan Metrik |
---|---|---|
Throughput yang Disediakan | Menunjukkan RU/dtk tertinggi agregat yang diskalakan ke seluruh jam, dan mewakili total RU/dtk yang diskalakan untuk jam tersebut. | Anda dapat menggunakan metrik Provisioned Throughput untuk melihat RU/s yang Anda ditagihkan setiap jam. Dengan skala otomatis, Anda ditagih berdasarkan partisi paling aktif untuk setiap jam dan hal yang sama diterapkan ke semua partisi dan wilayah. Dengan skala otomatis dinamis, Anda ditagih berdasarkan RU/dtk tertinggi yang dicapai agregat pada tiap jam di setiap tingkat partisi dan tingkat wilayah. |
Normalisasi Penggunaan RU | Metrik ini mewakili rasio RU/dtk yang dikonsumsi terhadap RU/dtk yang disediakan di setiap partisi dan tingkat wilayah. | Gunakan metrik ini untuk menentukan apakah throughput maksimum skala otomatis berada di bawah atau diprovisikan secara berlebihan. Jika nilai metrik secara terus-menerus 100% dan aplikasi Anda mengalami pembatasan laju (kode kesalahan 429), maka Anda mungkin memerlukan lebih banyak Request Units per detik. Sebaliknya, jika nilai metrik ini rendah dan tidak ada pembatasan tingkat, maka mungkin ada ruang untuk mengoptimalkan dan menurunkan RU/s. Pelajari cara menginterpretasikan dan men-debug kesalahan pembatasan laju kode 429. Metrik ini Normalized RU Consumption mencerminkan RU/dtk yang digunakan di wilayah sekunder akibat lalu lintas replikasi penulisan dari wilayah primer, serta lalu lintas pembacaan di wilayah sekunder. |
RU terskalakan otomatis | Memperlihatkan throughput yang disediakan dengan skala dinamis pada tingkat partisi dan wilayah, hanya untuk akun dengan skala otomatis dinamis diaktifkan. | Gunakan metrik ini untuk melihat bagaimana partisi di setiap wilayah diskalakan secara independen berdasarkan penggunaannya. Gunakan metrik - Autoscaled RU Azure Monitor untuk menganalisis bagaimana penskalaan otomatis baru diterapkan di seluruh partisi dan wilayah. Filter ke akun database dan kontainer yang Anda inginkan, lalu filter atau pisahkan berdasarkan metrik PartitionID Fisik. Metrik ini menunjukkan semua partisi di berbagai wilayahnya. |
Penting
Disarankan untuk menggunakan kemampuan penskalakan dinamis asli Azure Cosmos DB untuk mengelola kapasitas Anda. Namun, jika diperlukan, metrik Konsumsi RU yang Dinormalisasi di Azure Monitor dapat digunakan untuk membuat keputusan penskalaan terprogram. Pendekatan lain, seperti menggunakan panggilan ReadThroughputAsync() di Azure Cosmos DB SDK untuk mendapatkan ProvisionedThroughput, atau menggunakan ProvisionedThroughput di Azure Monitor tidak disarankan dan akan menyebabkan hasil yang tidak akurat. Metrik ini mewakili throughput yang dikenakan biaya yang mungkin tertunda dan tidak boleh digunakan untuk pengambilan keputusan penskalaan.
Perbandingan – kontainer dikonfigurasi dengan throughput manual vs skala otomatis
Untuk detail selengkapnya, lihat dokumentasi ini tentang cara memilih antara throughput standar (manual) dengan otomatis.
Kontainer dengan kapasitas pemrosesan standar (manual) | Kontainer dengan throughput berskala otomatis | |
---|---|---|
Throughput yang disediakan (RU/dtk) | Disediakan secara manual. | Secara otomatis dan instan diskalakan berdasarkan pola penggunaan beban kerja. |
Pembatasan tarif permintaan/operasi (429) | Dapat terjadi, jika penggunaan melebihi kapasitas yang disediakan. | Tidak terjadi jika Anda mengonsumsi RU/s dalam rentang throughput skala otomatis yang telah dikonfigurasi. |
Perencanaan kapasitas | Anda harus melakukan perencanaan kapasitas dan mengatur throughput yang tepat yang Anda butuhkan. | Sistem secara otomatis mengurus perencanaan kapasitas dan manajemen kapasitas. |
Harga | Anda membayar untuk RU/s yang disediakan secara manual per jam, menggunakan tarif standar RU/s per jam (manual). | Anda membayar per jam untuk jumlah RU/s tertinggi yang dicapai oleh sistem dalam satu jam. Untuk akun wilayah tulis tunggal, Anda membayar RU/dtk yang digunakan setiap jam, menggunakan tarif RU/dtk per jam skala otomatis. Untuk akun dengan beberapa wilayah penulisan, tidak ada biaya tambahan untuk penskalaan otomatis. Anda membayar throughput yang digunakan berdasarkan jam dengan menggunakan tarif RU/tulis per detik per jam di multiwilayah yang sama. |
Paling cocok untuk jenis beban kerja | Beban kerja yang dapat diprediksi dan stabil | Beban kerja yang tidak dapat diprediksi dan variabel |
Memigrasikan throughput standar yang disediakan ke skala otomatis
Pengguna yang ingin memigrasikan sejumlah besar sumber daya dari throughput standar yang disediakan ke skala otomatis dapat menggunakan skrip Azure CLI untuk memigrasikan setiap sumber daya throughput dalam langganan Azure ke skala otomatis.
Langkah berikutnya
- Tinjau FAQ pengaturan skala otomatis.
- Pelajari cara memilih antara throughput manual dengan otomatis.
- Pelajari cara menyediakan throughput skala otomatis pada database atau kontainer Azure Cosmos DB.
- Pelajari selengkapnya tentang pemartisian di Azure Cosmos DB.
- Mencoba melakukan perencanaan kapasitas untuk migrasi ke Azure Cosmos DB? Anda dapat menggunakan informasi tentang kluster database Anda yang ada saat ini untuk membuat perencanaan kapasitas.
- Jika Anda hanya mengetahui jumlah vCore dan server di kluster database yang ada, baca tentang memperkirakan unit permintaan menggunakan vCore atau vCPU
- Jika Anda mengetahui rasio permintaan umum untuk beban kerja database Anda saat ini, baca memperkirakan unit permintaan menggunakan perencana kapasitas Azure Cosmos DB