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
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: