幂等写入:
一个操作重复执行很多次,但只导致一次结果的更改,也就是说后面重复执行就不起作用了。eg: pow(e,x)求多阶导还等于自己,HashMap,多次写入key相同的键值对等。
但需要注意的是,也会出现中间状态短暂的不一致,最终结果一致的情景。eg:flink的checkpoint还有流批结合做关联模型转换的ETL,这些不满足强一致性,但可实现最终一致性。
事务写入:
构建的事务对应着checkpoint,等到checkpoint真正完成的时候,才把所有对应的结果写入sink系统中,否则可回滚、撤销事务。
1. 预写日志(Write-Ahead-Log,WAL):把结果数据先当状态,提前在状态后端中缓存,然后在收到checkpoint完成的通知后,再一次性地写入到sink系统。
- 特点:简单易实