Megosztás a következőn keresztül:


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 ezeket a logikai partíciókat a szolgáltatás ugyanaznak a logikai partíciónak tekinti. Ez olyan problémákhoz vezethet, mint a partícióméretkvóta helytelensége, az egyedi indexek helytelen alkalmazása a partíciókulcsokon, valamint a tárterület egyenetlen eloszlása. A probléma megoldásához nagy partíciókulcsok jelennek meg. Az Azure Cosmos DB mostantól támogatja a nagy partíciókulcsokat, amelyek értéke legfeljebb 2 KB.

A nagyméretű partíciókulcsok a kivonatoló fü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)

Az Azure Portal használatával létrehozott tárolók alapértelmezés szerint nagy partíciókulcsot használnak.

Nagyméretű partíciókulcs létrehozása (PowerShell)

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

Feljegyzé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ó magasabb, mint 2017-05-03 a kérés fejlécének x-ms-version 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.

Következő lépések