Tárolók létrehozása nagy partíciókulccsal
A KÖVETKEZŐRE VONATKOZIK: NoSQL
Az Azure Cosmos DB kivonatalapú particionálási sémát használ az adatok horizontális skálázásához. A 2019. május 3. előtt létrehozott összes Azure Cosmos DB-tároló egy kivonatfüggvényt használ, amely a partíciókulcs első 101 bájtja alapján számítja ki a kivonatot. Ha több partíciókulcs is rendelkezik ugyanazzal az első 101 bájttal, akkor a szolgáltatás ezeket a logikai partíciókat ugyanaznak a logikai partíciónak tekinti. Ez olyan problémákhoz vezethet, mint a partícióméret kvótája helytelen, az egyedi indexek helytelenül vannak alkalmazva a partíciókulcsokon, és a tárterület egyenetlen eloszlása. A probléma megoldásához nagy partíciókulcsokat vezetünk be. Az Azure Cosmos DB mostantól támogatja a nagy partíciókulcsokat, amelyek értéke legfeljebb 2 KB.
A nagy partíciókulcsok a kivonatfüggvény továbbfejlesztett verziójának engedélyezésével támogatottak, amely akár 2 KB méretű nagyméretű partíciókulcsokból is létrehozhat egyedi kivonatot. Ajánlott eljárás, ha nem igényel támogatást egy régebbi Azure Cosmos DB SDK-hoz vagy olyan alkalmazáshoz, amely nem támogatja ezt a funkciót, mindig ajánlott a tárolót nagy partíciókulcsok támogatásával konfigurálni.
Nagyméretű partíciókulcs létrehozása (Azure Portal)
Ha nagyméretű partíciókulcsot szeretne létrehozni, amikor új tárolót hoz létre a Azure Portal használatával, ellenőrizze, hogy a Saját partíciókulcs nagyobb-e 101 bájtnál. Törölje a jelölőnégyzet jelölését, ha nincs szüksége nagy partíciókulcsokra, vagy ha 1.18-nál régebbi SDK-verziójú alkalmazások futnak.
Nagyméretű partíciókulcs létrehozása (PowerShell)
Nagyméretű partíciókulcs-támogatással rendelkező tároló létrehozásához lásd:
Nagyméretű partíciókulcs (.NET SDK) létrehozása
Ha nagyméretű partíciókulcsot tartalmazó tárolót szeretne létrehozni a .NET SDK használatával, adja meg a PartitionKeyDefinitionVersion.V2
tulajdonságot. Az alábbi példa bemutatja, hogyan adhatja meg a Version tulajdonságot a PartitionKeyDefinition objektumon belül, és hogyan állíthatja be PartitionKeyDefinitionVersion.V2 értékre.
Megjegyzés
Alapértelmezés szerint a .NET SDK V2 használatával létrehozott összes tároló nem támogatja a nagy partíciókulcsokat. Alapértelmezés szerint a .NET SDK V3 használatával létrehozott összes tároló támogatja a nagy partíciókulcsokat.
await database.CreateContainerAsync(
new ContainerProperties(collectionName, $"/longpartitionkey")
{
PartitionKeyDefinitionVersion = PartitionKeyDefinitionVersion.V2,
})
Támogatott SDK-verziók
A Nagyméretű partíciókulcsok az SDK-k alábbi minimális verzióival támogatottak:
SDK típusa | Minimális verzió |
---|---|
.NET | 1.18 |
Java-szinkronizálás | 2.4.0 |
Java Async | 2.5.0 |
REST API | verziószám magasabb, mint 2017-05-03 a x-ms-version kérelemfejléc használatával. |
Resource Manager-sablon | 2-es verzió az "version":2 objektumon belüli partitionKey tulajdonság használatával. |
Jelenleg nem használhat nagy partíciókulcsú tárolókat a Power BI-ban és az Azure Logic Appsben. Ezekből az alkalmazásokból nagy partíciókulcs nélkül is használhat tárolókat.