数据存储
数据表
数据表类似于标准关系数据库表,但两者在性能方面有很大差异。通常情况下,如果数据少于 100,000 行,则应使用数据表。对于较大的数据集,应使用关系数据库并通过数据库事物模板进行连接。数据形状用于定义数据表的列或字段。
* 
有关数据表的其他信息,请参阅 模型和数据最佳业务实践
现场或工作人员的维修工作单或生产线上的生产订单都可能会用到数据表。将这些数据存储在数据表中,可以轻松地为数据使用者创建自定义混搭。
数据表中包含以下预定义的字段:
时间戳:条目的创建时间。添加数据表条目时也可以提供时间戳。
* 
每个数据表事物服务都有一个类型为 DATETIME 的预定义时间戳公用属性。如果数据表使用的自定义数据形状定义了具有不同类型的时间戳字段,则执行查询服务时将出错。
标记:可标记数据表中的每个条目。数据标记能够帮助搜索并使用特定运行时数据。
:数据表条目的源。通常是写入数据表的事物名称或外部系统的标识符。
源类型:源 (如事物或用户) 的实体类型。
位置:数据表条目源的位置。
数据表模板
名称
说明
ContentCrawler
“内容爬网程序”事物用于调用另一个实体上的服务,该实体将返回数据的信息表并将其存储在“内容爬网程序”事物的数据表中。有关详细信息,请参阅 内容爬网程序
DataTable
存储非时序数据。有关详细信息,请参阅:
RemoteDataTable
针对正在运行并在另一台 ThingWorx 服务器上持久保留数据的数据表事物,创建本地代理对象。有关详细信息,请参阅 远程事物
索引设置的配置
您可以通过数据表的配置来定义其他表索引。这与关系数据库表类似,除了主键 (主键在数据形状中定义) 之外,还需要根据其他字段查询表。您应该为经常使用的每组筛选器标准创建一个索引。这将会对查询性能产生重大影响。
* 
添加一个或多个新的索引时,必须运行数据表上的 Reindex 服务,以便根据新定义对数据进行索引。如果数据表较大,这可能需要几分钟时间。
让我们查看一个有关销售订单的示例。销售订单数据表可能如下所示:SalesOrderID (primary key) CustomerName CustomerRegion OrderAmount SalesRep DueDate
创建数据形状并定义主键时,系统将自动为 SalesOrderID 创建表索引。但是,实际上,您可能会通过除主键之外的其他列来查询表。
* 
复合索引具有两个字段名称,之间以分号分隔。必须使用此格式,而且不能包含空格。
示例
例如,两个常用的查询可能是:
1. CustomerName = 'Some Customer Name' 时,获取表格数据
2. SalesRep = 'rep name' AND CustomerRegion = 'Northeast Region' 时,获取表格数据
在本例中,您将为两个常用查询分别创建一个索引。索引名称由您自行决定 - 它是一个语义名称,不会用于查询执行。因此索引可能如下所示:Index Name Index Field Names Customer CustomerName RepRegion SalesRep;CustomerRegion
持久化方案提供工具自定义设置的配置
如果您正在 使用 DataStax Enterprise (DSE) 作为持久化方案提供工具,您可以配置以下设置:
名称
默认值
数据表存储段计数
3
相关链接