在配置好底层存储引擎并定义了数据模型后,重点将转向填充数据仓库。数据摄取是原始信息的入口。在大规模场景下,简单地复制文件是不够的。必须考虑网络不稳定、模式演变以及入站事件的速度。本章介绍将数据可靠地从源系统传输到分析环境而不降低性能所需的工程模式。我们首先分析变更数据捕获 (CDC) 架构。与会给源数据库带来负担的基于查询的轮询不同,基于日志的 CDC 从事务日志中捕获二进制事件,以近实时方式同步状态。接下来,我们讨论幂等性在管道设计中的数学必要性。幂等过程确保重新运行失败的作业不会导致重复记录。形式上,对于数据转换函数 $f(x)$,幂等性保证:$$f(f(x)) = f(x)$$这一特性使您能够在网络故障常见的分布式环境中安全地重试管道。最后几节将比较微批加载和持续流式传输之间的权衡。尽管流式传输提供更低的延迟,但它在文件碎片和计算成本方面带来了挑战。我们还将评估管理迟到数据和水印的方法,以保持时间序列表中的时间准确性。在本章结束时,您将能够设计出平衡延迟要求与资源效率的摄取系统。