Azure Cosmos DB'de veritabanı veya kapsayıcıda otomatik ölçeklendirme aktarım hızı sağlama - NoSQL için API

ŞUNUN IÇIN GEÇERLIDIR: NoSQL

Bu makalede, NoSQL için Azure Cosmos DB'de bir veritabanı veya kapsayıcıda (koleksiyon, graf veya tablo) otomatik ölçeklendirme aktarım hızını sağlama 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 aktarım 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

  1. Azure portal veya Azure Cosmos DB gezgininde oturum açın.

  2. Azure Cosmos DB hesabınıza gidin ve Veri Gezgini sekmesini açın.

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

    Kapsayıcı oluşturma ve otomatik ölçeklendirme ile sağlanan aktarım hızını yapılandırma

  4. Tamam’ı seçin.

Paylaşılan aktarım hızı veritabanında otomatik ölçeklendirme sağlamak için yeni bir 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

  1. Azure portal veya Azure Cosmos DB gezgininde oturum açın.

  2. Azure Cosmos DB hesabınıza gidin ve Veri Gezgini sekmesini açın.

  3. Kapsayıcınız için Ölçek ve Ayarlar'ı veya veritabanınız için ölçeklendir'i seçin.

  4. Ölçek'in altında Otomatik Ölçeklendirme seçeneğini ve Kaydet'i seçin.

    Mevcut bir kapsayıcıda otomatik ölçeklendirmeyi etkinleştirme

Not

Mevcut bir veritabanı veya kapsayıcıda otomatik ölçeklendirmeyi etkinleştirdiğinizde, maksimum RU/sn için başlangıç değeri geçerli el ile sağlanan aktarım hızı ayarlarınıza ve depolama alanınıza bağlı olarak 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'sı

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 üzeri 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, CLI 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'sı

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, CLI 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ı 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 örnekler.

Sonraki adımlar