如何保证数据加工处理过程中的事务完整性
ReiKing对事务的完整性可以通过以下两种方式来保证
- 选择对数据加工处理服务完成后的数据库提交方式
- 事后补偿
选择对数据加工处理服务完成后的数据库提交方式,主要是指表复制服务、表转换服务、表路由服务等在数据加工处理完成后将执行数据提交命令,缓存在数据库中数据被全部提交到数据库中。采用这种方式,在数据加工处理服务过程中,数据已经传到数据库,并且也已经作了数据库方的缓存,只是等到全部完毕后才提交,用于保证到处理出现意外时,数据将被回滚,来保证事务的完整性。这种方式可以通过可视化的方式来配置。
下图是表复制的事务完整性配置,在表复制定义界面内,选择补充配置页,选择数据库的数据提交类型为完成后提交方式。
对于表转换服务/表路由服务/表-文件转换服务,在其定义界面内选择修改条件按钮将弹出条件设置对话框,在条件设置对话框内选择数据库的数据提交类型为完成后提交方式。
事后补偿方式是指通过增加数据加工处理的反过程,来将已经插入到数据库的数据反向操作,来保证事务的完整性,这种方式是借助流程的意外处理定义来实现的,下图为ReiKing通过流程增加补偿处理的例子,当事实表加工出现意外时,执行意外处理补偿处理,该处理根据业务情况的而写的SQL语句。


