Definizione del modello ThingWorx in Composer > Archiviazione dati > Provider di persistenza > Utilizzo di PostgreSQL come provider di persistenza
Utilizzo di PostgreSQL come provider di persistenza
PostgreSQL è un sistema di database relazionali a oggetti open source. Il provider di persistenza PostgreSQL supporta sia i provider di dati che di modelli.
* 
Per iniziare a utilizzare PostgreSQL, è necessario registrarsi, quindi installare e configurare il provider. Gran parte di tale processo viene eseguita indipendentemente da ThingWorx ed è documentata in Installazione di ThingWorx.
Disponibilità elevata di PostgreSQL
È inoltre possibile utilizzare la disponibilità elevata (HA, High Availability) di PostgreSQL come parte della soluzione di dati. La disponibilità elevata offre la possibilità di configurare server separati per acquisire letture e scritture per i dati in caso di guasto sul server del database principale. Se la disponibilità elevata fa parte dell'implementazione di PostgreSQL, fare riferimento alle sezioni appropriate presenti nella guida per i dettagli sulle procedure consigliate di installazione e distribuzione.
Processo generale per l'implementazione di PostgreSQL
1. Stabilire se PostgreSQL è la soluzione adeguata per i dati in uso. Per ulteriori informazioni, fare riferimento alle sezioni sulla pianificazione e sulle dimensioni.
2. Scaricare e installare PostgreSQL. Questo processo viene eseguito indipendentemente da ThingWorx. Nella guida viene fornito un esempio di distribuzione.
* 
L'implementazione standard di PostgreSQL include un provider di persistenza, che non può essere modificato all'interno di ThingWorx. Tuttavia, è possibile modificarlo tramite platform-settings.json o i servizi.
3. Se si desidera creare in ThingWorx ulteriori istanze del provider di persistenza che effettuano la connessione all'archivio dati di PostgreSQL, accedere ad Archiviazione dati > Provider di persistenza, quindi fare clic sul segno più verde (+).
4. Nella schermata Informazioni generali, immettere un nome per il provider di persistenza.
5. Nel campo Package provider di persistenza, utilizzare la selezione avanzata per scegliere il package del provider di persistenza PostgreSQL.
6. Fare clic su Configurazione e configurare le impostazioni riportate di seguito.
È possibile modificare le impostazioni della coda degli stream di valori e degli stream riportate di seguito, che si applicano a tutti gli stream e agli stream di valori. Non è possibile modificare queste impostazioni per uno stream o uno stream di valori specifico.
Impostazioni del processore dello stream
Tipo di base
Default
Note
Dimensione max coda
Number
250000
Numero massimo di voci dello stream da mettere in coda.Una volta raggiunto il valore specificato, le voci successive vengono rifiutate.
Tempo max di attesa prima di scaricare il buffer dello stream (millisec)
Number
2000
Numero di millisecondi che il sistema attende prima di scaricare il buffer dello stream
Numero di thread di elaborazione
Number
5
Numero dei thread di elaborazione allocati allo stream
Numero max di elementi prima di scaricare il buffer dello stream
Number
500
Numero massimo di elementi da accumulare prima di scaricare il buffer dello stream
Numero max di scritture dello stream da elaborare in blocco
Number
2500
Numero massimo di scritture dello stream da elaborare in un unico blocco
Frequenza analisi stato buffer (millisec)
Number
5
Lo stato del buffer viene controllato in base al valore della frequenza specificata in millisecondi.
Timeout interrogazione
Number
600000
Quantità di tempo (in millisecondi) concesso per il completamento di un'interrogazione prima che venga annullata.
Timeout rete
Number
900000
Quantità di tempo (in millisecondi) di attesa di una risposta dal database da parte di un thread.
Se non si riceve alcuna risposta entro il termine configurato, la piattaforma chiude la connessione sottostante e rilascia il thread in attesa di risposta.
Timeout producer
Number
3000
Questa impostazione si applica ai processori di voci di stream e attualmente è valida solo per il processore delle proprietà persistenti.
Nel caso in cui una coda sia piena e non abbia spazio per una nuova voce, questo è il tempo massimo (millisecondi) che un produttore attende prima di poter inserire la voce nella coda. Se una volta terminato il tempo di attesa la coda è ancora piena e non è possibile rendere disponibile spazio, la voce non viene aggiunta alla coda.
Impostazioni processore stream valori
Tipo di base
Default
Note
Dimensione max coda
Number
250000
Numero massimo di voci dello stream di valori da mettere in coda.Una volta raggiunto il valore specificato, le voci successive vengono rifiutate.
Tempo max di attesa prima di scaricare il buffer dello stream di valori (millisec)
Number
2000
Numero di millisecondi che il sistema attende prima di scaricare il buffer dello stream di valori
Numero di thread di elaborazione
Number
5
Numero dei thread di elaborazione allocati allo stream di valori
Numero max di elementi prima di scaricare il buffer di valori
Number
500
Numero massimo di elementi da accumulare prima di scaricare il buffer dello stream di valori
Numero max di scritture dello stream di valori da elaborare in blocco
Number
2500
Numero massimo di scritture dello stream di valori da elaborare in un unico blocco
Frequenza analisi stato buffer (millisec)
Number
5
Lo stato del buffer viene controllato in base al valore della frequenza specificata in millisecondi.
Timeout producer
Number
3000
Questa impostazione si applica ai processori di voci di stream e attualmente è valida solo per il processore delle proprietà persistenti.
Nel caso in cui una coda sia piena e non abbia spazio per una nuova voce, questo è il tempo massimo (millisecondi) che un produttore attende prima di poter inserire la voce nella coda. Se una volta terminato il tempo di attesa la coda è ancora piena e non è possibile rendere disponibile spazio, la voce non viene aggiunta alla coda.
Impostazioni delle tracce di stack delle connessioni al database
Default
Note
Soglia di saturazione del pool di connessioni del database per l'attivazione delle tracce dello stack (in percentuale)
90
Soglia di saturazione che un pool di connessioni al database deve raggiungere per l'attivazione delle tracce di stack.
Numero di insiemi di tracce dello stack registrate dopo l'attivazione
5
Numero di tracce dello stack registrate dopo l'attivazione delle impostazioni delle tracce dello stack
Intervallo con cui vengono registrate le tracce dello stack (in secondi)
10
Intervallo di tempo con cui vengono registrate le tracce dello stack.
Tempo minimo trascorso prima dell'attivazione della registrazione delle tracce dello stack (in minuti)
60
Tempo minimo trascorso prima che si attivi nuovamente la registrazione delle tracce dello stack.
Durata di tenuta della connessione per la registrazione delle tracce dello stack (in millisecondi)
1000
Periodo di tempo in cui la connessione viene mantenuta per la registrazione delle tracce dello stack.
Informazioni di connessione necessarie per connettersi a PostgreSQL
Nome
Valore di default
Note
URL JDBC
jdbc:postgresql://localhost:5432/thingworx
L'URL JDBC del database da cui le connessioni devono essere acquisite. In questo URL è possibile specificare più schemi.
Nome utente
thingworx
Nome utente utilizzato per acquisire una connessione di database
Password
n/d
Password utilizzata per acquisire una connessione di database
Dimensione pool di connessioni iniziale
5
Numero di connessioni che un pool proverà ad acquisire all'avvio.
Incremento acquisizione connessione
5
Determina il numero di connessioni che vengono acquisite quando il pool è esaurito.
Dimensione max pool di connessioni
100
Numero massimo di connessioni gestite da un pool in un determinato momento.
Dimensione min pool di connessioni
5
Numero minimo di connessioni gestite da un pool in un determinato momento.
Numero max di istruzioni memorizzate nella cache
100
Dimensione della cache PreparedStatement globale
Classe driver
org.postgresql.Driver
Classe del driver JDBC del database
Numero di tentativi di acquisizione
3
Definisce quante volte il pool di connessioni prova ad acquisire una nuova connessione.
Ritardo tra tentativi di acquisizione
10000
Periodo di tempo in millisecondi in cui il pool di connessioni attende tra i tentativi di acquisizione.
Timeout tentativo di Check-Out
1000000
Numero di millisecondi in cui un client getConnection attende che venga eseguito il Check-In della connessione o che quest'ultima venga acquisita quando il pool è esaurito.
Tempo max di inattività
0
Secondi in cui una connessione può rimanere in pool anche se inutilizzata prima che venga rimossa. Il valore zero indica che le connessioni inattive non scadono mai.
Durata max connessione
0
Le connessioni precedenti a questo valore temporale, in secondi, vengono eliminate e cancellate dal pool. Il valore zero indica che non viene applicata alcuna durata massima.
Numero di thread di helper
8
Le operazioni JDBC lente sono eseguite in genere dai thread di helper che non detengono blocchi contesi. La distribuzione di queste operazioni su più thread può migliorare notevolmente le prestazioni consentendo l'esecuzione simultanea di più operazioni.
Timeout connessione non restituito
0
Se l'applicazione acquisisce una connessione ma non riesce a chiuderla nel periodo di tempo specificato, in secondi, il pool elimina la connessione. Il valore zero indica l'assenza di timeout, quindi è previsto che le applicazioni chiudano le proprie connessioni.
Tempo max di inattività per connessioni in eccesso
300
Numero di secondi durante i quali deve essere consentito alle connessioni in eccesso di minPoolSize di rimanere inattive nel pool prima che vengano eliminate. Il valore zero indica l'assenza di applicazione e le connessioni in eccesso non vengono eliminate.
7. Se necessario, eseguire la migrazione delle entità e dei dati.
8. Monitorare e gestire l'implementazione di PostgreSQL. Nella guida sono descritte le best practice per la creazione di un corretto piano di manutenzione.
È stato utile?