1、APACHE IOTDB 0.13:支持更复杂的工业读写与分析负载黄向东清华大学Apache IoTDB PMC ChairApache Member|01复杂工业场景02技术选型探讨03Apache IoTDB v0.1304应用实践目录 CONTENT|适配复杂场景版本新特性IoTDB的一些技术细节从采集到查询复杂工业场景01|从采集到查询什么是物联网时序数据时间物理量(航速、载荷、电量)特殊工况时序数据是设备物理量的数字化记录,是物理世界的真实刻画|风场设备号时间转向角发电量2799315:58:265352799315:58:445362799315:59:045362799315:5
2、9:245362799315:59:35536时序数据人产生数据人产生数字化数据机器产生数字化数据复杂工业场景|存储采集查询应用-模式演变-测点独立-时钟不齐-频率不一-乱序-高通量-数据质量差-查询定制化-端-边-云家用、工业用?9913(762)测点越是高价值设备,其数据负载越复杂设备的感知能力尚未被充分挖掘和使用|l 集团公司l 风场l 风力发电机l功率l电压值l电流值l风速l角速度l 城市l 桥梁名称l支座位移l动态应变l静态应变l挠度l振动采集带来的复杂性(模式)数据模式怎么表达?采集带来的复杂性(负载)|复杂负载规则负载设备ID时间测点1测点2测点10000宽表长表表202001表
3、202003稀疏表时间测点1 测点2 测点3t1vvt2vtnvv各测点独立采集时间不齐单设备数万测点超高频采样频率存储带来的复杂性(乱序)|场景1:由于网络延迟、设备故障等原因数据无法完全保序到达 场景2:由于设备故障、损坏等原因,在进行分析等操作前需要对错误数据进行修正 场景3:由于网络等原因、数据可能缺失时序数据数据乱序操作的需求数据库需要支持时间序列数据的乱序写入数据库需要支持时间序列数据的更新修复排口有大量取值异常的采样点,例如PH值超过10,000各种数据管理需求频繁出现数据不连续现象存在大量乱序数据,乱序时长从0-300分钟不等,其中30分钟以内乱序数据较多|查询带来的复杂性(处
4、理加工)select s1 from root.sg.device1!#$%&()*+,-.where time?and s1?(/012group by(?,?,1m)3456789:;#$?A6;/B0CDEFCG6HICDJEFKL6MNCDB0OPE#$QRST,摘要表2min:1max:4count:4min:5max:8count:4min:9max:10count:2摘要快速构建灵活聚合高效查询时间分区树3FlatFIT1滑动窗口聚合多级索引一级索引快速构建高效查询任意窗口|查询带来的复杂性(处理加工)select s1 from root.sg.device1!#$%&()*+
5、,-.where time?and s1?(/012group by(?,?,1m)3456789:;#$?A6;/B0CDEFCG6HICDJEFKL6MNCDB0OPE#$QRST,摘要表2min:1max:4count:4min:5max:8count:4min:9max:10count:2摘要快速构建灵活聚合高效查询时间分区树3FlatFIT1滑动窗口聚合多级索引一级索引快速构建高效查询任意窗口哪些查询处理任务,可以交给数据库来完成?技术选型探讨02|IoTDB的一些技术细节关系模型标签模型物联网模型树形结构-适合描述装备的组成结构-适合描述装备的层级从属关系-适合描述零部件的替换 单
6、表列数上限MySQL InnoDB 为1017列PostgreSQL 为1600列 单表行数不易过多小于1000万行 水平、垂直分表;分库 丢失业务语义层级关系 灵活性的权衡数据模式选型|CSVORCParquet流行的数据文件格式|建模方式1(多个设备一个文件)建模方式2(多个设备一个文件)?候选文件逻辑结构|建模方式3(一个设备一个文件)建模方式3(一个序列一个文件)候选文件逻辑结构|对比项建模1建模2建模3建模4文件数可控可控设备数序列数冗余存储设备名设备名测点名无无查询速度中慢快快候选文件逻辑结构|维度技术优化时序模型设备、物理量、时间、值存储模型对齐序列、非对齐序列写入优化列式存储、