Aracılığıyla paylaş


Azure Cosmos DB'de sağlanan aktarım hızına giriş

Azure Cosmos DB, veritabanlarınızda ve kapsayıcılarınızda sağlanan aktarım hızını ayarlamanıza olanak tanır. Sağlanan aktarım hızının iki türü vardır: standart (el ile) ve otomatik ölçeklendirme. Bu makalede sağlanan aktarım hızının nasıl çalıştığına genel bir bakış sağlanır.

Azure Cosmos DB veritabanı, bir kapsayıcı kümesi için yönetim birimidir. Veritabanı şemadan bağımsız bir dizi kapsayıcıdan oluşur. Azure Cosmos DB kapsayıcısı hem aktarım hızı hem de depolama için ölçeklenebilirlik birimidir. Kapsayıcı, bir Azure bölgesindeki bir dizi makine arasında yatay olarak bölümlendirilir ve Azure Cosmos DB hesabınızla ilişkili tüm Azure bölgelerine dağıtılır.

Azure Cosmos DB ile iki ayrıntı düzeyinde aktarım hızı sağlayabilirsiniz:

  • Azure Cosmos DB kapsayıcıları
  • Azure Cosmos DB veritabanları

Kapsayıcıda aktarım hızını ayarlama

Azure Cosmos DB kapsayıcısı üzerinde sağlanan aktarım hızı yalnızca bu kapsayıcı için ayrılmıştır. Kapsayıcı, sağlanan aktarım hızını sürekli olarak alır. Kapsayıcıda sağlanan aktarım hızı, hizmet düzeyi sözleşmeleri (SLA) tarafından finansal olarak desteklenir. Kapsayıcıda standart (el ile) aktarım hızını yapılandırmayı öğrenmek için bkz . Kapsayıcıda standart (el ile) aktarım hızı sağlama. Kapsayıcıda otomatik ölçeklendirme aktarım hızını yapılandırmayı öğrenmek için bkz. Veritabanında veya kapsayıcıda otomatik ölçeklendirme aktarım hızı sağlama.

Kapsayıcıda sağlanan aktarım hızını ayarlamak en sık kullanılan seçenektir. İstek birimlerini (RU) kullanarak herhangi bir miktarda aktarım hızı sağlayarak kapsayıcı için aktarım hızını esnek bir şekilde ölçeklendikleyebilirsiniz.

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 olarak dağıtan iyi bir bölüm anahtarı varsayıldığında, aktarım hızı da kapsayıcının tüm mantıksal bölümlerine eşit olarak dağıtılır. Mantıksal bölümler için aktarım hızını seçmeli olarak belirtemezsiniz. Kapsayıcının bir veya daha fazla mantıksal bölümü fiziksel bir 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.

Eğer mantıksal bir bölümde çalışan iş yükü, temel alınan fiziksel bölüme ayrılan aktarım hızından daha fazla aktarım hızı tüketiyorsa, işlemleriniz hız sınırlamasına tabi olabilir. Bir mantıksal bölümün, diğer bölüm anahtar değerlerine göre orantısız şekilde daha fazla istek aldığında "sıcak bölüm" olarak bilinen durum oluşur.

Hız sınırlama gerçekleştiğinde, kapsayıcının tamamı için sağlanan aktarım hızını artırabilir veya işlemleri yeniden deneyebilirsiniz. Ayrıca depolamayı ve istek birimini eşit olarak dağıtan bir bölüm anahtarı seçtiğinizden de emin olmanız gerekir. Bölümleme hakkında daha fazla bilgi için bkz . Azure Cosmos DB'de bölümleme ve yatay ölçeklendirme.

Kapsayıcı için öngörülebilir performans istediğinizde kapsayıcı ayrıntı düzeyinde aktarım hızını yapılandırmanızı öneririz.

Aşağıdaki görüntüde fiziksel bölümün kapsayıcının bir veya daha fazla mantıksal bölümünü nasıl barındırıyor olduğu gösterilmektedir:

Kapsayıcının bir veya daha fazla mantıksal bölümünü barındıran fiziksel bölümü gösteren diyagram.

Veritabanında işlem kapasitesini ayarlama

Azure Cosmos DB 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) arasında paylaşılır. Veritabanındaki belirli kapsayıcılarda sağlanan bir aktarım hızını belirtirseniz bir istisna olur. Veritabanı düzeyinde sağlanan aktarım hızını kapsayıcıları arasında paylaşmak, bir veritabanını bir makine kümesinde barındırmaya benzer. Veritabanındaki tüm kapsayıcılar bir makinede bulunan kaynakları paylaştığından, doğal olarak belirli bir kapsayıcıda öngörülebilir performans elde edilmez. Bir veritabanında sağlanan aktarım hızını yapılandırmayı öğrenmek için bkz. Veritabanında standart (el ile) aktarım hızı sağlama. Veritabanında otomatik ölçeklendirme aktarım hızını yapılandırmayı öğrenmek için bkz. Veritabanı veya kapsayıcıda otomatik ölçeklendirme aktarım hızı sağlama.

Veritabanı içindeki tüm kapsayıcılar sağlanan aktarım hızını paylaştığından, Azure Cosmos DB bu veritabanındaki belirli bir kapsayıcı için öngörülebilir aktarım hızı garantisi sağlamaz. Belirli bir kapsayıcının alabileceği aktarım hızının bölümü aşağıdakilere bağlıdır:

  • Konteyner sayısı
  • Çeşitli kapsayıcılar için bölüm anahtarları seçimi
  • kapsayıcıların çeşitli mantıksal bölümleri arasında iş yükünün dağılımı

Aktarım hızını birden çok kapsayıcı arasında paylaşmak istediğinizde ancak aktarım hızını belirli bir kapsayıcıya ayırmak istemediğinizde veritabanında aktarım hızını yapılandırmanızı öneririz.

Aşağıdaki örneklerde, veritabanı düzeyinde aktarım hızı sağlamanın tercih edildiği yer gösterilmektedir:

  • Veritabanının sağlanan aktarım hızını bir dizi kapsayıcı arasında paylaşmak, çok kiracılı bir uygulama için kullanışlıdır. Her kullanıcı ayrı bir Azure Cosmos DB kapsayıcısı ile temsil edilebilir.

  • Bir vm kümesinde veya şirket içi fiziksel sunucularda barındırılan MongoDB veya Cassandra gibi bir NoSQL veritabanını Azure Cosmos DB'ye geçirirken veritabanının sağlanan aktarım hızını kapsayıcılar arasında paylaşmak yararlı olur. Azure Cosmos DB veritabanınızda yapılandırılan sağlanan aktarım hızını, MongoDB veya Cassandra kümenizin işlem kapasitesine göre daha uygun maliyetli ve esnek bir mantıksal eşdeğer olarak düşünün.

Sağlanan aktarım hızına sahip bir veritabanında oluşturulan tüm kapsayıcılar bir bölüm anahtarıyla oluşturulmalıdır. Belirli bir zamanda, veritabanında yapılandırılan aktarım hızı, bu veritabanındaki tüm kapsayıcılar tarafından paylaşılır. Bir veritabanında yapılandırılmış sağlanan aktarım hızını paylaşan kapsayıcılarınız varsa, aktarım hızını belirli bir kapsayıcıya veya mantıksal bölüme seçmeli olarak uygulayamazsınız.

Bir veya daha fazla mantıksal bölümdeki iş yükü, temel alınan fiziksel bölümün ayrılmış aktarım hızını topluca aşıyorsa, işlemleriniz hız sınırlıdır. Hız sınırlama gerçekleştiğinde, veritabanının tamamı için aktarım hızını artırabilir veya işlemleri yeniden deneyebilirsiniz. Bölümleme hakkında daha fazla bilgi için bkz . Bölümleme.

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ıyla, veritabanında en az 400 RU/sn'ye sahip en fazla 25 kapsayıcınız olabilir. Otomatik ölçeklendirme sağlayan aktarım hızıyla, veritabanında minimum 1000 RU/sn (100 - 1000 RU/sn arasında ölçeklendirilir) olan otomatik ölçeklendirmeye sahip en fazla 25 kapsayıcınız olabilir.

Not

Şubat 2020'de, kapsayıcılar arasında işleme birimi paylaşımına daha fazla olanak tanıyacak şekilde paylaşılan işleme birimi veritabanında en fazla 25 kapsayıcınızın olmasına izin veren bir değişiklik yaptık. İlk 25 kapsayıcıdan sonra, yalnızca ayrılmış aktarım hızıyla ve veritabanının paylaşılan aktarım hızından bağımsız biçimde sağlandıklarında veritabanına daha fazla kapsayıcı ekleyebilirsiniz.
Azure Cosmos DB hesabınız =25 kapsayıcı içeren >paylaşılan bir aktarım hızı veritabanı içeriyorsa, hesap ve aynı Azure aboneliğindeki diğer tüm hesaplar bu değişiklikten muaf tutulur. Geri bildiriminiz veya sorularınız varsa ürün desteğine başvurun.

İş yükleriniz veritabanındaki tüm koleksiyonları silmeyi ve yeniden oluşturmayı içeriyorsa, koleksiyon oluşturmadan önce boş veritabanını bırakmanız ve yeni bir veritabanı oluşturmanız önerilir. Aşağıdaki görüntüde, fiziksel bir bölümün bir veritabanındaki farklı kapsayıcılara ait bir veya daha fazla mantıksal bölümü nasıl barındırabileceği gösterilmektedir:

Farklı kapsayıcılara ait bir veya daha fazla mantıksal bölümü barındıran fiziksel bölümün diyagramı.

Veritabanında ve kapsayıcıda aktarım hızını ayarlama

İki modeli birleştirebilirsiniz. Hem veritabanında hem de kapsayıcıda aktarım hızı sağlamaya izin verilir. Aşağıdaki örnekte, Azure Cosmos DB veritabanında ve kapsayıcıda standart (el ile) sağlanan aktarım hızının nasıl sağlandığı gösterilmektedir:

  • Standart (el ile) sağlanan "K" RU aktarım hızına sahip Z adlı bir Azure Cosmos DB veritabanı oluşturabilirsiniz.

  • Ardından, veritabanında A, B, C, D ve E adlı beş kapsayıcı oluşturun. Kapsayıcı B oluştururken, Bu kapsayıcı seçeneği için ayrılmış aktarım hızı sağla seçeneğini etkinleştirdiğinizden ve bu kapsayıcıda sağlanan aktarım hızının "P" RU'larını açıkça yapılandırdığınızdan emin olun. Paylaşılan ve ayrılmış aktarım hızını yalnızca veritabanı ve kapsayıcı oluştururken yapılandırabilirsiniz.

    Aktarım hızını kapsayıcı düzeyinde ayarlamak için Kapsayıcı ekle iletişim kutusunun ekran görüntüsü.

  • "K" RU/saniye aktarım hızı, dört kapsayıcı A, C, D ve E arasında paylaşılır. A, C, D veya E için mevcut olan aktarım hızı miktarı değişiklik gösterir. Her kapsayıcının aktarım hızı için SLA yoktur.

  • B adlı kapsayıcının her zaman "P" RU/sn aktarım hızını alması garanti edilir. SLA'lar tarafından desteklenmektedir.

Not

Sağlanan aktarım hızına sahip bir kapsayıcı paylaşılan veritabanı kapsayıcısına dönüştürülemez. Buna karşılık, paylaşılan veritabanı kapsayıcısı ayrılmış aktarım hızına sahip olacak şekilde dönüştürülemez. Verileri istenen aktarım hızı ayarına sahip bir kapsayıcıya taşımanız gerekir. NoSQL, MongoDB ve Cassandra API'leri için kapsayıcı kopyalama işleri bu işlemde yardımcı olur.

Veritabanında veya kapsayıcıda aktarım hızını güncelleştirme

Azure Cosmos DB kapsayıcısı veya veritabanı oluşturduktan sonra sağlanan aktarım hızını güncelleştirebilirsiniz. Veritabanında veya kapsayıcıda yapılandırabileceğiniz sağlanan aktarım hızı üst sınırı yoktur.

Sağlanan mevcut aktarım hızı

Azure portalında veya SDK'ları kullanarak bir kapsayıcının veya veritabanının sağlanan aktarım hızını alabilirsiniz:

Bu yöntemlerin yanıtı, kapsayıcı veya veritabanı için sağlanan en düşük aktarım hızını da içerir:

Gerçek minimum RU/sn, hesap yapılandırmanıza bağlı olarak değişebilir. Daha fazla bilgi için bkz . Otomatik ölçeklendirme hakkında SSS.

Sağlanan aktarım hızını değiştirme

Azure portalı aracılığıyla veya SDK'ları kullanarak bir kapsayıcının veya veritabanının sağlanan aktarım hızını ölçeklendikleyebilirsiniz:

Sağlanan aktarım hızını azaltıyorsanız, bunu en düşük değere kadar yapabilirsiniz.

Sağlanan aktarım hızını artırıyorsanız, çoğu zaman işlem anlık olarak gerçekleşir. Ancak, sistem görevlerinin gerekli kaynakları sağlaması nedeniyle işlemin daha uzun sürebileceği durumlar vardır. 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şleminin devam ettiğini açıklayan bir hata iletisiyle birlikte bir HTTP 423 yanıtı verir.

Sağlanan aktarım hızını (RU/sn) ölçeklendirmeye yönelik en iyi yöntemler hakkında daha fazla bilgi edinin.

Not

Çok büyük bir veri alım iş yükü planlıyorsanız ve bu iş yükü, sağlanan aktarım hızında büyük bir artış gerektiriyorsa, ölçeklendirme işleminin Hizmet Düzeyi Anlaşması (SLA) olmadığını ve artış büyükse, önceki paragrafta belirtildiği gibi, uzun sürebileceğini unutmayın. İş yükü başlamadan önce planlama yapmak ve ölçeklendirmeyi başlatmak ve ilerleme durumunu denetlemek için aşağıdaki yöntemleri kullanmak isteyebilirsiniz.

Program aracılığıyla, sağlanan geçerli aktarım hızını okuyarak ve kullanarak ölçeklendirme ilerleme durumunu kontrol edebilirsiniz.

Kaynakta sağlanan aktarım hızı (RU/sn) ve depolama geçmişini görüntülemek için Azure İzleyici ölçümlerini kullanabilirsiniz.

Modellerin karşılaştırması

Bu tabloda, veritabanında standart (el ile) aktarım hızı sağlama ile kapsayıcıdaki aktarım hızı karşılaştırması gösterilmektedir.

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ıda aktarım hızını otomatik ölçeklendirme
Giriş noktası (en az RU/sn) 400 RU/sn. Konteyner başına RU/sn gereksinimi olmadan en fazla 25 konteyner olabilir. 400 100 - 1000 RU/sn arasında otomatik ölçeklendirme. Kapsayıcı başına minimum RU/sn gereksinimi olmayan 25 kapsayıcıya kadar sahip olabilir. 100 - 1000 RU/sn arasında otomatik ölçeklendirme.
Kapsayıcı başına en az RU/sn -- 400 -- 100 - 1000 RU/sn arasında otomatik ölçeklendirme
En fazla RU sayısı Sınırsız, veritabanında. Sınırsız, konteynerda. Sınırsız, veritabanında. Sınırsız, konteynerde.
Belirli bir kapsayıcıya atanan veya mevcut olan RU'lar Garanti yok. Belirli bir kapsayıcıya atanan RU'lar özelliklere bağlıdır. Özellikler, belirli bir aktarım hızını paylaşan kapsayıcılar için bölüm anahtarlarının seçimi, iş yükünün dağıtımı ve kapsayıcı sayısı olabilir. Kapsayıcıda yapılandırılan tüm RU'lar yalnızca kapsayıcı için ayrılmıştır. Garanti yok. Belirli bir kapsayıcıya atanan RU'lar özelliklere bağlıdır. Özellikler, aktarım hızını paylaşan kapsayıcıların bölüm anahtarlarının seçimi, iş yükünün dağılımı ve kapsayıcı sayısı olabilir. Konteynerde yapılandırılan tüm RU'lar yalnızca konteyner için ayrılmıştır.
Kapsayıcı için maksimum depolama alanı Sınırsız Sınırsız Sınırsız Sınırsız
Kapsayıcıda mantıksal bölme başına maksimum aktarım hızı 10K RU/sn 10K RU/sn 10K RU/sn 10K 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

Not

Bölüm anahtarlarınız 20 GB'ı aşabiliyorsa, hiyerarşik bölüm anahtarları kullanmak yardımcı olabilir. Bu özelliği kullanırsanız, veri dağıtımını daha iyi hale getirmek ve daha yüksek düzeyde ölçeklendirme için bölüm anahtarlarınız için en fazla üç düzeyli bir hiyerarşi yapılandırabilirsiniz. Bkz. hiyerarşik bölüm anahtarlarına genel bakış.

Sonraki adımlar