关系型数据库支持事务处理,其事务机制一般将一系列数据库操作组合成一个逻辑单元。比如银行转账场景中,A 账户转出 10 元,B 账户转入 10 元,该事务中的所有操作只能全部成功执行或全部不执行。
这种事务机制能够在各种异常情况下(如系统崩溃、网络故障等)保障数据一致性和完整性。否则,多个操作进行数据修改可能部分成功、部分失败,导致数据不一致。因此,分布式系统中关系型数据库的事务机制需要记录数据过程状态,并提供失败回滚机制,进行并发控制。
而时序数据库主要应用的工业物联网场景中,传感器采集的数据只来自单一数据源,每条数据都是传感器对该时刻测点数值(如温度、风力)的真实记录,不存在同时修改两个数值的场景,也没有写写冲突的场景(多个人同时修改同一条数据),因此事务在时序数据库中是不必要的。时序数据库需要优先保证的是大量数据的高效稳定写入。