Azure Cosmos DB'deki veritabanı veya kapsayıcıda otomatik ölçeklendirme aktarım hızı sağlama - NoSQL için API
UYGULANANLAR: NoSQL
Bu makalede, NoSQL için Azure Cosmos DB'de bir veritabanı veya kapsayıcıda (koleksiyon, grafik veya tablo) otomatik ölçeklendirme aktarım hızının nasıl sağladığı açıklanmaktadır. Tek bir kapsayıcıda otomatik ölçeklendirmeyi etkinleştirebilir veya veritabanında otomatik ölçeklendirme aktarım hızı sağlayabilir ve bunu veritabanındaki tüm kapsayıcılar arasında paylaşabilirsiniz.
Farklı bir API kullanıyorsanız işleme hızını sağlamak için mongoDB API'si, Cassandra API'si, Gremlin için API makalelerine bakın.
Azure portal
Otomatik ölçeklendirme ile yeni veritabanı veya kapsayıcı oluşturma
Azure portalında veya Azure Cosmos DB gezgininde oturum açın.
Azure Cosmos DB hesabınıza gidin ve Veri Gezgini sekmesini açın.
Yeni Kapsayıcı'ya tıklayın . Veritabanınız, kapsayıcınız ve bölüm anahtarınız için bir ad girin. Veritabanı veya kapsayıcı aktarım hızı altında Otomatik Ölçeklendirme seçeneğini belirleyin ve veritabanının veya kapsayıcının ölçeklendirilmesini istediğiniz en yüksek aktarım hızını (RU/sn) ayarlayın.
Tamam'ı seçin.
Paylaşılan aktarım hızı veritabanında otomatik ölçeklendirme sağlamak için yeni veritabanı oluştururken Veritabanı aktarım hızı sağla seçeneğini belirleyin.
Mevcut veritabanı veya kapsayıcıda otomatik ölçeklendirmeyi etkinleştirme
Azure portalında veya Azure Cosmos DB gezgininde oturum açın.
Azure Cosmos DB hesabınıza gidin ve Veri Gezgini sekmesini açın.
Kapsayıcınız için Ölçek ve Ayarlar'ı veya veritabanınız için Ölçeklendir'i seçin.
Ölçek'in altında Otomatik Ölçeklendirme seçeneğini ve Kaydet'i seçin.
Not
Mevcut bir veritabanı veya kapsayıcıda otomatik ölçeklendirmeyi etkinleştirdiğinizde, geçerli el ile sağlanan aktarım hızı ayarlarınıza ve depolama alanınıza bağlı olarak maksimum RU/sn için başlangıç değeri sistem tarafından belirlenir. İşlem tamamlandıktan sonra gerekirse maksimum RU/sn'yi değiştirebilirsiniz. Daha fazla bilgi edinin.
Azure Cosmos DB .NET V3 SDK
Otomatik ölçeklendirme kaynaklarını yönetmek için NoSQL için API için Azure Cosmos DB .NET SDK'sının 3.9 veya sonraki bir sürümünü kullanın.
Önemli
Yeni otomatik ölçeklendirme kaynakları oluşturmak için .NET SDK'sını kullanabilirsiniz. SDK, otomatik ölçeklendirme ile standart (el ile) aktarım hızı arasında geçişi desteklemez. Geçiş senaryosu şu anda yalnızca Azure portalında, CLI'da ve PowerShell'de desteklenmektedir.
Paylaşılan aktarım hızıyla veritabanı oluşturma
// Create instance of CosmosClient
CosmosClient cosmosClient = new CosmosClient(Endpoint, PrimaryKey);
// Autoscale throughput settings
ThroughputProperties autoscaleThroughputProperties = ThroughputProperties.CreateAutoscaleThroughput(1000); //Set autoscale max RU/s
//Create the database with autoscale enabled
database = await cosmosClient.CreateDatabaseAsync(DatabaseName, throughputProperties: autoscaleThroughputProperties);
Ayrılmış aktarım hızına sahip kapsayıcı oluşturma
// Get reference to database that container will be created in
Database database = await cosmosClient.GetDatabase("DatabaseName");
// Container and autoscale throughput settings
ContainerProperties autoscaleContainerProperties = new ContainerProperties("ContainerName", "/partitionKey");
ThroughputProperties autoscaleThroughputProperties = ThroughputProperties.CreateAutoscaleThroughput(1000); //Set autoscale max RU/s
// Create the container with autoscale enabled
container = await database.CreateContainerAsync(autoscaleContainerProperties, autoscaleThroughputProperties);
Geçerli aktarım hızını (RU/sn) okuma
// Get a reference to the resource
Container container = cosmosClient.GetDatabase("DatabaseName").GetContainer("ContainerName");
// Read the throughput on a resource
ThroughputProperties autoscaleContainerThroughput = await container.ReadThroughputAsync(requestOptions: null);
// The autoscale max throughput (RU/s) of the resource
int? autoscaleMaxThroughput = autoscaleContainerThroughput.AutoscaleMaxThroughput;
// The throughput (RU/s) the resource is currently scaled to
int? currentThroughput = autoscaleContainerThroughput.Throughput;
Otomatik ölçeklendirme maksimum aktarım hızını (RU/sn) değiştirme
// Change the autoscale max throughput (RU/s)
await container.ReplaceThroughputAsync(ThroughputProperties.CreateAutoscaleThroughput(newAutoscaleMaxThroughput));
Azure Cosmos DB Java V4 SDK
Otomatik ölçeklendirme kaynaklarını yönetmek için NoSQL için API için Azure Cosmos DB Java SDK'sının 4.0 veya üzeri bir sürümünü kullanabilirsiniz.
Önemli
Java SDK'sını kullanarak yeni otomatik ölçeklendirme kaynakları oluşturabilirsiniz. SDK, otomatik ölçeklendirme ile standart (el ile) aktarım hızı arasında geçişi desteklemez. Geçiş senaryosu şu anda yalnızca Azure portalında, CLI'da ve PowerShell'de desteklenmektedir.
Paylaşılan aktarım hızıyla veritabanı oluşturma
// Create instance of CosmosClient
CosmosAsyncClient client = new CosmosClientBuilder()
.setEndpoint(HOST)
.setKey(PRIMARYKEY)
.setConnectionPolicy(CONNECTIONPOLICY)
.buildAsyncClient();
// Autoscale throughput settings
ThroughputProperties autoscaleThroughputProperties = ThroughputProperties.createAutoscaledThroughput(1000); //Set autoscale max RU/s
//Create the database with autoscale enabled
CosmosAsyncDatabase database = client.createDatabase(databaseName, autoscaleThroughputProperties).block().getDatabase();
Ayrılmış aktarım hızına sahip kapsayıcı oluşturma
// Get reference to database that container will be created in
CosmosAsyncDatabase database = client.createDatabase("DatabaseName").block().getDatabase();
// Container and autoscale throughput settings
CosmosContainerProperties autoscaleContainerProperties = new CosmosContainerProperties("ContainerName", "/partitionKey");
ThroughputProperties autoscaleThroughputProperties = ThroughputProperties.createAutoscaledThroughput(1000); //Set autoscale max RU/s
// Create the container with autoscale enabled
CosmosAsyncContainer container = database.createContainer(autoscaleContainerProperties, autoscaleThroughputProperties, new CosmosContainerRequestOptions())
.block()
.getContainer();
Geçerli aktarım hızını (RU/sn) okuma
// Get a reference to the resource
CosmosAsyncContainer container = client.getDatabase("DatabaseName").getContainer("ContainerName");
// Read the throughput on a resource
ThroughputProperties autoscaleContainerThroughput = container.readThroughput().block().getProperties();
// The autoscale max throughput (RU/s) of the resource
int autoscaleMaxThroughput = autoscaleContainerThroughput.getAutoscaleMaxThroughput();
// The throughput (RU/s) the resource is currently scaled to
int currentThroughput = autoscaleContainerThroughput.Throughput;
Otomatik ölçeklendirme maksimum aktarım hızını (RU/sn) değiştirme
// Change the autoscale max throughput (RU/s)
container.replaceThroughput(ThroughputProperties.createAutoscaledThroughput(newAutoscaleMaxThroughput)).block();
Azure Resource Manager
Azure Resource Manager şablonları, tüm Azure Cosmos DB API'leri için yeni bir veritabanında veya kapsayıcı düzeyinde kaynakta otomatik ölçeklendirme aktarım hızı sağlamak için kullanılabilir. Örnekler için bkz . Azure Cosmos DB için Azure Resource Manager şablonları. Tasarım gereği Azure Resource Manager şablonları, mevcut bir kaynakta sağlanan ve otomatik ölçeklendirme aktarım hızı arasında geçiş yapmak için kullanılamaz.
Azure CLI
Azure CLI, tüm Azure Cosmos DB API'leri için yeni bir veritabanında veya kapsayıcı düzeyinde kaynakta otomatik ölçeklendirme aktarım hızı sağlamak veya mevcut bir kaynakta otomatik ölçeklendirmeyi etkinleştirmek için kullanılabilir. Örnekler için bkz. Azure Cosmos DB için Azure CLI Örnekleri.
Azure PowerShell
Azure PowerShell, tüm Azure Cosmos DB API'leri için yeni bir veritabanında veya kapsayıcı düzeyinde kaynakta otomatik ölçeklendirme aktarım hızı sağlamak veya mevcut bir kaynakta otomatik ölçeklendirmeyi etkinleştirmek için kullanılabilir. Örnekler için bkz. Azure Cosmos DB için Azure PowerShell örnekleri.
Sonraki adımlar
- Otomatik ölçeklendirme ile sağlanan aktarım hızının avantajları hakkında bilgi edinin.
- El ile ve otomatik ölçeklendirme aktarım hızı arasında seçim yapmayı öğrenin.
- Otomatik ölçeklendirme hakkında SSS bölümünü gözden geçirin.