如何构建批流一体数据融合平台的一致性语义保证?( 九 )

无论是同步一整块的历史数据,还是同步某一天的增量,该部分数据到目的地,必须是以事务性的方式出现的。而不是在同步一半时,数据就已经在目的地出现了,这可能会影响下游的一些计算逻辑。

第二种需求,流式数据尽可能快的完成同步

大家都希望越快越好,但相应的,同步的越快,吞吐量有可能因为你的参数设置出现相应的下降,这可能需要有一个权衡。

第三种需求,批量和流式可能共存于一个 JOB

作为一个数据融合产品,当用户在使用DataPipeline时,通常需要将存量数据同步完,后面紧接着去接增量。然后存量与增量之间需要进行一个无缝切换,中间的数据不要丢、也不要多。

第四种需求,按需灵活选择一致性语义保证

DataPipeline 作为一个产品,在客户的环境中,我们无法对客户数据本身的特性提出强制要求。我们不能要求客户数据一定要有主键或者有唯一性的索引。所以在不同场景下,对于一致性语义保证,用户的要求也不一样的:

推荐阅读