Opzioni di archiviazione dei dati
PTC supporta le opzioni di memorizzazione seguenti.
Provider di modelli
H2
Provider di dati
H2
H2 è un database relazionale open source con una richiesta ridotta di risorse del disco. È scritto in Java e può essere incorporato nelle applicazioni Java o eseguito in modalità client-server. Fornisce inoltre un'API JDBC. H2 soddisfa i requisiti di entrambi i provider di dati e di modelli di ThingWorx. ThingWorx apre un database H2 persistente (anziché in memoria) in modalità incorporata. Sebbene sia la modalità di connessione più rapida e semplice, il database viene aperto solo all'interno della stessa JVM di Tomcat con l'applicazione Web ThingWorx che utilizza JDBC (i processi esterni non possono connettersi o utilizzare questa istanza del database). Come database persistente, i dati vengono scritti nel disco locale (nella cartella database in ThingworxStorage) e vengono mantenuti dopo il riavvio di ThingWorx.
Fare riferimento a http://www.h2database.com.
Casi di utilizzo tipici
Prove, sistemi di sviluppo, PoC (proof of concept), dispositivi near edge
Strettamente per distribuzioni in un solo server
Limitazioni
H2 non è consigliato per l'uso in produzione a causa della sua natura incorporata.
Scalabilità limitata poiché condivide le risorse (CPU, memoria, disco, ecc.) con l'applicazione.
Compromette la stabilità dell'applicazione nel suo complesso. Ad esempio, se Tomcat si blocca o il processo di Tomcat termina, vengono terminati anche i processi del database, con un possibile danneggiamento dei dati.
È più difficile risolvere i problemi relativi alle prestazioni isolando i colli di bottiglia nel codice dell'applicazione o nel database.
Da un punto di vista amministrativo e operativo può risultare più difficile gestire la visualizzazione dei dati, i backup e il ripristino di emergenza.
Per informazioni sull'utilizzo di H2 come provider di persistenza per ThingWorx, vedere Utilizzo di H2 come provider di persistenza.
PostgreSQL
PostgreSQL è un sistema di gestione di database relazionali di oggetti open source (ORDBMS) con enfasi sull'estendibilità e la conformità agli standard. Come server di database, la funzione principale consiste nel memorizzare i dati in modo sicuro e recuperare i dati su richiesta di altre applicazioni software. Può gestire carichi di lavoro che variano dalle piccole applicazioni utilizzabili da un solo computer alle grandi applicazioni con accesso a Internet con molti utenti simultanei. PostgreSQL offre funzionalità di disponibilità elevata a livello di database. Può essere impostato con un master e più nodi secondari in zone di disponibilità uguali o diverse.
Per ulteriori informazioni sulle distribuzioni di ThingWorx e PostgreSQL, fare riferimento ai seguenti documenti:
Per ulteriori informazioni su PostgreSQL, fare riferimento al sito https://www.postgresql.org/.
Casi di utilizzo tipici
Il database è scalabile per implementazioni di piccole, medie e grandi dimensioni fino a 15.000 scritture di proprietà al secondo (wps) e fornisce funzionalità di disponibilità elevata.
Microsoft SQL Server (MSSQL)
Microsoft SQL Server (MSSQL) è un sistema gestionale di database relazionali sviluppato da Microsoft. Come server di database, è un prodotto software con la funzione principale di memorizzazione e recupero dei dati in base alle richieste di altre applicazioni software, che possono essere eseguite sullo stesso computer o su un altro computer in una rete (inclusa Internet). Per ulteriori informazioni sulle distribuzioni di ThingWorx e Microsoft SQL Server, fare riferimento a Utilizzo di Microsoft SQL Server come provider di persistenza.
È possibile scegliere tra diverse edizioni di SQL Server per adattare al meglio la soluzione dati. Queste edizioni hanno una dimensione massima del database relazionale che va da un minimo di 10 GB a un massimo di 524 milioni di GB. Per ottenere una disponibilità elevata, si consiglia di utilizzare l'edizione Enterprise.
MSSQL, tramite il provider di persistenza, supporta sia i provider di dati che di modelli.
Per ulteriori informazioni su Microsoft SQL Server, fare riferimento a https://www.microsoft.com/it-it/sql-server/sql-server-2016.
Casi di utilizzo tipici
SQL Server funziona per implementazioni IoT di piccole e grandi dimensioni. Tuttavia viene utilizzato al meglio quando Microsoft SQL/Azure è già presente nello stack IT e il personale ha dimestichezza con l'implementazione di una soluzione MSSQL Server a disponibilità elevata come indicato nell'articolo·SQL Server 2017 scenarios using the availability features.
Database SQL di Azure
Il database SQL di Azure è un database relazionale DBaaS (DataBase as a Service) ospitato nel cloud di Azure ed è un motore di database PaaS (Platform as a Service) completamente gestito. Il motore di database SQL di Azure si basa su SQL Server Enterprise Edition. La piattaforma Azure gestisce completamente tutti i database SQL di Azure e garantisce una perdita di dati pari a zero e un'alta percentuale di disponibilità dei dati. Il database SQL di Azure prevede una disponibilità elevata, il ripristino di emergenza e l'aggiornamento per il database.
Per ulteriori informazioni sul database SQL di Azure e sulle relative funzionalità, fare riferimento a https://docs.microsoft.com/it-it/azure/sql-database/sql-database-paas. Per informazioni sull'utilizzo del database SQL di Azure come provider di persistenza ThingWorx, fare riferimento a Utilizzo del database SQL di Azure come provider di persistenza.
InfluxDB
Per utilizzare InfluxDB, è necessario disporre di ThingWorx 8.4 o versione successiva. Se il sistema si occupa in modo intensivo di dati di serie temporali e l'implementazione dipende in larga misura da stream di valori o stream per la persistenza o il recupero di dati, consigliamo di utilizzare InfluxDB come provider di persistenza in ThingWorx. InfluxDB è un archivio dati ad alte prestazioni scritto in modo specifico per i dati di serie temporali. Consente l'inserimento, la compressione e l'interrogazione in tempo reale di throughput elevati degli stessi dati. InfluxDB viene utilizzato come archivio dati per qualsiasi caso d'uso che coinvolga grandi quantità di dati con timestamp, tra cui monitoraggio DevOps, dati di log, metriche di applicazione, dati del sensore IoT e analisi in tempo reale. Fornisce inoltre altre funzionalità, tra cui criteri di conservazione dei dati e così via. L'azienda InfluxDB offre soluzioni di clustering altamente scalabili e a disponibilità elevata per le esigenze di dati di serie temporali.
InfluxPersistenceProviderPackage è disponibile in ThingWorx per essere utilizzato con i provider di persistenza come parte dell'installazione di default per PostgreSQL o MSSQL.
Il provider di dati InfluxDB attualmente supporta solo stream di valori e stream. Il supporto per tabelle dati, wiki e blog non è disponibile.
Il provider di dati InfluxDB attualmente non supporta la funzionalità di esportazione.
InfluxDB non è attualmente supportato come provider di proprietà.
Se si utilizza un'istanza del provider di persistenza (creata utilizzando il package del provider di persistenza InfluxDB) come provider di persistenza di default, è possibile modificare le impostazioni di configurazione delle code di stream e stream di valori, che verranno applicate a tutti gli stream e stream di valori. Non è possibile modificare queste impostazioni per uno stream o uno stream di valori specifico.
Per informazioni sull'utilizzo di InfluxDB come provider di persistenza, vedere Utilizzo di InfluxDB come provider di persistenza.
È stato utile?