Azure Cosmos DB sağlanan üretilen iş hızına giriş
Uygulama hedefı:
MongoDB için SQL API Cassandra API gremlin API
tablo API'si
Azure Cosmos DB API 'si
Azure Cosmos DB, veritabanlarınızda ve kapsayıcılarınızda sağlanan aktarım hızını ayarlamanıza olanak sağlar. İki tür sağlanan aktarım hızı, standart (el ile) veya otomatik ölçeklendirme. Bu makale, sağlanan iş üretiminin nasıl çalıştığına ilişkin bir genel bakış sunar.
Azure Cosmos veritabanı bir dizi kapsayıcı için yönetim birimidir. Veritabanı şemadan bağımsız bir dizi kapsayıcıdan oluşur. Azure Cosmos kapsayıcısı hem aktarım hızı hem de depolama alanı için ölçeklenebilirlik birimidir. Bir kapsayıcı Azure bölgesinin içindeki bir dizi makine arasında dikey olarak bölümlenir ve Azure Cosmos hesabınızla ilişkilendirilmiş tüm Azure bölgelerine dağıtılır.
Azure Cosmos DB, aktarım hızını iki ayrı şekilde sağlayabilirsiniz:
- Azure Cosmos kapsayıcıları
- Azure Cosmos veritabanları
Bir kapsayıcıda üretilen işi ayarlama
Azure Cosmos kapsayıcısı üzerinde sağlanan aktarım hızı bu kapsayıcı için özel olarak ayrılmıştır. Kapsayıcı, sağlanan aktarım hızını her zaman alır. Bir kapsayıcıda sağlanan aktarım hızı SLA 'Lar tarafından mali olarak desteklenir. bir kapsayıcıda standart (el ile) üretilen iş üretimini yapılandırma hakkında bilgi edinmek için bkz. Azure Cosmos kapsayıcısında işleme sağlama. Bir kapsayıcıda otomatik ölçeklendirme verimini yapılandırma hakkında bilgi edinmek için bkz. Otomatik ölçeklendirme Işleme sağlama.
Bir kapsayıcıda sağlanan aktarım hızını ayarlamak en sık kullanılan seçenektir. Istek birimleri (ru)kullanarak herhangi bir miktarda aktarım hızı sağlayarak bir kapsayıcı için ölçek işleme esnek sağlayabilirsiniz.
Bir kapsayıcı için sağlanan aktarım hızı, fiziksel bölümleri arasında eşit olarak dağıtılır ve mantıksal bölümleri fiziksel bölümler arasında eşit bir şekilde dağıtan iyi bir bölüm anahtarı varsayıldığında, verimlilik aynı zamanda kapsayıcının tüm mantıksal bölümlerinde eşit olarak dağıtılır. Mantıksal bölümler için üretilen işi seçmeli olarak belirtemezsiniz. Bir kapsayıcının bir veya daha fazla mantıksal bölümü fiziksel bölüm tarafından barındırıldığından, fiziksel bölümler yalnızca kapsayıcıya aittir ve kapsayıcıda sağlanan aktarım hızını destekler.
Bir mantıksal bölümde çalışan iş yükü, temeldeki fiziksel bölüme ayrılan aktarım hızına kıyasla daha fazla tüketir, işlemlerinizin hız sınırlı olması mümkündür. Bir mantıksal bölüm, diğer bölüm anahtarı değerlerinden daha fazla istek talep ediyorsa, etkin bölüm olarak bilinen özellikler oluşur.
Oran sınırlaması gerçekleştiğinde, tüm kapsayıcı için sağlanan aktarım hızını artırabilir ya da işlemleri yeniden deneyebilirsiniz. Ayrıca, depolama ve istek birimini eşit bir şekilde dağıtan bir bölüm anahtarı seçtiğinizden emin olmanız gerekir. bölümlendirme hakkında daha fazla bilgi için, bkz. Azure Cosmos DB bölümlendirme ve yatay ölçeklendirme.
Kapsayıcı için tahmin edilebilir performans istediğinizde, kapsayıcı ayrıntı düzeyinde aktarım hızı yapılandırmanızı öneririz.
Aşağıdaki görüntüde bir fiziksel bölümün bir kapsayıcının bir veya daha fazla mantıksal bölümünü nasıl barındırdığı gösterilmektedir:
Veritabanında işleme birimini ayarlama
Azure Cosmos veritabanında aktarım hızı sağladığınızda, aktarım hızı veritabanındaki tüm kapsayıcılar (paylaşılan veritabanı kapsayıcıları olarak adlandırılır) içinde paylaşılır. Tek istisna, veritabanındaki belirli kapsayıcılarda sağlanan bir aktarım hızı belirttiğinizde gerçekleşir. Veritabanı düzeyinde sağlanan aktarım hızını kapsayıcı genelinde paylaşmak, bir makine kümesinde bir veritabanını barındırmakla benzerdir. Bir veritabanı içindeki tüm kapsayıcılar bir makinede kullanılabilir kaynakları paylaştığından, doğal olarak herhangi bir kapsayıcı üzerinde öngörülebilir bir performans almaz. bir veritabanında sağlanan üretilen işi yapılandırma hakkında bilgi edinmek için bkz. Azure Cosmos veritabanında sağlanan üretilen işi yapılandırma. Bir veritabanında otomatik ölçeklendirme verimini yapılandırma hakkında bilgi edinmek için bkz. Otomatik ölçeklendirme Işleme sağlama.
veritabanı içindeki tüm kapsayıcılar sağlanan üretilen işi paylaştığından, Azure Cosmos DB söz konusu veritabanındaki belirli bir kapsayıcı için öngörülebilir bir işlem garantisi sağlamaz. Belirli bir kapsayıcının alabileceği aktarım hızı bölümü şu şekilde değişir:
- Kapsayıcı sayısı.
- Çeşitli kapsayıcılar için bölüm anahtarlarının seçimi.
- Kapsayıcının çeşitli mantıksal bölümlerinin tamamında iş yükünün dağılımı.
Aktarım hızını birden çok kapsayıcı genelinde paylaşmak istediğinizde, ancak belirli bir kapsayıcıya üretilen işi ayırmak istemediğinizde bir veritabanında üretilen işi yapılandırmanızı öneririz.
Aşağıdaki örneklerde veritabanı düzeyinde üretilen işi sağlamak için nereye tercih edildiği gösterilmektedir:
Bir kapsayıcı kümesi genelinde veritabanının sağlanan verimini paylaşmak çok kiracılı bir uygulama için yararlıdır. her kullanıcı farklı bir Azure Cosmos kapsayıcısı ile temsil edilebilir.
bir sanal makine kümesinde veya şirket içi fiziksel sunuculardan Azure Cosmos DB için barındırılan mongodb veya cassandra gibi bir nosql veritabanını geçirdiğinizde, bir kapsayıcı kümesi genelinde bir veritabanının sağlanan aktarım hızını paylaşmanız yararlı olur. Azure Cosmos veritabanınızda yapılandırılan üretilen iş verimini, mongodb veya cassandra kümenizin işlem kapasitesinden daha fazla maliyetli, daha düşük maliyetli ve esnek olarak düşünün.
Sağlanan aktarım hızı ile bir veritabanı içinde oluşturulan tüm kapsayıcılar bir bölüm anahtarıylaoluşturulmalıdır. Belirli bir zamanda, bir veritabanı içindeki bir kapsayıcıya ayrılan üretilen iş, o kapsayıcının tüm mantıksal bölümlerine dağıtılır. Bir veritabanında yapılandırılmış sağlanan aktarım hızını paylaşan kapsayıcılara sahipseniz, üretilen işi belirli bir kapsayıcıya veya mantıksal bölüme seçmeli olarak uygulayamazsınız.
Mantıksal bir bölümdeki iş yükü, belirli bir mantıksal bölüme ayrılan aktarım hızına göre daha fazla tüketir, işlemlerinizin hızı sınırlıdır. Oran sınırlaması gerçekleştiğinde, veritabanının tamamı için üretilen işi artırabilir veya işlemleri yeniden deneyebilirsiniz. Bölümlendirme hakkında daha fazla bilgi için bkz. mantıksal bölümler.
Paylaşılan aktarım hızı veritabanındaki kapsayıcılar, söz konusu veritabanına ayrılmış olan aktarım hızını (RU/sn) paylaşır. Standart (el ile) sağlanan aktarım hızı sayesinde, veritabanında en az 400 RU/sn olan en fazla 25 kapsayıcı olabilir. Otomatik ölçeklendirme sağlanan aktarım hızı sayesinde, bir veritabanında en fazla %4000 RU/sn (400-4000 RU/sn arasında ölçekleme) ile en fazla 25 kapsayıcı olabilir.
Not
2020 Şubat 'de, paylaşılan bir üretilen iş veritabanında en fazla 25 kapsayıcı kullanmanıza izin veren bir değişiklik geliştirdik ve bu değişiklikler, kapsayıcılar arasında üretilen iş aktarımını daha iyi bir şekilde olanaklı hale getirmiştir. İlk 25 kapsayıcıdan sonra veritabanına daha fazla kapsayıcı ekleyebilirsiniz ve bu, veritabanının paylaşılan iş verimini birbirinden ayrı olan ayrılmış aktarım hızı ile sağlanırlar.
Azure Cosmos DB hesabınızda zaten >=25 kapsayıcısı olan bir paylaşılan işleme birimi veritabanı varsa, bu hesap ve aynı abonelikteki diğer hesaplar bu değişiklikten muaf tutulur. Geri bildirim veya sorularınız varsa lütfen ürün desteğine başvurun .
İş yükleriniz bir veritabanındaki tüm koleksiyonları silmeyi ve yeniden oluşturmayı içeriyorsa, boş veritabanını bırakıp koleksiyon oluşturmadan önce yeni bir veritabanı oluşturmanız önerilir. Aşağıdaki görüntüde bir fiziksel bölümün, bir veritabanı içindeki farklı kapsayıcılara ait bir veya daha fazla mantıksal bölümü nasıl barındıragösterdiği gösterilmektedir:
Bir veritabanında ve kapsayıcıda üretilen işi ayarlama
İki modeli birleştirebilirsiniz. Hem veritabanında hem de kapsayıcıda sağlama aktarımına izin verilir. aşağıdaki örnek, bir Azure Cosmos veritabanında ve bir kapsayıcıda standart (el ile) sağlanan aktarım hızını sağlamayı gösterir:
"K" ru 'nin sağlanan standart (el ile) üretilen iş hızına sahip Z adlı bir Azure Cosmos veritabanı oluşturabilirsiniz.
Sonra, veritabanı içinde A, B, C, D ve E adlı beş kapsayıcı oluşturun. B kapsayıcısını oluştururken, Bu kapsayıcı seçeneği için adanmış üretilen iş üretimini sağlamayı etkinleştirdiğinizden emin olun ve bu kapsayıcıda "P" ru sağlanan aktarım hızını açık olarak yapılandırın. Yalnızca veritabanı ve kapsayıcı oluştururken paylaşılan ve ayrılmış aktarım hızını yapılandırabilirsiniz.
"K" Rus verimlilik, A, C, D ve E dört kapsayıcı genelinde paylaşılır. Bir, C, D veya E için kullanılabilir aktarım hızı miktarı farklılık gösterir. Her bir kapsayıcının verimlilik için SLA 'lar yoktur.
B adlı kapsayıcı, "P" ru aktarım hızını her zaman almak için garanti edilir. SLA 'Lar tarafından desteklenir.
Not
Sağlanan aktarım hızı olan bir kapsayıcı, paylaşılan veritabanı kapsayıcısına dönüştürülemez. Bunun tersine, paylaşılan bir veritabanı kapsayıcısının ayrılmış bir işleme sahip olacak şekilde dönüştürülemez.
Bir veritabanında veya kapsayıcıda üretilen işi güncelleştirme
Azure Cosmos kapsayıcısını veya veritabanını oluşturduktan sonra, sağlanan aktarım hızını güncelleştirebilirsiniz. Veritabanı veya kapsayıcıda yapılandırabileceğiniz en fazla sağlanan aktarım hızı için bir sınır yoktur.
Geçerli sağlanan aktarım hızı
Azure portal bir kapsayıcının veya veritabanının sağlanan verimini veya SDK 'Ları kullanarak elde edebilirsiniz:
- .NET SDK üzerinde Container. ReadThroughputAsync .
- Cosmoscontainer. Readüretilen Iş Java SDK 'sı.
Bu yöntemlerin yanıtı, kapsayıcı veya veritabanı için sağlanan en düşük üretilen işi de içerir:
- .NET SDK 'da Throughputresponse. Minüretilen iş .
- , Java SDK 'sında Throughputresponse. Getminüretilen iş .
Gerçek minimum RU/sn, hesap yapılandırmanıza bağlı olarak değişiklik gösterebilir. Ancak genellikle maksimum değer:
- 400 RU/sn
- GB * 10 RU/sn cinsinden geçerli depolama (Bu kısıtlama bazı durumlarda gevşek olabilir, bkz. yüksek depolama/düşük aktarım hızı programı)
- Veritabanı veya kapsayıcı/100 üzerinde şimdiye kadar sağlanan en yüksek RU/sn
Sağlanan aktarım hızını değiştirme
Azure portal veya SDK 'Ları kullanarak bir kapsayıcının veya veritabanının sağlanan verimini ölçeklendirebilirsiniz:
- .NET SDK üzerinde Container. ReplaceThroughputAsync .
- Java SDK 'sında Cosmoscontainer. Replaceverimini .
Sağlanan aktarım hızını azaltıyorsanız, bunu en düşük düzeyine kadar tamamlayabileceksiniz.
Sağlanan aktarım hızını artırıyorsanız, çoğu zaman işlem anlık olur. Ancak, sistem görevlerinin gerekli kaynakları sağlaması nedeniyle işlem daha uzun sürebilir. Bu durumda, bu işlem devam ederken sağlanan aktarım hızını değiştirme girişimi, başka bir ölçeklendirme işlemi devam ediyor iletisinin hata iletisiyle birlikte HTTP 423 yanıtı verir.
Sağlanan aktarım hızını ölçeklendirmeye yönelik en iyi yöntemler (RU/sn) makalesinde daha fazla bilgi edinebilirsiniz.
Not
Sağlanan aktarım hızında büyük bir artış gerektirecek çok büyük bir alma iş yükü planlıyorsanız, ölçeklendirme işlemi SLA'ya sahip değil ve önceki paragrafta belirtildiği gibi, artışın büyük olduğu zaman çok uzun zaman alsa da bu işlem uzun zaman alır. İş yükü başlamadan önce ölçeklendirmeyi önceden planlamak ve başlatmak ve ilerlemeyi kontrol etmek için aşağıdaki yöntemleri kullanmak iyi olabilir.
Sağlanan geçerli aktarım hızını okuyarak ve kullanarak program aracılığıyla ölçeklendirme ilerlemesini kontrol edin:
- .NET SDK üzerinde ThroughputResponse.IsReplacePending.
- Java SDK'sı üzerinde ThroughputResponse.isReplacePending() .
Bir kaynakta sağlanan Azure İzleyici (RU/sn) ve depolama geçmişini görüntülemek için verim ölçümlerini kullanabilirsiniz.
Yüksek depolama/düşük aktarım hızı programı
Yukarıdaki Geçerli sağlanan aktarım hızı bölümünde açıklandığı gibi, bir kapsayıcıda veya veritabanında sağ yalnızca birkaç faktöre bağlıdır. Bunlardan biri, Azure Cosmos DB depolama alanı başına en az 10 RU/sn aktarım hızı uygulayan şu anda depolanan veri miktarıdır.
Bu durum, büyük miktarlarda veri depolamaya ihtiyacınız olduğu ancak buna karşılık düşük aktarım hızı gereksinimlerine sahip olduğu durumlarda sorun olabilir. Bu senaryolara daha iyi uyum elde etmek için Azure Cosmos DB uygun hesaplarda GB başına RU/sn kısıtlamasını azaltan bir "yüksek depolama / düşük aktarım hızı" programı yayınladı.
Bu programa katılmak ve tüm uygunluk durumunuzu değerlendirmek için tek gereken bu anketi doldurmaktır. Ardından Azure Cosmos DB ekibi bu adımları takip edecek ve ekleme işlemine devam edecek.
Modellerin karşılaştırması
Bu tabloda, bir veritabanında standart (el ile) aktarım hızı sağlama ile kapsayıcı üzerinde sağlama karşılaştırması yer alır.
| Parametre | Veritabanında standart (el ile) aktarım hızı | Kapsayıcıda standart (el ile) aktarım hızı | Veritabanında aktarım hızını otomatik ölçeklendirme | Kapsayıcıdaki aktarım hızını otomatik ölçeklendirme |
|---|---|---|---|---|
| Giriş noktası (minimum RU/sn) | 400 RU/sn. Kapsayıcı başına en az RU/sn ile en fazla 25 kapsayıcıya sahip olabilir. | 400 | 400 ile 4000 RU/sn arasında otomatik ölçeklendirme. Kapsayıcı başına en az RU/sn ile en fazla 25 kapsayıcıya sahip olabilir. | 400 ile 4000 RU/sn arasında otomatik ölçeklendirme. |
| Kapsayıcı başına en düşük RU/sn | -- | 400 | -- | 400 ile 4000 RU/sn arasında otomatik ölçeklendirme |
| En fazla RU sayısı | Veritabanında Sınırsız. | Kapsayıcı üzerinde Sınırsız. | Veritabanında Sınırsız. | Kapsayıcı üzerinde Sınırsız. |
| Belirli bir kapsayıcıya atanan veya kullanılabilen RU'lar | Garanti yoktur. Belirli bir kapsayıcıya atanan RU'lar özelliklere bağlıdır. Özellikler aktarım hızını, iş yükünün dağılımını ve kapsayıcı sayısını paylaşan kapsayıcıların bölüm anahtarlarının seçimi olabilir. | Kapsayıcıda yapılandırılan tüm RU'lar yalnızca kapsayıcı için ayrılmıştır. | Garanti yoktur. Belirli bir kapsayıcıya atanan RU'lar özelliklere bağlıdır. Özellikler aktarım hızını, iş yükünün dağılımını ve kapsayıcı sayısını paylaşan kapsayıcıların bölüm anahtarlarının seçimi olabilir. | Kapsayıcıda yapılandırılan tüm RU'lar yalnızca kapsayıcı için ayrılmıştır. |
| Kapsayıcı için en fazla depolama alanı | Sınırsız. | Sınırsız | Sınırsız | Sınırsız |
| Kapsayıcının mantıksal bölümü başına en yüksek aktarım hızı | 10.000 RU/sn | 10.000 RU/sn | 10.000 RU/sn | 10.000 RU/sn |
| Kapsayıcının mantıksal bölümü başına en fazla depolama alanı (veri + dizin) | 20 GB | 20 GB | 20 GB | 20 GB |
Sonraki adımlar
- Mantıksal bölümler hakkında daha fazla bilgi.
- Azure Cosmos kapsayıcısı üzerinde standart (el ile) sağlamayı öğrenin.
- Azure veritabanı üzerinde standart (el ile) aktarım Cosmos öğrenin.
- Azure veritabanı veya kapsayıcısı üzerinde otomatik ölçeklendirme Cosmos sağlamayı öğrenin.
- Azure Cosmos DB'ye geçiş için kapasite planlaması yapmaya mı çalışıyorsunuz? Kapasite planlaması için mevcut veritabanı kümeniz hakkında bilgi kullanabilirsiniz.
- Mevcut veritabanı kümenizin sanal çekirdek ve sunucu sayısı hakkında tek bilginiz varsa, sanal çekirdek veya vCPUS kullanarak istek birimlerini tahmin hakkında bilgi edinebilirsiniz
- Geçerli veritabanı iş yükünüz için tipik istek oranlarını biliyorsanız Azure Cosmos DB kapasite planlayıcısı kullanarak istek birimlerini tahmin hakkında bilgi edinin