Kuota layanan Azure Cosmos DB

BERLAKU UNTUK: Nosql MongoDB Cassandra Gremlin Meja

Artikel ini memberikan gambaran umum tentang kuota default yang ditawarkan ke sumber daya yang berbeda di Azure Cosmos DB.

Operasi penyimpanan dan database

Setelah membuat akun Azure Cosmos DB di bawah langganan, Anda dapat mengelola data di akun Anda dengan membuat database, kontainer, dan item.

Throughput yang disediakan

Anda dapat menyediakan throughput pada tingkat kontainer atau tingkat database dalam hal unit permintaan (RU/dtk atau RUs). Tabel berikut ini mencantumkan batas untuk penyimpanan dan throughput per kontainer/database. Penyimpanan mengacu pada jumlah gabungan data dan penyimpanan indeks.

Sumber daya Batas
RUs maksimum per kontainer (mode yang disediakan throughput khusus) 1,000,000 1
RUs maksimum per database (mode yang disediakan throughput bersama) 1,000,000 1
RUs maksimum per partisi (logis & fisik) 10.000
Penyimpanan maksimum di semua item per partisi (logis) 20 GB 2
Jumlah maksimum tombol partisi berbeda (logika) Tidak Terbatas
Penyimpanan maksimum per kontainer Tidak Terbatas
Ukuran lampiran maksimum per Akun (fitur Lampiran tidak digunakan lagi) 2 GB
RU/dtk minimum diperlukan per 1 GB 10 RU/dtk 3

1 Anda dapat meningkatkan RU Maksimum per kontainer atau database dengan mengajukan tiket dukungan Azure.

2 Untuk mempelajari tentang praktik terbaik terkait mengelola beban kerja berkunci partisi yang membutuhkan batas penyimpanan atau throughput yang lebih tinggi, lihat Membuat kunci partisi sintetis. Jika beban kerja Anda telah mencapai batas partisi logis sebesar 20 GB dalam produksi, sebaiknya rancang ulang aplikasi Anda dengan kunci partisi yang berbeda sebagai solusi jangka panjang. Untuk memperpanjang waktu dalam merancang ulang aplikasi, Anda dapat meminta peningkatan sementara dalam batas kunci partisi logis untuk aplikasi yang ada. Ajukan tiket dukungan Azure dan pilih jenis kuota Peningkatan sementara dalam ukuran kunci partisi logis kontainer. Meminta kenaikan sementara bertujuan sebagai mitigasi sementara dan tidak direkomendasikan sebagai solusi jangka panjang, karena jaminan SLA tidak dipatuhi ketika batas dinaikkan. Untuk menghapus konfigurasi, ajukan tiket dukungan dan pilih jenis kuota Memulihkan ukuran kunci partisi logis penampung ke default (20 GB). Mengajukan tiket dukungan ini dapat dilakukan setelah menghapus data agar sesuai dengan batas partisi logis 20 GB atau setelah merancang ulang aplikasi Anda dengan kunci partisi yang berbeda.

3 Minimum dapat diturunkan jika akun Anda memenuhi syarat untuk program "penyimpanan tinggi/throughput rendah" kami

Batas throughput minimum

Kontainer Azure Cosmos DB (atau database throughput bersama) menggunakan throughput manual harus memiliki throughput minimum 400 RU/dtk. Seiring bertambahnya kontainer, Azure Cosmos DB memerlukan throughput minimum untuk memastikan database atau kontainer memiliki sumber daya yang memadai untuk operasinya.

Throughput kontainer atau database saat ini dan minimum dapat diambil dari portal Microsoft Azure atau SDK. Untuk informasi selengkapnya, lihat Throughput penyediaan pada kontainer dan database.

RU/dtk minimum aktual dapat bervariasi tergantung pada konfigurasi akun Anda. Anda dapat menggunakan metrik Azure Monitor untuk melihat riwayat throughput yang disediakan (RU/dtk) dan penyimpanan pada sumber daya.

Throughput minimum pada kontainer

Untuk memperkirakan throughput minimum throughput yang diperlukan kontainer dengan throughput manual, temukan maximum:

  • 400 RU/dtk
  • Penyimpanan saat ini dalam GB * 10 RU/dtk
  • RUn tertinggi yang pernah ada di container / 100

Misalnya, Anda memiliki kontainer yang tersedia dengan 400 RU/dtk dan penyimpanan 0 GB. Anda meningkatkan throughput menjadi 50.000 RU/dtk dan mengimpor data 20 GB. RU/dtk minimum sekarang MAX(400, 20 * 10 RU/s per GB, 50,000 RU/s / 100) = 500 RU/dtk. Seiring waktu, penyimpanan berkembang hingga 200 GB. RU/dtk minimum sekarang MAX(400, 200 * 10 RU/s per GB, 50,000 / 100) = 2000 RU/dtk.

Catatan

Throughput minimum 10 RU/dtk per GB penyimpanan dapat diturunkan jika akun Anda memenuhi syarat untuk program "penyimpanan tinggi/throughput rendah" kami.

Throughput minimum pada database throughput bersama

Untuk memperkirakan throughput minimum yang diperlukan dari database throughput bersama dengan throughput manual, temukan maksimum:

  • 400 RU/dtk
  • Penyimpanan saat ini dalam GB * 10 RU/dtk
  • RUn tertinggi yang pernah disediakan di database / 100
  • 400 + MAX(Jumlah kontainer - 25,0) * 100 RU/dtk

Misalnya, Anda memiliki database yang tersedia dengan 400 RU/dtk, 15 GB penyimpanan, dan 10 kontainer. RU/dtk minimum adalah MAX(400, 15 * 10 RU/s per GB, 400 / 100, 400 + 0 ) = 400 RU/dtk. Jika ada 30 kontainer dalam database, minimum RU/dtk adalah 400 + MAX(30 - 25, 0) * 100 RU/s = 900 RU/dtk.

Catatan

Throughput minimum 10 RU/dtk per GB penyimpanan dapat diturunkan jika akun Anda memenuhi syarat untuk program "penyimpanan tinggi/throughput rendah" kami.

Singkatnya, berikut adalah batas RU minimum yang disediakan saat menggunakan throughput manual.

Sumber daya Batas
RU minimum per kontainer (mode yang disediakan throughput khusus dengan throughput manual) 400
RU minimum per database (mode yang disediakan throughput bersama dengan throughput manual) 400 RU/dtk untuk 25 kontainer pertama.

Azure Cosmos DB mendukung penskalaan throughput terprogram (RU/dtk) per kontainer atau database melalui SDK atau portal.

Tergantung pada pengaturan RU/dtk yang disediakan saat ini dan sumber daya, setiap sumber daya dapat menskalakan secara sinkron dan segera antara RU/dtk minimum hingga 100x RU/dtk minimum. Jika nilai throughput yang diminta berada di luar rentang, penskalaan dilakukan secara asinkron. Penskalaan asinkron mungkin membutuhkan waktu beberapa menit hingga berjam-jam untuk diselesaikan tergantung pada throughput yang diminta dan ukuran penyimpanan data dalam kontainer. Pelajari lebih lanjut.

Tanpa server

Tanpa server memungkinkan Anda menggunakan sumber daya Azure Cosmos DB Anda dengan cara berbasis konsumsi. Tabel berikut mencantumkan batas untuk penyimpanan dan burstability throughput per kontainer/database. Batas ini tidak dapat ditingkatkan. Sebaiknya provisikan akun tanpa server tambahan untuk kebutuhan penyimpanan yang lebih banyak.

Sumber daya Batas
Maksimum RU/dtk per kontainer 5\.000
Penyimpanan maksimum di semua item per partisi (logis) 20 GB
Penyimpanan maksimum per kontainer (API untuk NoSQL, MongoDB, Table, dan Gremlin) 50 GB (default)1
Penyimpanan maksimum per kontainer (API untuk Cassandra) 30 GB (default)1

1 Kontainer tanpa server hingga 1 TB saat ini dalam pratinjau dengan Azure Cosmos DB. Untuk mencoba fitur baru, daftarkan fitur pratinjau "Azure Cosmos DB Serverless 1 TB Container Preview"di langganan Azure Anda.

Operasi sarana kontrol

Anda dapat menyediakan dan mengelola akun Azure Cosmos DB menggunakan templat portal Azure, Azure PowerShell, Azure CLI, dan Azure Resource Manager. Tabel berikut ini mencantumkan batasan per langganan, akun, dan jumlah operasi.

Sumber daya Batas
Jumlah maksimum akun per langganan 50 secara default. 1
Jumlah kegagalan regional 10/jam secara default. 12

1 Anda dapat meningkatkan batas ini dengan membuat permintaan Dukungan Azure hingga 1.000 maks.

2 Failover regional hanya berlaku untuk satu akun tulis wilayah. Akun tulis multi-wilayah tidak memerlukan atau memiliki batasan untuk mengubah wilayah tulis.

Azure Cosmos DB secara otomatis mengambil cadangan data Anda secara berkala. Untuk detail tentang interval penyimpanan cadangan dan jendela, lihat Pencadangan online dan pemulihan data sesuai permintaan di Azure Cosmos DB.

Batas per akun

Throughput yang disediakan

Sumber daya Batas
Jumlah maksimum database per akun 500
Jumlah maksimum kontainer per database dengan throughput bersama 25
Jumlah maksimum kontainer per akun 500
Jumlah wilayah maksimum Tanpa batas (semua wilayah Azure)

Tanpa server

Sumber daya Batas
Jumlah maksimum database per akun 100
Jumlah maksimum kontainer per akun 100
Jumlah wilayah maksimum 1 (Wilayah Azure mana pun)

Batas per kontainer

Bergantung pada API mana yang Anda gunakan, kontainer Azure Cosmos DB dapat mewakili koleksi, tabel, atau grafik. Kontainer mendukung konfigurasi untuk batasan kunci unik, prosedur tersimpan, pemicu, dan UDF, serta kebijakan pengindeksan. Tabel berikut mencantumkan batasan khusus untuk konfigurasi dalam kontainer.

Sumber daya Batas
Panjang maksimum database atau nama kontainer 255
Jumlah maksimum prosedur tersimpan per kontainer 100 1
Jumlah maksimum UDF per kontainer 50 1
Jumlah maksimum kunci unik per kontainer 10 1
Jumlah maksimum jalur per batasan kunci unik 16 1
Nilai TTL maksimum 2147483647

1 Anda dapat menambah batas per-kontainer mana pun dengan membuat Permintaan dukungan Azure.

Batas per item

Item Azure Cosmos DB dapat mewakili dokumen dalam koleksi, baris dalam tabel, atau simpul atau tepi dalam grafik; bergantung pada API mana yang Anda gunakan. Tabel berikut ini memperlihatkan batas per item di Azure Cosmos DB.

Sumber daya Batas
Ukuran maksimum item 2 MB (representasi JSON dengan panjang UTF-8) 1
Panjang maksimum dari nilai kunci partisi 2048 byte
Panjang maksimum nilai ID 1023 byte
Karakter yang diizinkan untuk nilai ID Semua karakter Unicode sisi layanan kecuali untuk '/' dan '\' diperbolehkan.
PERINGATAN: Tetapi untuk interoperabilitas terbaik kami SANGAT MENYARANKAN untuk hanya menggunakan karakter ASCII alfa-numerik dalam nilai ID saja.
Ada beberapa batasan yang diketahui dalam beberapa versi Cosmos DB SDK, serta konektor (ADF, Spark, Kafka dll.) dan http-drivers/pustaka dll yang dapat mencegah keberhasilan pemrosesan ketika nilai ID berisi karakter ASCII non-alfanumerik. Jadi, untuk meningkatkan interoperabilitas, harap kodekan nilai ID - misalnya melalui Base64 + pengodean kustom charatcer khusus yang diizinkan di Base64. - jika Anda harus mendukung karakter ASCII non-alfanumerik dalam layanan/aplikasi Anda.
Jumlah properti maksimum per item Tidak ada batas tertentu
Panjang maksimum nama properti Tidak ada batas tertentu
Panjang maksimum nilai properti Tidak ada batas tertentu
Panjang maksimum nilai properti string Tidak ada batas tertentu
Panjang maksimum nilai properti numerik IEEE754 presisi ganda 64-bit
Tingkat maksimum bersarang untuk objek/array yang disematkan 128
Nilai TTL maksimum 2147483647
Presisi/rentang maksimum untuk angka pada JSON (untuk memastikan interoperabilitas yang aman) IEEE 754 binary64

1 Ukuran dokumen besar hingga 16MB hanya didukung dengan Azure Cosmos DB untuk MongoDB. Baca dokumentasi fitur untuk mempelajari selengkapnya.

Tidak ada batasan pada payload item (seperti jumlah properti dan kedalaman lapisan), kecuali untuk batasan panjang pada nilai kunci partisi dan ID, dan pembatasan ukuran keseluruhan 2 MB. Anda mungkin harus mengonfigurasi kebijakan pengindeksan untuk kontainer dengan struktur item besar atau kompleks untuk mengurangi konsumsi RU. Lihat Memodelkan item di Azure Cosmos DB untuk contoh dunia nyata, dan pola untuk mengelola item besar.

Batas per permintaan

Azure Cosmos DB mendukung CRUD dan operasi kueri terhadap sumber daya seperti kontainer, item, dan database. Ini juga mendukung permintaan batch transaksional terhadap beberapa item dengan kunci partisi yang sama dalam kontainer.

Sumber daya Batas
Waktu eksekusi maksimum untuk satu operasi (seperti eksekusi prosedur tersimpan atau satu pengambilan halaman kueri) 5 detik
Ukuran permintaan maksimum (misalnya, prosedur tersimpan, CRUD) 2 MB
Ukuran respons maksimum (misalnya, kueri paginasi) 4 MB
Jumlah maksimum operasi dalam batch transaksional 100

Setelah operasi seperti kueri mencapai batas waktu eksekusi atau batas ukuran respons, kueri mengembalikan halaman hasil dan token kelanjutan kepada klien untuk melanjutkan eksekusi. Tidak ada batas praktis pada durasi yang dapat dijalankan oleh satu kueri di seluruh halaman/berkelanjutan.

Azure Cosmos DB menggunakan HMAC untuk otorisasi. Anda dapat menggunakan kunci primer, atau token sumber daya untuk kontrol akses tanpa hambatan ke sumber daya. Sumber daya ini dapat mencakup kontainer, kunci partisi, atau item. Tabel berikut ini mencantumkan batasan token otorisasi di Azure Cosmos DB.

Sumber daya Batas
Waktu berakhir token primer maksimum 15 menit
Waktu berakhir token sumber daya minimum 10 menit
Waktu berakhir token sumber daya maksimun 24 jam secara default 1
Clock skew maksimum untuk otorisasi token 15 menit

1 Anda dapat meningkatkannya dengan mengajukan tiket dukungan Azure

Azure Cosmos DB mendukung eksekusi pemicu selama penulisan. Layanan ini mendukung maksimum satu pra-pemicu dan satu operasi pasca-pemicu per tulis.

Batas permintaan metadata

Azure Cosmos DB mempertahankan metadata sistem untuk setiap akun. Metadata ini memungkinkan Anda untuk menghitung koleksi, database, sumber daya Azure Cosmos DB lainnya, dan konfigurasinya secara gratis.

Sumber daya Batas
Laju buat kumpulan maksimum per menit 100
Laju buat Database maksimum per menit 100
Laju pembaruan throughput yang disediakan maksimum per menit 5
Throughput maksimum yang didukung oleh akun untuk operasi metadata 240 RU/dtk

Batas untuk throughput yang disediakan skala otomatis

Lihat artikel Skala otomatis dan Tanya Jawab Umum untuk penjelasan lebih mendetail tentang throughput dan batas penyimpanan dengan skala otomatis.

Sumber daya Batas
RU/dtk maksimum yang dapat diskalakan sistem Tmax, RU/dtk maksimum skala otomatis yang ditetapkan oleh pengguna
RU/dtk minimum yang dapat diskalakan sistem 0.1 * Tmax
RU/dtk saat ini yang dapat diskalakan sistem 0.1*Tmax <= T <= Tmax, berdasarkan penggunaan
RU/dtk yang dapat ditagih minimum per jam 0.1 * Tmax

Penagihan dilakukan per jam, Anda ditagih berdasarkan RU/dtk tertinggi sistem yang diskalakan dalam satu jam, atau 0.1*Tmax, yang mana pun yang lebih tinggi.
RU/dtk maks skala otomatis minimum untuk kontainer MAX(1000, highest max RU/s ever provisioned / 10, current storage in GB * 100) dibulatkan ke 1000 RU/dtk terdekat
RU/dtk maksimum skala otomatis minimum untuk database MAX(1000, highest max RU/s ever provisioned / 10, current storage in GB * 100, 1000 + (MAX(Container count - 25, 0) * 1000)), dibulatkan ke 1000 RU/dtk terdekat.

Ingat jika database Anda memiliki lebih dari 25 kontainer, sistem akan meningkatkan RU/dtk maksimum autoscale minimum sebesar 1000 RU/dtk per kontainer tambahan. Misalnya, jika Anda memiliki 30 kontainer, RU/dtk maksimum skala otomatis terendah yang dapat Anda tetapkan adalah 6000 RU/dtk (menskalakan antara 600 - 6000 RU/dtk).

Batas kueri SQL

Azure Cosmos DB mendukung kueri item menggunakan SQL. Tabel berikut ini menjelaskan pembatasan dalam pernyataan kueri, misalnya dalam hal jumlah klausa atau panjang kueri.

Sumber daya Batas
Panjang maksimum kueri SQL 512 KB
JOIN maksimum per kueri 10 1
UDF maksimum per kueri 10 1
Titik maksimum per poligon 4096
Jalur maksimum yang disertakan secara eksplisit per kontainer 1500 1
Jalur maksimum yang dikecualikan secara eksplisit per kontainer 1500 1
Properti maksimum dalam indeks komposit 8

1 Anda dapat meningkatkan salah satu batas kueri SQL ini dengan membuat Permintaan Dukungan Azure.

API untuk batas khusus MongoDB

Azure Cosmos DB mendukung protokol kawat MongoDB untuk aplikasi yang ditulis terhadap MongoDB. Anda dapat menemukan perintah dan versi protokol yang didukung di Fitur dan sintaks MongoDB yang didukung.

Tabel berikut mencantumkan batasan khusus untuk dukungan fitur MongoDB. Batas layanan lain yang disebutkan untuk API untuk NoSQL juga berlaku untuk API untuk MongoDB.

Sumber daya Batas
Ukuran memori kueri MongoDB maksimum (Batasan ini hanya untuk versi server 3.2) 40 MB
Waktu eksekusi maksimum untuk operasi MongoDB (untuk versi server 3.2) 15 detik
Waktu eksekusi maksimum untuk operasi MongoDB (untuk versi server 3.6 dan 4.0) 60 detik
Tingkat maksimum bersarang untuk objek/array yang disematkan pada definisi indeks 6
Waktu koneksi diam habis pada penutupan koneksi sisi server 1 30 menit

1 Sebaiknya aplikasi klien mengatur waktu tunggu koneksi diam di pengaturan driver menjadi 2-3 menit karena batas waktu default untuk Azure LoadBalancer adalah 4 menit. Waktu habis ini akan memastikan bahwa koneksi menganggur tidak ditutup oleh penyeimbang muatan menengah antara komputer klien dan Azure Cosmos DB.

Coba batas Gratis Azure Cosmos DB

Tabel berikut mencantumkan batasan untuk uji coba Coba Azure Cosmos DB secara gratis.

Sumber daya Batas
Durasi percobaan 30 hari (uji coba baru dapat diminta setelah kedaluwarsa)
Setelah kedaluwarsa, informasi yang disimpan akan dihapus.
Kontainer maksimum per langganan (NoSQL, Gremlin, API untuk Tabel) 1
Kontainer maksimum per langganan (API untuk MongoDB) 3
Throughput maksimum per kontainer 5000
Throughput maksimum per database throughput bersama 20000
Total penyimpanan maksimum per akun 10 GB

Coba Azure Cosmos DB yang mendukung distribusi global hanya di wilayah AS Tengah, Eropa Utara, dan Asia Tenggara. Tiket dukungan Azure tidak dapat dibuat untuk akun Coba Azure Cosmos DB. Namun, dukungan diberikan untuk pelanggan dengan paket dukungan yang ada.

Batas untuk akun tingkat gratis Azure Cosmos DB

Tabel berikut mencantumkan batasan untuk akun tingkat gratis Azure Cosmos DB.

Sumber daya Batas
Jumlah akun tingkat gratis per langganan Azure 1
Durasi diskon tingkat gratis Masa pakai akun. Harus ikut serta selama pembuatan akun.
RU/dtk maksimum secara gratis 1000 RU/dtk
Penyimpanan maksimum secara gratis 25 GB
Jumlah maksimum database throughput bersama 5
Jumlah maksimum kontainer dalam database throughput bersama 25
Dalam akun tingkat gratis, RU/dtk minimum untuk database throughput bersama dengan hingga 25 kontainer adalah 400 RU/dtk.

Selain hal-hal di atas, Batas per-akun juga berlaku untuk akun tingkat gratis. Untuk mempelajari selengkapnya, lihat artikel cara mendapatkan akun tingkat gratis.

Langkah berikutnya

Baca selengkapnya tentang konsep inti Azure Cosmos DB distribusi global dan partisi serta throughput yang disediakan.

Mulai menggunakan Azure Cosmos DB dengan salah satu mulai cepat kami: