Bagikan melalui


Membuat kontainer dan database Azure Cosmos DB dengan throughput skala otomatis

BERLAKU UNTUK: NoSQL MongoDB Cassandra Gremlin Meja

Microsoft Azure Cosmos DB Anda dapat mengonfigurasikan throughput yang disediakan standar (manual) atau skala 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 provisi skala otomatis sangat cocok untuk beban kerja misi-kritis yang memiliki pola lalu lintas variabel atau pola lalu lintas yang tidak dapat diprediksi, dan memerlukan SLA pada 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 skala otomatis dinamis adalah peningkatan untuk skala otomatis yang disediakan di seluruh yang membantu penskalaan beban kerja nonuniform tersebut secara independen berdasarkan penggunaan, pada 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 yang disediakan skala otomatis memiliki manfaat berikut:

  • Sederhana: Skala Otomatis menghilangkan kompleksitas pengelolaan RU/dtk 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: Skala otomatis membantu mengoptimalkan penggunaan RU/dtk dan penggunaan biaya Anda dengan menurunkan skala saat tidak digunakan. Anda hanya membayar sumber daya yang dibutuhkan beban kerja Anda per jam. Dari semua jam dalam sebulan, jika Anda mengatur RU/s maks skala otomatis dan menggunakan Tmax jumlah penuh selama 66% dari jam 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 cara memilih antara artikel throughput standar (manual) dan skala otomatis yang disediakan.

  • 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.

Menggunakan kasus 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 paku di berbagai waktu di siang hari; aplikasi bisnis yang melihat penggunaan puncak beberapa kali sebulan atau tahun, 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, skala otomatis memudahkan untuk memulai. Anda dapat memulai dengan titik masuk autoscale 100 - 1000 RU/s, memantau penggunaan Anda, dan menentukan RU/s yang tepat dari waktu ke 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. Skala otomatis menyesuaikan kapasitas untuk menangani penggunaan puncak dan menurunkan skala saat selesai.

  • 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. Saat Anda perlu menjalankan beban kerja, throughput secara otomatis menskalakan ke nilai yang diperlukan dan menurunkan skala setelahnya.

Membangun solusi khusus untuk masalah ini tidak hanya membutuhkan banyak waktu, tetapi juga memperkenalkan kompleksitas dalam konfigurasi atau kode aplikasi Anda. Skala otomatis memungkinkan skenario unik dan menghapus kebutuhan akan penskalaan kapasitas 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 menurunkan skala saat diam. Wilayah sekunder juga secara otomatis meningkatkan skala saat menjadi aktif dan saat menangani lalu lintas replikasi tulis dari wilayah utama.
  • Beban kerja database multi-wilayah.
    • Beban kerja ini sering mengamati distribusi permintaan yang tidak merata di seluruh wilayah karena pertumbuhan lalu lintas alami dan turun sepanjang hari. Misalnya, database mungkin aktif selama jam kerja di seluruh zona waktu yang didistribusikan secara global.

Bagaimana skala otomatis yang disediakan bekerja

Saat mengonfigurasi kontainer dan database dengan skala otomatis, Anda menentukan throughput maksimum Tmax yang diperlukan. Microsoft Azure Cosmos DB menskalakan throughput T seperti 0.1*Tmax <= T <= Tmax. Misalnya, jika Anda mengatur throughput maksimum menjadi 20.000 RU/dtk, throughput menskalakan antara 2000 hingga 20.000 RU/dtk. Karena penskalaan otomatis dan instan, kapan saja, Anda dapat menggunakan sampai dengan yang tersedia Tmax tanpa tertunda.

Setiap jam, Anda ditagih untuk throughput T tertinggi yang diskalakan sistem dalam waktu satu jam. Saat penskalaan dinamis diaktifkan, penskalaan didasarkan pada penggunaan RU/dtk di setiap partisi fisik dan wilayah. Karena setiap partisi dan skala wilayah secara independen, ini dapat menyebabkan penghematan biaya untuk beban kerja nonuniform, karena peningkatan skala yang tidak perlu dihindari.

Titik masuk untuk throughput maksimum skala otomatis Tmax dimulai pada 1000 RU/s, yang diskalakan antara 100 - 1000 RU/s. Anda dapat Tmax mengatur kenaikan 1000 RU/dtk dan mengubah nilai 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 Throughput Pemanfaatan Catatan
Write 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.
Write P2 <= 200 RU/dtk 40% 200 RU/dtk yang terdiri dari semua operasi baca.
Read 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/dtk digunakan untuk operasi baca di wilayah ini.
Read P2 <= 50 RU/dtk 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 wilayah diskalakan secara independen, total RU/s yang diskalakan menjadi 900 RU/dtk, 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 throughput yang tersedia skala otomatis dengan standar (manual) kapanpun. Untuk informasi selengkapnya, lihat dokumentasi ini untuk informasi selengkapnya.

Batas throughput dan penyimpanan untuk skala otomatis

Untuk setiap nilai Tmax, database atau kontainer dapat menyimpan total 0.1 * Tmax GB. Setelah jumlah penyimpanan ini tercapai, RU/dtk 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 6000 GB, RU/dtk maksimum baru menjadi 60.000 RU/dtk (skala antara 6000 - 60.000 RU/dtk).

Saat Anda menggunakan throughput tingkat database dengan skala otomatis, Anda dapat memiliki 25 kontainer pertama yang berbagi RU/dtk maksimum skala otomatis 1000 (skala antara 100 - 1000 RU/dtk), selama Anda tidak melebihi 100 GB penyimpanan. Untuk informasi selengkapnya, lihat dokumentasi ini.

Mengaktifkan penskalaan dinamis

Penskalaan dinamis diaktifkan secara default 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:

  1. Navigasi ke akun Azure Cosmos DB Anda di portal Azure.

  2. Navigasi ke halaman Fitur .

  3. Temukan dan aktifkan fitur Penskalaan Dinamis (Per Wilayah dan Skala Otomatis Per Partisi).

    Cuplikan layar fitur 'Penskalaan Dinamis (Per Wilayah dan Skala Otomatis Per Partisi)' di portal Azure.

    Penting

    Fitur ini diaktifkan di tingkat akun, sehingga semua kontainer skala otomatis dan database throughput bersama 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.

Metrik Pemantauan

Anda dapat menggunakan metrik berikut untuk memantau skala otomatis dan penskalakan dinamis:

Nama Metrik Definisi Penggunaan Metrik
Throughput Disediakan Menunjukkan RU/dtk tertinggi agregat yang diskalakan ke seluruh jam, dan mewakili total RU/dtk yang diskalakan untuk jam tersebut. Anda dapat menggunakan Provisioned Throughput metrik untuk melihat RU/s tempat Anda ditagih dalam 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 untuk RU/dtk tertinggi agregat yang diskalakan dalam setiap jam di setiap tingkat partisi dan wilayah.
Penggunaan RU Dinormalisasi 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 konsisten 100% dan aplikasi Anda melihat pembatasan laju (kode kesalahan 429), maka Anda mungkin memerlukan lebih banyak RU/dtk. Sebaliknya, jika nilai metrik ini rendah dan tidak ada pembatasan tarif, maka mungkin ada ruang untuk mengoptimalkan dan menurunkan skala RU/dtk. Pelajari cara menginterpretasikan dan men-debug kode 429 kesalahan pembatasan laju.

Metrik ini Normalized RU Consumption mencerminkan RU/dtk yang digunakan di wilayah sekunder karena lalu lintas replikasi tulis dari primer, selain lalu lintas baca pada sekunder.
RU terskalakan otomatis Memperlihatkan throughput yang disediakan secara dinamis di setiap tingkat partisi dan wilayah hanya untuk akun yang diaktifkan skala otomatis dinamis. 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.

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 throughput standar (manual) Kontainer dengan throughput skala otomatis
Throughput yang tersedia (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 menggunakan RU/dtk dalam rentang throughput skala otomatis yang 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 RU/dtk yang disediakan secara manual per jam, menggunakan tarif RU/dtk per jam standar (manual). Anda membayar per jam untuk RU/dtk tertinggi sistem diskalakan hingga 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 tulis, tidak ada biaya tambahan untuk skala otomatis. Anda membayar throughput yang digunakan setiap jam menggunakan tarif tulis RU/dtk per jam 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. Untuk informasi selengkapnya, lihat, Mengonversi ke Skala Otomatis.

Langkah berikutnya