Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
I gruppi di parametri in HorizonDB fungono da contenitori per i valori di configurazione del cluster che è possibile applicare a uno o più cluster di database. Anziché gestire le impostazioni di configurazione per ogni cluster singolarmente, definirle in un gruppo di parametri e connetterle con più cluster per garantire la coerenza nell'ambiente.
I gruppi di parametri sono risorse di prima classe in Azure. Vengono visualizzati all'interno del gruppo di risorse e della sottoscrizione specifici definiti nel relativo identificatore di risorsa.
Concetti chiave
- Controllo delle versioni del motore: i gruppi di parametri sono specifici di una versione del motore PostgreSQL (ad esempio, 17).
- Ereditarietà dei parametri predefinita: quando si crea un gruppo, è sufficiente specificare un subset di parametri. Tutti i parametri non specificati in modo esplicito vengono automaticamente sottoposti a seeding e uniti dal gruppo di parametri predefinito del sistema per la versione del motore di destinazione.
-
Identificatore predefinito del gruppo di parametri: a ogni cluster HorizonDB viene assegnato un gruppo di parametri predefinito gestito dal sistema al momento della creazione. L'identificatore di risorsa per questo gruppo segue la convenzione:
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HorizonDB/parameterGroups/default_pg{pgVersion}(ad esempio,default_pg17per PostgreSQL versione 17)
-
Applicazione immediata o posticipata: alcuni parametri (statici) richiedono un riavvio del server per rendere effettivo, mentre altri (dinamici) possono essere applicati immediatamente.
- Parametri dinamici: i valori modificati vengono applicati immediatamente ai cluster attivi senza richiedere un riavvio.
- Parametri statici: i valori modificati vengono archiviati nella configurazione del cluster, ma rimangono "in sospeso" fino al successivo riavvio del server.
-
Applica stato: il
applyImmediatelyflag (impostazione predefinita:false) determina se il sistema deve forzare il riavvio dei cluster connessi al gruppo di parametri per applicare immediatamente modifiche statiche.
- Parametri di sola lettura: alcuni parametri sono contrassegnati come di sola lettura dal sistema per motivi di sicurezza o stabilità.
- Modifica non consentita: qualsiasi tentativo di includere un parametro di sola lettura in una richiesta genera un errore di convalida.
- Valori predefiniti: questi parametri di sola lettura si applicano ancora ai cluster, ma usano sempre i valori definiti nel gruppo di parametri predefinito del sistema per la versione del motore di destinazione.
- Univocità delle risorse: i nomi dei gruppi di parametri devono essere univoci all'interno del gruppo di risorse e della sottoscrizione.
-
Connessioni: i gruppi di parametri possono essere connessi (collegati o associati) a uno o più cluster. Un gruppo di parametri creato in un'area non può essere connesso a un cluster creato in un'area diversa. Le connessioni vengono gestite tramite un sistema di mapping interno che tiene traccia:
- Stato di sincronizzazione: indica se la configurazione del cluster corrisponde alla versione del gruppo di parametri.
-
Scenario: connessione multi-cluster e applicazione posticipata:
- Si supponga che il cluster A e il cluster B siano entrambi connessi con il gruppo di parametri X.
- Se un parametro statico ( ad esempio ,
max_connections) viene aggiornato nel gruppo di parametri X edapplyImmediatelyè impostato sufalse:- L'aggiornamento crea una nuova versione dei dati per il gruppo di parametri X.
- Il backend aggiorna la mappatura sia per il cluster A che per il cluster B, portandola alla nuova versione con stato di sincronizzazione "In sospeso".
- Se il cluster A viene riavviato manualmente (o riavviato a causa della manutenzione), recupera il nuovo valore statico e il relativo stato passa a
InSync. - cluster B, se non riavviato, continua a essere eseguito con il valore precedente del parametro statico, anche se la configurazione di destinazione nel back-end punta alla nuova versione. Rimane in uno stato "Riavvio in sospeso" o "Non sincronizzato" fino a quando non si verifica un riavvio.
Procedure consigliate
- Convenzioni di denominazione: preferibilmente, incorporare una forma di descrizione codificata nel nome in modo da poter identificare successivamente i potenziali cluster di destinazione di tale configurazione.
-
Staging: testare sempre nuovi gruppi di parametri in un cluster di sviluppo prima di applicarli all'ambiente di produzione, soprattutto quando si imposta
applyImmediatelysutrue.