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ókulcsok létrehozása Azure Portal használatával

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.

Következő lépések