Delen via


Aantal shards kiezen in Azure Cosmos DB for PostgreSQL

VAN TOEPASSING OP: Azure Cosmos DB for PostgreSQL (mogelijk gemaakt door de Citus-database-extensie naar PostgreSQL)

Het kiezen van het aantal shards voor elke gedistribueerde tabel is een balans tussen de flexibiliteit van het hebben van meer shards en de overhead voor het plannen en uitvoeren van query's. Als u besluit het aantal shards van een tabel te wijzigen na het distribueren, kunt u de functie alter_distributed_table gebruiken.

SaaS-use case voor meerdere tenants

De optimale keuze is afhankelijk van uw toegangspatronen voor de gegevens. In de saaS-database met meerdere tenants wordt u bijvoorbeeld aangeraden te kiezen tussen 32 - 128 shards. Voor kleinere workloads staat <100 GB, kunt u beginnen met 32 shards en voor grotere workloads kunt u 64 of 128 kiezen. Deze keuze geeft u de ruimte om van 32 tot 128 werkmachines te schalen.

Use case voor realtimeanalyse

In de use-case realtimeanalyse moet het aantal shards zijn gerelateerd aan het totale aantal kernen van de werkrollen. Om maximale parallelle uitvoering te garanderen, moet u voldoende shards maken op elk knooppunt, zodat er ten minste één shard per CPU-kern is. We raden doorgaans aan een groot aantal initiële shards te maken, bijvoorbeeld 2x of 4x het aantal huidige CPU-kernen. Als u meer shards hebt, kunt u in de toekomst schalen als u meer werkrollen en CPU-kernen toevoegt.

Houd er rekening mee dat azure Cosmos DB voor PostgreSQL voor elke query één databaseverbinding per shard opent en dat deze verbindingen beperkt zijn. Zorg ervoor dat het aantal shards klein genoeg blijft dat gedistribueerde query's niet vaak hoeven te wachten op een verbinding. Plaats een andere manier, de benodigde verbindingen, (max concurrent queries * shard count)mag niet groter zijn dan de totale verbindingen die mogelijk zijn in het systeem, (number of workers * max_connections per worker).

Volgende stappen