“增量负载”是啥意思?

Posted

技术标签:

【中文标题】“增量负载”是啥意思?【英文标题】:What does "incremental load" mean?“增量负载”是什么意思? 【发布时间】:2011-05-27 03:35:29 【问题描述】:

我在阅读文章时经常看到“增量加载”的表达

真正(技术上)是什么意思?这意味着什么?

欢迎使用用例进行解释。

【问题讨论】:

【参考方案1】:

通常意味着仅将自上次加载以来发生变化的记录(插入、更新和删除,如果适用)加载到仓库中;而不是将所有数据(所有记录,包括自上次加载以来未更改的记录)全部加载到仓库中。

优点是它减少了从系统传输到系统的数据量,因为根据数据量的不同,完全加载可能需要数小时/数天才能完成。

主要缺点是可维护性。满载时,如果出现错误,您可以重新运行整个负载,而无需在清理/准备方面做很多其他事情。对于增量加载,文件通常需要按顺序加载。因此,如果您对一批有问题,其他人会排在后面,直到您纠正它。或者,您可能会发现几天前的批次中有错误,并且需要在更正后重新加载该批次,然后再加载每个后续批次,以确保仓库中的数据一致。

【讨论】:

增量加载是否意味着如果源中不存在这些行,它也会从目标中删除这些行?应该澄清这一点,因为插入和更新很清楚。【参考方案2】:

将数据从一个存储库(数据库)移动到另一个存储库时使用增量加载。

非增量加载是指目标将来自源的全部数据推送到它。

增量只会传递新的和修改后的数据。

一个具体的例子:

一家公司可能有两个平台,一个 处理订单和一个单独的 会计系统。账目 部门输入新客户详细信息 进入会计系统,但必须 确保这些客户出现在 订单处理系统。

为此,它每晚运行一个批处理作业 从会计发送数据 系统到订单系统。

如果他们要删除所有客户 订单系统中的详细信息和 与所有客户一起补充 会计系统然后他们会 正在执行非增量加载。

如果他们只发送新的 客户和拥有的客户 被改变了,他们将表演 增量负载。

【讨论】:

以上是关于“增量负载”是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

Sqoop 带有 Epoch 时间戳的增量负载

Redshift 中的增量负载

如何创建临时表来处理增量负载

记录历史的 T-SQL 中的增量负载

从 blob 存储到 azure 表存储的增量负载

Pivotal Greenplum - 增量数据问题