Delen via


Schaal uit met flexibele clusters

Dit artikel bevat stapsgewijze instructies voor het uitvoeren van horizontale schaalbewerkingen voor uw elastische cluster van flexibele servers in Azure Database for PostgreSQL.

Elastische clusters van Azure Database for PostgreSQL bieden horizontale schaalaanpassing door meer werkknooppunten toe te voegen aan uw cluster. Wanneer u uw Elastische PostgreSQL-cluster schaalt, kunt u groei afhandelen door uw database meer resources of meer knooppunten te geven voor parallelle queryverwerking. U krijgt al deze voordelen met minimale downtime en ingebouwd shardbeheer.

Methoden voor uitschalen

Gebruik een van de verschillende methoden om werkknooppunten toe te voegen aan uw elastische cluster, waaronder Azure Portal, de Azure CLI of automatisering via ARM-sjablonen en API's, afhankelijk van uw werkstroom- en automatiseringsbehoeften. De volgende secties bevatten stapsgewijze instructies voor de portal en de CLI en leggen de herverdeling na het schalen uit.

Gebruik de Azure-portal:

  1. Open de resource: Navigeer in Azure Portal naar uw elastische Cluster van Azure Database for PostgreSQL – Flexible Server.

  2. Ga naar Compute + Storage: selecteer Compute en opslag in de sectie Instellingen. Op deze pagina wordt de huidige configuratie van de knooppunten van uw cluster weergegeven.

    Schermopname van de pagina Overzicht van een elastisch cluster.

  3. Het aantal knooppunten aanpassen: Zoek het veld 'Aantal knooppunten'. Verhoog het aantal naar het gewenste totale aantal knooppunten (tussen 2 en 20 voor de meeste clusters in algemene beschikbaarheid). Als u bijvoorbeeld een cluster met vier knooppunten wilt verdubbelen naar acht knooppunten, verhoogt u de schuifregelaar naar 8. Azure richt extra werkknooppunten in om dit aantal te bereiken.

    Schermopname die laat zien hoe u de pagina Compute en opslag selecteert.

  4. Wijzigingen toepassen: Selecteer Opslaan. Bevestig de uitschaalbewerking wanneer u hierom wordt gevraagd. Azure begint met het toevoegen van knooppunten aan uw cluster. Deze bewerking wordt online uitgevoerd en onderbreekt doorgaans geen bestaande verbindingen of query's. De implementatie kan enkele minuten duren. U kunt de voortgang in de portalmeldingen controleren. Zodra het aantal knooppunten van uw cluster is voltooid, wordt de nieuwe waarde weergegeven.

Opmerking

U moet het achtergrondproces voor het opnieuw verdelen van shards expliciet activeren om toe te staan dat bestaande gegevens opnieuw worden gedistribueerd over al uw knooppunten. Deze bewerking omvat geen downtime voor lees- en schrijfbewerkingen.

Herverdeling

Nadat u knooppunten aan uw cluster hebt toegevoegd, worden alle nieuwe gegevenswijzigingen of zojuist toegevoegde gedistribueerde tabellen gebruikt voor alle beschikbare knooppunten. Bestaande gegevensshards blijven waar ze zich bevinden totdat ze worden gedistribueerd. Online herverdeling zorgt ervoor dat lees- en schrijfbewerkingen van de toepassing met minimale onderbrekingen doorgaan terwijl gegevens worden verplaatst.

Wanneer u uw elastische cluster uitschaalt, zorgt u ervoor dat uw bestaande gegevens volledig worden gedistribueerd en dat uw database gebruikmaakt van alle beschikbare knooppunten. Gebruik de functie citus_rebalance_start om het herbalanceproces te starten. Met deze bewerking worden bestaande gegevens gelijkmatig verdeeld over alle knooppunten.

SELECT citus_rebalance_start();

Parallelle herverdeling

De standaard herverdelingsoperatie voert meerdere shard-verplaatsingen uit in opvolgende volgorde. In sommige gevallen kunt u ervoor kiezen om sneller te herverdelen, ten koste van meer gebruik van middelen zoals rekenkracht, geheugen en netwerkbandbreedte. In dergelijke situaties kunt u een herbalance-bewerking configureren om veel shard-verplaatsingen parallel uit te voeren.

Met de parameter citus.max_background_task_executors_per_node kunnen taken zoals shardherverdeling parallel worden uitgevoerd. U kunt de standaardwaarde (1) naar wens verhogen om parallelle uitvoering te stimuleren.

ALTER SYSTEM SET citus.max_background_task_executors_per_node = 2;
SELECT pg_reload_conf();

Daarnaast kunt u de functie citus_rebalance_start configureren om shards opnieuw te verdelen op basis van verschillende strategieën die het beste overeenkomen met uw databaseworkload. Nu u extra uitvoerders voor achtergrondtaken hebt toegevoegd, ziet u hier een voorbeeld van het opnieuw verdelen van shards met behulp van parallelle werkrollen:

SELECT citus_rebalance_start(parallel_transfer_colocated_shards := true, parallel_transfer_reference_tables := true);

Overwegingen

Bewaak uw cluster na het schalen: Controleer het CPU-gebruik, het geheugengebruik en het IO-verbruik in de bewakingsgrafieken van Azure Portal voor uw elastische cluster. Controleer na een uitschaalbewerking of het toevoegen van knooppunten de metrische verbeteringen voor doorvoer en reactietijden weerspiegelt, afhankelijk van uw workload. Pas indien nodig verder aan.

Het schalen van een elastisch cluster heeft een lineaire invloed op de kosten in verhouding tot de hoeveelheid resources. Het toevoegen van knooppunten vermenigvuldigt de reken- en opslagkosten met het aantal knooppunten. Een cluster met vier knooppunten met twee vCores kost bijvoorbeeld ongeveer vier keer wat één twee-vCore-server kost, omdat u vier servers gebruikt. Bekijk altijd de impact op prijzen in de portal. De geschatte kosten worden bijgewerkt in de Azure Portal wanneer u de configuratie wijzigt voordat u deze opslaat, zodat deze binnen uw budget past.

Hoge beschikbaarheid: Als uw cluster zone-redundante hoge beschikbaarheid heeft ingeschakeld, zullen schaalbewerkingen ook voorzien in stand-byresources voor eventuele nieuwe knooppunten. De Azure-service verwerkt dit automatisch. ** Verwacht dat het uitschalen wat langer duurt, omdat voor elke toegevoegde knooppunt hoge beschikbaarheidsreplica's worden ingesteld. De kenmerken van het proces en de downtime blijven bijna hetzelfde, vermenigvuldigd met primaire en stand-byparen.

Leesreplica's: Als uw cluster is geconfigureerd voor het gebruik van leesreplica's, moet u een specifieke volgorde van bewerkingen volgen bij het toevoegen van knooppunten aan uw cluster. Voeg eerst het aantal knooppunten toe aan uw primaire cluster en sla uw wijzigingen op. Nadat de bewerking is voltooid, moet u de bijbehorende wijziging aanbrengen in uw leesreplicaomgeving en de wijzigingen opslaan. Uw nieuwe knooppunten in uw primaire cluster zijn nog niet bruikbaar voor clusteractiviteiten totdat zowel de primaire als de leesreplicaomgevingen zijn bijgewerkt en gesynchroniseerd.

Opmerking

De mogelijkheid om knooppunten te verwijderen uit een elastisch cluster (afschalen) is nog niet beschikbaar.

Door de voorgaande schaaltechnieken te gebruiken, bieden elastische Clusters van Azure Database for PostgreSQL u de flexibiliteit om klein te beginnen en uw database naadloos te laten groeien naarmate de vraag toeneemt. U krijgt de eenvoud van één eindpunt met de kracht van gedistribueerde Postgres-infrastructuur. Ga door met het bewaken van de documentatie van Azure voor de nieuwste updates over functies en aanbevolen procedures voor het schalen van elastische clusters.