开发应用程序的最佳做法 > 资产建模 > 确定正确的数据存储选项
确定正确的数据存储选项
确定数据存储选项特定于您的应用程序。您可能需要考虑针对您的应用程序所选的数据存储选项的流程和成本。有多个数据存储选项可供选用:
ThingWorx 使用的内部数据库有 PostgreSQL、MS SQL 或 SAP HANA 等。通常情况下,PostgreSQL 可以很好地执行数据存储,容量最高可达约 500 GB。
* 
仅非生产实例支持 H2,因为这些实例不支持大量数据。
当每秒写入次数超过 ThingWorx 所用内部数据库的限制时,请使用 DataStax Enterprise (DSE)。请参阅 ThingWorx 规模度量计算器。如果您已完成针对 ThingWorx 服务器的规模度量,则可在 此处进行查看。
* 
自 ThingWorx Platform 8.5.0 版本起,不再出售 DSE,且未来的版本中将不再支持 DSE。有关详细信息,请参阅 终止销售文章。
使用可提供 JDBC 连接器的任何数据存储服务器。ThingWorx 平台可通过 JDBC 驱动程序连接到关系数据库,例如 Oracle。
* 
持久化方案提供工具可实现与数据存储的连接,并能够对这些数据执行 CRUD 操作。持久化方案提供工具属于 ThingWorx 中的实体类型。有关持久化方案提供工具的详细信息,请参阅 ThingWorx 模型和数据最佳做法指南。
下表根据应用程序中的数据类型,就数据存储的使用情况给出了相关建议:
数据存储选项
数据类型
关系数据库
使用复杂 SQL 的数据,例如联接、光标、临时表等。
由需要在数据库服务器上加以使用和执行的数据之间具有松散关系的非时间序列数据所构成的大型数据集。
ThingWorx 平台数据存储,例如 PostgreSQL、MS SQL 或 SAP HANA 等
简单历史数据、时间序列数据或不需要进行复合或递归计算的数据。
DataStax Enterprise
* 
自 ThingWorx Platform 8.5.0 版本起,不再出售 DSE,且未来的版本中将不再支持 DSE。有关详细信息,请参阅 终止销售文章。
适用于由具有顺序数据但不需要在数据库服务器上执行数据的非时间序列数据所构成的大型数据集。
选取数据存储选项的最佳做法
选取数据存储选项时,可以使用以下最佳做法:
如果需要执行以下任一任务,请使用外部数据存储选项:
查询流或值流中的大量数据
查询结果包含上百万行
实现数据库级自定义逻辑和计算,例如:存储的过程、触发器、联接、关系数据查询等。
ThingWorx 用作数据湖
与第三方分析和报告工具集成
添加其他索引和数据库基础结构
* 
建议您存档不经常访问的历史数据。
确定需要存储的数据量。如果数据可以存储在小型数据集 (大约 100,000 条记录或更少) 中,请使用 ThingWorx 平台存储。
确定您的应用程序所含的数据类型。
查询数据的频率会影响应用程序的性能。根据您希望查询数据的频率,建议使用下面两个选项之一:
要经常查询数据,请使用 JDBC 连接器来查询数据库。您可以将此 JDBC 连接器与 PostgreSQL 或 DataStax Enterprise 配合使用。
* 
自 ThingWorx Platform 8.5.0 版本起,不再出售 DSE,且未来的版本中将不再支持 DSE。有关详细信息,请参阅 终止销售文章。
如果不需要非常频繁地检索历史数据,则可以将所有数据迁移至单独的 ThingWorx 实例 (在数据表或流中) 或数据库服务器。