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

如果问题简化到你只有一张表,可能是一张 MySQL 的表,里面只有几百万行数据,你可能想将其同步到一张 Hive 表中。基于这种情况,大部分问题都不会遇到。因为结构是确定的,数据量很小,且没有所谓的并行化问题。

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

但在一个实际的企业场景下,如果做一个数据融合系统,就不可避免要面临几方面的挑战:

第一,“动态性”

数据源会不断地发生变化,主要归因于:表结构的变化,表的增减。针对这些情况,你需要有一些相应的策略进行处理。

第二,“可伸缩性”

任何一个分布式系统,必须要提供可伸缩性。因为你不是只同步一张表,通常会有大量数据同步任务在进行着。如何在一个集群或多个集群中进行统一的调度,保证任务并行执行的效率,这是一个要解决的基本问题。

第三,“容错性”

推荐阅读