Options de stockage des données
PTC prend en charge les options de stockage suivantes :
Fournisseurs de modèles
H2
Fournisseurs de données
H2
H2 est une base de données relationnelle open source avec une faible empreinte sur disque. Ecrite dans Java, elle peut être intégrée aux applications Java ou exécutée en mode client-serveur et fournit une API JDBC. H2 répond à la fois aux exigences des fournisseurs de modèles et de données pour ThingWorx. ThingWorx ouvre une base de données H2 persistante (par opposition à en mémoire) en mode intégré. Bien qu'il s'agisse du mode de connexion le plus rapide et le plus simple, la base de données n'est ouverte que dans la même JVM que Tomcat, l'application Web ThingWorx utilisant JDBC (les processus externes ne peuvent pas se connecter, ni utiliser cette instance de base de données). En tant que base de données persistante, les données sont écrites sur le disque local (dans le dossier database dans ThingworxStorage) et sont conservées après le redémarrage de ThingWorx.
Cas d'utilisation typiques
Essais, systèmes de développement, preuves de concepts, périphériques proches de l'Edge
Destiné strictement aux déploiements sur un seul serveur
Limites
Etant intégré, H2 n'est pas recommandé pour une utilisation en production :
Evolutivité limitée en raison d'un partage des ressources (processeur, mémoire, disque, etc.) avec l'application
Compromet la stabilité de l'application dans son ensemble. Par exemple, si Tomcat se bloque ou que le processus Tomcat prend fin, les processus de base de données sont également interrompus, ce qui peut entraîner un endommagement des données.
Il est plus difficile de résoudre les problèmes de performances en isolant les goulets d'étranglement dans le code d'application ou dans la base de données.
En matière d'opérations et d'administration, la visualisation des données, les sauvegardes et la récupération d'urgence peuvent être plus difficiles à gérer.
Pour plus d'informations sur l'utilisation de H2 en tant que fournisseur de persistance pour ThingWorx, consultez la rubrique Utilisation de H2 en tant que fournisseur de persistance.
PostgreSQL
PostgreSQL est un système de gestion de base de données relationnel-objet (SGBDRO) open source qui met l'accent sur l'extensibilité et la conformité aux normes. En tant que serveur de base de données, sa fonction principale est de stocker les données de manière sécurisée et de récupérer les données à la demande d'autres applications logicielles. Il est capable de gérer des charges de travail allant des petites applications monopostes aux applications Internet étendues impliquant de nombreux utilisateurs simultanés. PostgreSQL fournit une capacité de haute disponibilité au niveau de la base de données. Il peut être configuré avec un noeud maître et plusieurs noeuds secondaires dans des zones de disponibilité identiques ou distinctes.
Pour plus d'informations sur les déploiements ThingWorx et PostgreSQL, reportez-vous aux documents suivants :
Pour plus d'informations sur PostgreSQL, accédez à l'adresse https://www.postgresql.org/.
Cas d'utilisation typiques
La base de données est mise à l'échelle pour les implémentations de petite, moyenne et grande envergure jusqu'à 15 000 écritures de propriétés par seconde et fournit une fonctionnalité haute disponibilité.
Microsoft SQL Server (MSSQL)
Microsoft SQL Server (MSSQL) est un système de gestion de base de données relationnelle développé par Microsoft. En tant que serveur de base de données, il s'agit d'un logiciel principalement dédié au stockage et à la récupération de données d'autres applications logicielles exécutées sur le même ordinateur ou sur un autre ordinateur via un réseau (y compris Internet). Pour plus d'informations sur les déploiements de ThingWorx et Microsoft SQL Server, consultez la rubrique Utilisation de Microsoft SQL Server en tant que fournisseur de persistance.
Il existe plusieurs éditions de SQL Server, ce qui vous permet de choisir la version la plus adaptée à votre solution de données. Ces éditions offrent une taille maximale de base de données relationnelle allant de 10 Go à 524 millions de Go. Pour disposer d'un environnement haute disponibilité, il est recommandé d'utiliser l'édition Entreprise.
MSSQL, via son fournisseur de persistance, prend en charge les fournisseurs de modèles et de données.
Accédez à l'adresse https://www.microsoft.com/en-us/sql-server/sql-server-2016 pour obtenir plus d'informations sur Microsoft SQL Server.
Cas d'utilisation typiques
SQL Server est adapté aux implémentations IoT de petite et grande envergure. Toutefois, il est préférable de l'utiliser lorsque Microsoft SQL/Azure est déjà présent dans votre pile informatique et que votre équipe maîtrise l'implémentation d'une solution MS SQL Server haute disponibilité conformément aux scénarios SQL Server 2017 utilisant les fonctionnalités de disponibilité.
Base de données Azure SQL
Une base de données Azure SQL est une DBaaS (Database-as-a-Service) relationnelle hébergée sur le Cloud Azure ainsi qu'un moteur de base de données PaaS (Platform as a Service) entièrement géré. Le moteur de base de données Azure SQL est basé sur SQL Server Enterprise. La plateforme Azure gère entièrement chaque base de données Azure SQL, garantissant aucune perte de données et une haute disponibilité des données. Une base de données Azure SQL offre de base une haute disponibilité, une récupération d'urgence et une mise à niveau de la base de données.
Rendez-vous à l'adresse https://docs.microsoft.com/en-us/azure/sql-database/sql-database-paas pour en savoir plus sur les bases de données Azure SQL et leurs fonctionnalités. Pour plus d'informations sur l'utilisation de la base de données Azure SQL en tant que fournisseur de persistance ThingWorx, consultez la rubrique Utilisation de la base de données Azure SQL en tant que fournisseur de persistance.
InfluxDB
Vous devez disposer de ThingWorx 8.4 ou version ultérieure pour utiliser InfluxDB. Si votre système traite intensivement des données de séries temporelles et que votre implémentation est fortement tributaire de flux ou flux de valeurs pour la persistance/récupération des données, nous vous recommandons d'utiliser InfluxDB comme fournisseur de persistance dans ThingWorx. InfluxDB est un magasin de données hautes performances écrit spécifiquement pour les données de séries temporelles. Il permet l'ingestion, la compression et l'interrogation en temps réel de ces données à haut débit. InfluxDB est utilisable comme magasin de données pour tout cas d'utilisation impliquant de grandes quantités de données horodatées, y compris la surveillance DevOps, les données des journaux, les mesures d'application, les données des capteurs IoT et l'analyse en temps réel. Il fournit également un certain nombre d'autres fonctionnalités, telles que des règles de rétention des données, par exemple. InfluxDB Enterprise offre une solution de clustering haute disponibilité et haute évolutivité pour les besoins liés aux données de séries temporelles.
Le package InfluxPersistenceProviderPackage est disponible dans ThingWorx pour utilisation avec des fournisseurs de persistance dans le cadre d'une installation par défaut pour PostgreSQL ou MSSQL.
Le fournisseur de données InfluxDB ne prend actuellement en charge que les flux et les flux de valeurs. La prise en charge des tables de données, des wikis et des blogs n'est pas assurée.
Le fournisseur de données InfluxDB ne prend actuellement pas en charge la fonctionnalité d'exportation.
InfluxDB n'est actuellement pas pris en charge en tant que fournisseur de propriétés.
Si vous utilisez une instance du fournisseur de persistance (créée à l'aide du package du fournisseur de persistance InfluxDB) comme fournisseur de persistance par défaut, vous pouvez modifier les paramètres de configuration des files d'attente de flux et flux de valeurs, qui s'appliqueront à tous les flux et flux de valeur. Ces modifications ne peuvent pas être appliquées à un flux ou flux de valeurs spécifique.
Pour plus d'informations sur l'utilisation d'InfluxDB en tant que fournisseur de persistance, consultez la rubrique Utilisation d'InfluxDB en tant que fournisseur de persistance.
Est-ce que cela a été utile ?