Aracılığıyla paylaş


Azure Cosmos DB'deki veritabanı veya kapsayıcıda otomatik ölçeklendirme işlem hacmini sağlama - NoSQL API'ı için

GEÇERLİ OLDUĞU YERLER: NoSQL

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

  1. Azure portalında 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 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 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ında 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çek'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, 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 Cosmos DB Go SDK'sı

Veritabanı ve kapsayıcı kaynaklarında ThroughputProperties kullanabilirsiniz.

Elle ayarlanan aktarım hızına sahip bir veritabanı oluşturma

// manual throughput properties
db_throughput := azcosmos.NewManualThroughputProperties(400)

_, err = client.CreateDatabase(context.Background(), azcosmos.DatabaseProperties{
	ID: "demo_db",
}, &azcosmos.CreateDatabaseOptions{
	ThroughputProperties: &db_throughput,
})

Otomatik ölçekli aktarım hızıyla bir kapsayıcı oluşturun.

pkDefinition := azcosmos.PartitionKeyDefinition{
	Paths: []string{"/state"},
	Kind:  azcosmos.PartitionKeyKindHash,
}

// autoscale throughput properties
throughput := azcosmos.NewAutoscaleThroughputProperties(4000)

db.CreateContainer(context.Background(), azcosmos.ContainerProperties{
	ID:                     "demo_container",
	PartitionKeyDefinition: pkDefinition,
}, &azcosmos.CreateContainerOptions{
	ThroughputProperties: &throughput,
})

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 Komut Satırı Arayüzü (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.

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.

Sonraki adımlar