数据存储选项
PTC 支持以下存储选项:
模型提供者
H2
数据提供者
H2
H2 是一个开源关系数据库,占用磁盘空间较小。它以 Java 编写,可以嵌入 Java 应用程序中或在客户端-服务器模式下运行,并提供 JDBC API。H2 满足 ThingWorx 对模型提供者和数据提供者的要求。ThingWorx 会在嵌入模式下打开一个持久化 (与驻内存相对) H2 数据库。虽然这是最快且最简便的连接模式,但该数据库只能与 Tomcat 在同一 JVM 中并由 ThingWorx web 应用程序使用 JDBC 打开 (外部进程无法连接或使用此数据库实例)。作为持久化数据库,数据将被写入本地磁盘 (在 ThingworxStorage 中的 database 文件夹中),并在 ThingWorx 重新启动后保留。
典型用例
试验、开发人员系统、概念验证、近边缘设备
仅针对单个服务器部署
限制
由于 H2 的嵌入式性质,不建议将 H2 用于生产用途:
扩展性有限,因为它与应用程序共享资源 (CPU、内存、磁盘等)
影响应用程序作为一个整体的稳定性。例如,如果 Tomcat 崩溃或 Tomcat 进程结束,数据库进程也会被终止,这可能会导致数据损坏。
要通过隔离应用程序代码或数据库中的瓶颈来解决性能问题也变得更加困难。
从常规操作和管理的角度来看,使数据、备份和灾难恢复可视化变得更加难以维护。
有关使用 H2 作为 ThingWorx 持久化方案提供工具的信息,请参阅使用 H2 作为持久化方案提供工具
PostgreSQL
PostgreSQL 是一种开放源对象关系数据库管理系统 (ORDBMS),其特点在于可扩展性和遵从标准。作为数据库服务器,其主要功能是安全地存储数据,并按照其他软件应用程序的请求检索数据。它可以处理各种工作负载,从小型单机应用程序到具有众多并发用户的面向互联网的大型应用程序。PostgreSQL 在数据库级别提供了高可用性功能。可在相同或不同的可用性区域中设置一个 PostgreSQL 主节点和多个次节点。
有关 ThingWorx 和 PostgreSQL 部署的详细信息,请参阅以下文档:
有关 PostgreSQL 的详细信息,请参阅 https://www.postgresql.org/
典型用例
该数据库可针对小、中和大型的实施进行扩展,最高为每秒 15000 次属性写入 (wps),并提供高可用性功能。
Microsoft SQL Server (MSSQL)
Microsoft SQL Server (MSSQL) 是由 Microsoft 开发的关系数据库管理系统。作为数据库服务器,这一款软件产品的主要功能是按照其他软件应用程序的请求对数据进行存储和检索,其他应用程序可以在同一台计算机上运行或在网络 (包括互联网) 中的另一台计算机上运行。有关 ThingWorx 和 Microsoft SQL Server 部署的详细信息,请参阅使用 Microsoft SQL Server 持久化方案提供工具
您可以从多个 SQL Server 版本中选择最适合您的数据解决方案的版本。这些版本的关系数据库大小上限从最低 10 GB 到最高 5.24 亿 GB 不等。要获得高可用性,建议使用 Enterprise 版本。
MSSQL 通过其持久存储功能支持模型和数据提供工具。
有关 Microsoft SQL Server 的详细信息,请参考 https://www.microsoft.com/en-us/sql-server/sql-server-2016
典型用例
SQL Server 适用于各种规模的 IoT 实施。然而,如果您的 IT 堆叠设计中已使用 Microsoft SQL/Azure,并且员工熟悉按照使用高可用性性能的 SQL Server 2017 解决方案实现 MSSQL Server 高可用性解决方案,则使用 SQL Server 是最佳做法。
Azure SQL 数据库
Azure SQL 数据库是 Azure 云中托管的关系型数据库即服务 (DBaaS),是完全受管理的平台即服务 (PaaS) 数据库引擎。Azure SQL 数据库引擎的基础为 SQL Server 企业版。Azure 平台可全面管理每个 Azure SQL 数据库,并保证较高的数据可用性且不会出现数据丢失情况。Azure SQL 数据库的固有特性包括高可用性、灾难恢复和数据库升级。
有关 Azure SQL 数据库及其功能的详细信息,请参阅 https://docs.microsoft.com/en-us/azure/sql-database/sql-database-paas。有关使用 Azure SQL 数据库作为 ThingWorx 持久化方案提供工具的信息,请参阅使用 Azure SQL 数据库作为持久化方案提供工具
InfluxDB
必须有 ThingWorx 8.4 或更高版本才能使用 InfluxDB。如果您的系统需要密集处理时间序列数据,并且您的实现在很大程度上依赖于值流或流进行数据的持久化/检索,那么,建议您在 ThingWorx 中使用 InfluxDB 作为持久化方案提供工具。InfluxDB 是专为时间序列数据编写的高性能数据存储写入。它允许对同一数据进行高吞吐量的提取、压缩和实时查询。InfluxDB 可用作任何涉及大量时间戳数据的用例的数据存储,包括 DevOps 监控、日志数据、应用程序指标、IoT 传感器数据和实时分析。它还提供了其他功能,包括数据保留策略 (RP) 等。InfluxDB Enterprise 针对时间序列数据需求提供了高可用性和高可扩展性的群集解决方案。
InfluxPersistenceProviderPackage 可在 ThingWorx 中与持久化方案提供工具一起使用,作为 PostgreSQL 或 MSSQL 的默认安装的一部分。
InfluxDB 数据提供工具目前仅支持值流和流。不支持数据表、wiki 和博客。
InfluxDB 数据提供工具目前不支持导出功能。
InfluxDB 当前不支持作为属性提供工具。
如果您使用持久化方案提供工具实例 (通过 InfluxDB 持久化方案提供工具包创建) 作为默认的持久化方案提供工具,则可编辑流和值流队列配置设置,这些设置将应用于所有流和值流。对于特定流或值流,不能更改这些设置。
有关使用 InfluxDB 作为持久化方案提供工具的信息,请参阅使用 InfluxDB 作为持久化方案提供工具
这对您有帮助吗?