Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure Cosmos DB, verilerin yatay ölçeklendirmesini elde etmek için karma tabanlı bölümleme düzenini kullanır. 3 Mayıs 2019'dan önce oluşturulan tüm Azure Cosmos DB kapsayıcıları, bölüm anahtarının ilk 101 baytını temel alarak karma hesaplayan bir karma işlevi kullanır. aynı ilk 101 bayta sahip birden çok bölüm anahtarı varsa, bu mantıksal bölümler hizmet tarafından aynı mantıksal bölüm olarak kabul edilir ve bu da bir bölüm anahtarı çakışması oluşturur. Bu, bölüm anahtarı çakışmaları, bölüm boyutu kotasının yanlış olması, bölüm anahtarları arasında benzersiz dizinlerin yanlış uygulanması ve depolamanın eşit olmayan dağıtımı gibi sorunlara yol açabilir. Bu sorunu çözmek için büyük bölüm anahtarları kullanıma sunulmuştur. Azure Cosmos DB artık 2 KB'a kadar olan büyük bölüm anahtarlarını destekliyor.
Büyük bölüm anahtarları, karma işlevinin gelişmiş bir sürümü etkinleştirilerek desteklenir ve bu sürüm 2 KB'a kadar büyük bölüm anahtarlarından benzersiz bir karma oluşturabilir. En iyi uygulama olarak, bu özelliği desteklemeyen eski bir Azure Cosmos DB SDK'sı veya uygulaması için desteğe ihtiyacınız yoksa kapsayıcınızı her zaman büyük bölüm anahtarları desteğiyle yapılandırmanız önerilir. Büyük bölüm anahtarlarını etkinleştirme işlemi yalnızca kapsayıcı oluşturma sırasında yapılabilir. Büyük bölüm anahtarlarını kullanmayan mevcut bir kapsayıcınız varsa yeni bir kapsayıcı oluşturmanız ve verilerinizi bu kapsayıcıya geçirmeniz gerekir.
Büyük bölüm anahtarı oluşturma (Azure portalı)
Azure portalı kullanılarak oluşturulan kapsayıcılar varsayılan olarak büyük bir bölüm anahtarı kullanır.
Büyük bölüm anahtarı oluşturma (PowerShell)
Büyük bölüm anahtarı desteğine sahip bir kapsayıcı oluşturmak için bkz.
Büyük bölüm anahtarı oluşturma (.NET SDK)
.NET SDK'yi kullanarak büyük bir bölüm anahtarına sahip bir kapsayıcı oluşturmak için PartitionKeyDefinitionVersion.V2 özelliğini belirtin. Aşağıdaki örnek, PartitionKeyDefinition nesnesi içinde Version özelliğinin nasıl belirtileceğini ve PartitionKeyDefinitionVersion.V2 olarak nasıl ayarlandığını gösterir.
Note
Varsayılan olarak, .NET SDK V2 kullanılarak oluşturulan tüm kapsayıcılar büyük bölüm anahtarlarını desteklemez. Varsayılan olarak, .NET SDK V3 kullanılarak oluşturulan tüm kapsayıcılar büyük bölüm anahtarlarını destekler.
await database.CreateContainerAsync(
new ContainerProperties(collectionName, $"/longpartitionkey")
{
PartitionKeyDefinitionVersion = PartitionKeyDefinitionVersion.V2,
})
Desteklenen SDK sürümleri
Büyük bölüm anahtarları, SDK'ların aşağıdaki en düşük sürümleriyle desteklenir:
| SDK türü | En düşük sürüm |
|---|---|
| .NET | 1.18 |
| Java eşitleme | 2.4.0 |
| Java Asenkron | 2.5.0 |
| REST API |
2017-05-03 istek üst bilgisini kullanarak x-ms-version'dan daha yüksek bir sürüm. |
| Kaynak Yöneticisi şablonu |
"version":2 nesnesi içindeki partitionKey özelliğini kullanarak sürüm 2. |
Şu anda Power BI ve Azure Logic Apps içinde büyük bölüm anahtarına sahip kapsayıcıları kullanamazsınız. Kapsayıcıları bu uygulamalardan büyük bir bölüm anahtarı olmadan kullanabilirsiniz.