Datenspeicheroptionen
PTC unterstützt die folgenden Speicheroptionen:
Modellanbieter
H2
Datenanbieter
H2
H2 ist eine relationale Open Source-Datenbank mit einem niedrigen Festplatten-Footprint. Sie ist in Java geschrieben und kann in Java-Anwendungen eingebettet oder im Client-Server-Modus ausgeführt werden und stellt eine JDBC-API zur Verfügung. H2 erfüllt sowohl die Modell- als auch die Datenanbieter-Anforderungen für ThingWorx. ThingWorx öffnet eine persistente H2-Datenbank (im Gegensatz zu einer In-Memory-Datenbank) im eingebetteten Modus. Dies ist der schnellste und einfachste Verbindungsmodus, die Datenbank ist jedoch nur in der derselben JVM wie Tomcat mit der JDBC verwendenden ThingWorx Web-Anwendung geöffnet. (Externe Prozesse können keine Verbindung zu dieser Datenbankinstanz herstellen oder diese verwenden.) Da es sich um eine persistente Datenbank handelt, werden die Daten auf die lokale Festplatte (im Ordner database in ThingworxStorage) geschrieben und nach dem ThingWorx Neustart beibehalten.
Referenzieren Sie http://www.h2database.com.
Typische Anwendungsfälle
Testversionen, Entwicklersysteme, Proof of Concepts, Near-Edge-Geräte
Für Einzelserver-Bereitstellungen
Beschränkungen
H2 wird aufgrund seiner eingebetteten Natur nicht für die Verwendung in der Produktion empfohlen:
Begrenzte Skalierbarkeit, da Ressourcen (CPU, Speicher, Festplatte usw.) mit der Anwendung geteilt werden
Beeinträchtigung der Stabilität der gesamten Anwendung Beispiel: Stürzt Tomcat ab oder wird der Tomcat-Prozess beendet, so werden auch die Datenbankprozesse beendet, was zu Datenbeschädigung führen kann.
Es ist schwieriger, Leistungsprobleme durch Isolieren von Engpässen im Anwendungscode oder in der Datenbank zu beheben.
Aus Sicht der allgemeinen Operationen sowie der Verwaltung können die Visualisierung von Daten, Sicherungen und Notfallwiederherstellung schwieriger zu verwalten sein.
Informationen zur Verwendung von H2 als Persistenzanbieter für ThingWorx finden Sie unter H2 als Persistenzanbieter verwenden.
PostgreSQL
PostgreSQL ist ein objektrelationales Datenbankverwaltungssystem (ORDBMS) unter Open Source-Lizenz mit Schwerpunkt auf Erweiterbarkeit und Einhaltung von Normen. Als Datenbankserver besteht seine Hauptfunktion darin, Daten sicher zu speichern und diese abzurufen, wenn sie von anderen Software-Anwendungen angefordert werden. PostgreSQL kann Arbeitslasten von kleinen Anwendungen mit nur einem Rechner bis hin zu großen das Internet nutzende Anwendungen mit vielen gleichzeitigen Benutzern bewältigen. PostgreSQL bietet Hochverfügbarkeitsfunktionen auf Datenbankebene. Eine Einrichtung mit einem Master- und mehreren sekundären Knoten in derselben oder unterschiedlichen Verfügbarkeitszonen ist möglich.
Weitere Informationen zu ThingWorx und PostgreSQL-Bereitstellungen finden Sie hier:
Weitere Informationen zu PostgreSQL finden Sie unter https://www.postgresql.org/.
Typische Anwendungsfälle
Die Datenbank kann für kleine, mittlere und große Implementierungen bis zu 15.000 Eigenschaftsschreibvorgänge pro Sekunde (wps) skaliert werden und bietet Hochverfügbarkeitsfunktionalität.
Microsoft SQL Server (MSSQL)
Microsoft SQL Server (MSSQL) ist ein Verwaltungssystem für relationale Datenbanken, das von Microsoft entwickelt wurde. Als Datenbankserver ist Microsoft SQL Server ein Software-Produkt mit der Hauptfunktion, Daten zu speichern und abzurufen, wenn diese von anderen Software-Anwendungen angefordert werden, die entweder auf demselben Computer oder einem anderen Computer in einem Netzwerk (einschließlich Internet) ausgeführt werden. Weitere Informationen zu ThingWorx und Microsoft SQL Server-Bereitstellungen finden Sie unter Microsoft SQL Server als Persistenzanbieter verwenden.
Sie können zwischen mehreren SQL Server-Editionen wählen, um die für Sie am besten geeignete Datenlösung zu finden. Diese Editionen haben eine maximale relationale Datenbankgröße, die von 10 GB (klein) bis 524 Millionen GB (extrem groß) reicht. Um eine hohe Verfügbarkeit zu erreichen, sollte die Enterprise Edition verwendet werden.
MSSQL unterstützt über seinen Persistenzanbieter sowohl Modell- als auch Datenanbieter.
Weitere Informationen zu Microsoft SQL Server finden Sie unter https://www.microsoft.com/de-de/sql-server/sql-server-2016.
Typische Anwendungsfälle
Der SQL Server kann für kleine und große IoT-Implementierungen verwendet werden. Die Verwendung empfiehlt sich jedoch vor allem dann, wenn Microsoft SQL/Azure bereits in Ihrem IT-Stapel vorhanden ist und Ihre Mitarbeiter mit der Implementierung der MSSQL Server-Hochverfügbarkeitslösung gemäß SQL Server 2017-Szenarios, die Verfügbarkeitsfunktionen verwenden vertraut sind.
Azure SQL-Datenbank
Die Azure SQL-Datenbank ist eine relationale Datenbank-as-a-Service (DBaaS), die in Azure Cloud gehostet wird. Sie ist eine vollständig verwaltbare Platform-as-a-Service(PaaS)-Datenbank-Engine. Die Azure SQL-Datenbank-Engine basiert auf der Enterprise Edition von SQL Server. Die Azure-Plattform verwaltet vollständig jede Azure SQL-Datenbank und garantiert null Datenverlust bei hoher Datenverfügbarkeit. Die Azure SQL-Datenbank wird mit integrierter hoher Verfügbarkeit, Notfallwiederherstellung und Upgrade für die Datenbank bereitgestellt.
Weitere Informationen zu der Azure SQL-Datenbank und ihren Funktionen finden Sie auf https://docs.microsoft.com/de-de/azure/sql-database/sql-database-paas. Informationen zur Verwendung der Azure SQL-Datenbank als ThingWorx Persistenzanbieter finden Sie unter Azure SQL-Datenbank als Persistenzanbieter verwenden.
InfluxDB
Sie benötigen ThingWorx 8.4 oder höher, um InfluxDB zu verwenden. Wenn Sie in Ihrem System intensiv mit Zeitreihendaten arbeiten und sich Ihre Implementierung für Persistenz/Datenabrufe stark auf Wert-Streams oder Streams stützt, empfehlen wir die Verwendung von InfluxDB als Persistenzanbieter in ThingWorx. InfluxDB ist ein hochleistungsfähiger Datenspeicher, der speziell für Zeitreihendaten entwickelt wurde. Er ermöglicht Datenaufnahme mit hohem Durchsatz sowie Komprimierung und Echtzeitabfragen der erfassten Daten. InfluxDB kommt in allen Anwendungsfällen als Datenspeicher zum Einsatz, bei denen große Mengen von Daten mit Zeitstempel verarbeitet werden, beispielsweise DevOps-Überwachungsdaten, Protokolldaten, Anwendungsmetriken, Daten von IoT-Sensoren oder Echtzeitanalysedaten. Der Datenspeicher stellt auch andere Funktionen bereit, unter anderem Datenaufbewahrungsrichtlinien. InfluxDB Enterprise bietet Hochverfügbarkeit sowie eine hochgradig skalierbare Clustering-Lösung für Anwendungsfälle mit Zeitreihendaten.
InfluxPersistenceProviderPackage steht in ThingWorx zur Verwendung mit Persistenzanbietern zur Verfügung, im Rahmen der Standardinstallation von PostgreSQL oder MSSQL.
Der InfluxDB-Datenanbieter unterstützt derzeit ausschließlich Wert-Streams und Streams. Unterstützung für Datentabellen, Wikis und Blogs ist nicht verfügbar.
Der InfluxDB-Datenanbieter unterstützt derzeit keine Exportfunktionen.
InfluxDB wird derzeit nicht als Eigenschaftsanbieter unterstützt.
Wenn Sie eine mit dem InfluxDB-Persistenzanbieter-Paket erstellte Persistenzanbieter-Instanz als standardmäßigen Persistenzanbieter verwenden, können Sie die Konfigurationseinstellungen für Stream- und Wert-Stream-Warteschlangen bearbeiten. Diese Einstellungen werden auf alle Streams und Wert-Streams angewendet. Sie können diese Einstellungen für einen bestimmten Stream oder Wert-Stream nicht ändern.
Informationen zur Verwendung von InfluxDB als Persistenzanbieter finden Sie unter InfluxDB als Persistenzanbieter verwenden.
War dies hilfreich?