Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Azure Cosmos DB utilise un schéma de partitionnement basé sur le hachage pour obtenir une mise à l’échelle horizontale des données. Tous les conteneurs Azure Cosmos DB créés avant le 3 mai 2019 utilisent une fonction de hachage qui calcule le hachage en fonction des 101 premiers octets de la clé de partition. S’il existe plusieurs clés de partition qui ont les mêmes 101 premiers octets, ces partitions logiques sont considérées comme la même partition logique par le service, ce qui crée une collision de clé de partition. Cela peut entraîner des problèmes tels que les collisions de clés de partition, le quota de taille de partition étant incorrect, les index uniques appliqués de manière incorrecte sur les clés de partition et la distribution inégale du stockage. Les clés de partition de grande taille sont introduites pour résoudre ce problème. Azure Cosmos DB prend désormais en charge de grandes clés de partition avec des valeurs allant jusqu’à 2 Ko.
Les clés de partition volumineuses sont prises en charge en activant une version améliorée de la fonction de hachage, qui peut générer un hachage unique à partir de clés de partition volumineuses jusqu’à 2 Ko. Sauf si vous avez besoin de prendre en charge un ancien kit SDK Azure Cosmos DB ou une application qui ne prend pas en charge cette fonctionnalité, une bonne pratique consiste à configurer votre conteneur avec la prise en charge de clés de partition de grande taille. L’activation de clés de partition volumineuses ne peut être effectuée qu’au moment de la création du conteneur. Si vous disposez d’un conteneur existant qui n’utilise pas de clés de partition volumineuses, vous devez créer un conteneur et y migrer vos données .
Créer une grande clé de partition (portail Azure)
Les conteneurs créés à l’aide du portail Azure utilisent par défaut une clé de partition volumineuse.
Créer une grande clé de partition (PowerShell)
Pour créer un conteneur avec prise en charge d'une grande clé de partition, consultez
Créer une grande clé de partition (kit SDK .NET)
Pour créer un conteneur avec une grande clé de partition à l’aide du kit de développement logiciel (SDK) .NET, vous devez spécifier la propriété PartitionKeyDefinitionVersion.V2. L’exemple suivant montre comment spécifier la propriété Version de l’objet PartitionKeyDefinition et la définir sur PartitionKeyDefinitionVersion.V2.
Note
Par défaut, aucun conteneur créé à l’aide du kit SDK .NET V2 ne prend en charge les grandes clés de partition. Par défaut, tous les conteneurs créés à l’aide du kit SDK .NET V3 prennent en charge les grandes clés de partition.
await database.CreateContainerAsync(
new ContainerProperties(collectionName, $"/longpartitionkey")
{
PartitionKeyDefinitionVersion = PartitionKeyDefinitionVersion.V2,
})
Versions du Kit de développement logiciel (SDK) prises en charge
Les grandes clés de partition sont prises en charge avec les versions minimales suivantes des kits de développement logiciel (SDK) :
| Type de kit de développement logiciel (SDK) | Version minimale |
|---|---|
| .NET | 1.18 |
| Synchronisation Java | 2.4.0 |
| Java asynchrone | 2.5.0 |
| API REST | version ultérieure à 2017-05-03 à l’aide de l'en-tête de requête x-ms-version. |
| modèle de gestion des ressources | version 2 à l’aide de la propriété "version":2 dans l’objet partitionKey. |
Actuellement, vous ne pouvez pas utiliser de conteneurs avec de grandes clés de partition dans Power BI et Azure Logic Apps. Seuls les conteneurs sans grande clé de partition sont possibles pour ces applications.
Étapes suivantes
- Partitioning in Azure Cosmos DB (Partitionnement dans Azure Cosmos DB)
- Unités de requête dans Azure Cosmos DB
- Configurer le débit sur les conteneurs et les bases de données
- Utiliser un compte Azure Cosmos DB