正在检测增量记录以进行夜间捕获?

问题描述 投票:2回答:2

我有一个现有的HANA仓库,它没有创建/更新时间戳。我需要生成许多夜间批处理增量文件,以发送到另一个平台。我的问题是如何检测哪些记录是新记录或更改记录,以便可以在复制过程中捕获这些记录。

是否可以使用HANA的内置功能来检测新记录/更改的记录?

database-replication hana cdc change-data-capture
2个回答
5
投票

SAP HANA不为表提供常规更改数据捕获接口(最新版本为HANA 2 SPS 02)。这意味着,要检测“自给定时间点以来更改的记录”,必须采取其他方法。

取决于表中的信息,可以使用不同的选项:

  • 如果表中明确包含对上次更改时间的引用,则可以使用
  • 如果表具有保证的更新特征(例如,没有就地更新和单调ID值),则可以使用此表。例如。读取ID大于最后处理的ID的所有记录
  • 如果表未提供有关更改时间的固有信息,则可以维护包含以下内容的表的副本:到目前为止只处理了记录。然后可以将此副本用于比较当前表并计算差异。 SAP HANA的智能数据集成(SDI)流程图支持此方法。

以我的经验,尝试解决“δ负载”这个看似简单的问题上的“节省时间和金钱”通常比使用ETL工具的相应功能更加复杂,耗时且昂贵。


2
投票
可以根据需要创建一个日志表并组织列,这样,通过在数据库表上创建触发器,您可以创建带有时间戳值的日志记录。然后,您可以查询日志表以确定从源表中插入,更新或删除了哪些记录。
© www.soinside.com 2019 - 2024. All rights reserved.