Appearance
表类型说明
系统中数据库的表分为:数据表
、实时表
、 配置表
、 系统表
创建方法请参考SQL参考/SQL语法。
数据表
数据表是系统中最重要的数据存储表,在数据表中必须包括分类键和时间信息。系统会根据用户的分类键信息和数据条目的时间对当前记录进行自动的时间分区和数据 Key 分区存储。
例如 智能汽车场景中GB/T-32960.3 规范定义的车辆信息
VIN(唯一编码) 就是数据表中的分类键 (Key).
TM (时间) 就是数据表中的时间(Time).
其他字段如:SOC、车速、运行模式等就是数据字段(数据字段根据业务需要进行定义)。
数据表中的分类键和时间是必选项。必须设置。
实时表
实时表是系统中的虚拟数据表。它是系统数据表的数据实时切片。例如系统定义了数据表 GBT32996
,那么系统在内部会产生一个与GBT32996
结构完全一致的一张数据表GBT32996_rt
,其中_rt 代表 (RealTime) 实时信息。数据表中会根据用户的分类键,自动将对应 Key 的最后更新时间进行提取并放置在实时表中。每个 Key,仅保留时间最新的一条数据切片。
查询数据表操作示例:
sql
select * from GBT32996 limit 100
查询实时表操作示例:
sql
select * from GBT32996_rt limit 100
注意:实时表不允许新增、不允许删除、不允许修改。
系统若修改了对应的数据表信息,系统会自动载入修改后的最新的实时数据切片。
例如 某车辆 VIN 为:027900010MBX00076
:
- 当该车在数据表中无任何记录,实时表中就无法查看到这辆车的数据。
- 车辆有了第一条记录为
2020年1月1日 00:00:00
记录时,实时表中将会出现同样记录。 - 当该车
2020年1月1日 00:00:01
出现后,之前的记录将2020年1月1日 00:00:00
更新为2020年1月1日 00:00:01
的记录 - 当该车
2020年1月1日 00:00:01
记录的记录被修改后,实时表中会同步更新。 - 若该车
2020年1月1日 00:00:01
被删除,实时表会提取出上一条有效时间2020年1月1日 00:00:00
的记录。 - 若该车全部数据被删除,实时表中将剔除当前车辆数据。
配置表
指一般用于存储业务基本信息的表。其主要特征是不强制要求提供分类键和时间。一般用于业务数据存储。
例如上诉示例中的 GBT32996
表内仅存储了系统时间序列数据,对应车辆信息(VIN)其他附属信息,如车辆厂家、出厂日期、检修记录等数据都应视为配置型信息。例如表名为vehicle_info
。
系统支持用户使用 Join 联合查询数据便于用户读取其对应车辆的基础信息。
sql
select a.vin,b.manufacturer from GBT32996_rt as a
join vehicle_info as b on a.vin = b.vin
where a.vin = '027900010MBX00076'
系统表
指系统用于管理用途的的信息表,包括用户信息、系统结构信息、权限信息等数据。数据库名称为system
,暂不提供对外展示和操作接口。