历史版本49 :增量更新概述 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 应用场景

若数据库中有一张表,每天都会新增数据。这时候用户可以使用「增量更新」,只将每天新增的数据更新到 FineBI 中。这样就不需要更新整张数据表,节省了更新时间和更新资源。

1.2 功能简介

满足以下条件的数据表,比较适合使用增量更新

  • 表内有「时间戳」字段,可用来和「更新时间」做对比实现增量更新

  • 历史数据不会变动

增量更新的表常用于频繁更新且数据量比较大的表。若是单表的数据量比较小,或者一个月才更新一回,那使用全量更新也没问题。

1.3 注意事项

  • 不支持增量更新的表:服务器数据集做了行列转换或自循环列的基础表Excel数据集自助数据集。(Excel 数据集不能增量更新,只能追加上传,详情请参见 追加上传 。)

  • 必须进行一次 全量更新 后才可以做增量更新,且增量语句不可以为空。

  • 全量更新为将数据库中所有数据覆盖至 BI 数据表中,增量更新更新数据则取决于 SQL 语句。

2. 操作简介编辑

选中要增量更新的表,在「更新信息」下找到「单表更新」,如下图所示:

34.png

进入到单表更新设置界面如下图所示:

 35.png

可以看到有两种增量更新方式:增量增加、增量删除

2.1 增量增加

在下方写入 SQL 语句取数,「增量增加」会将从数据库中取出来的数据加到 FineBI 引擎中,如下图所示:

常用于需要定时新增数据的情况。

22.png

2.2 增量删除

在下方写入 SQL 语句,系统会从 FineBI 引擎中取出该部分数据进行删除,如下图所示:

用户可以通过「增量删除」删除 FineBI 引擎中不需要的数据。不过增量删除很少单独使用,通常情况下是用于修改数据,可参见本文 2.3 节。

2.3 增量修改

搭配使用「增量增加」和「增量删除」,比如说先删除 FineBI 中一部分数据后,再将数据库中的数据加入到 FineBI 引擎中。

3. 注意事项编辑

3.1 增量更新重复执行导致数据重复

若用户增量更新时不小心重复更新,导致 FineBI 中数据重复怎么办?

这时候只需要执行一次全量更新,数据库的数据会重新覆盖 FineBI 引擎中的数据,从而保证 FineBI 引擎中的数据和数据库保持一致。

36.png

3.2 增量删除后磁盘空间不变化

用户在进行增量删除后,发现磁盘空间没有相应减少。这是因为 FineBI 在进行增量删除后不会立即释放磁盘空间,而是先将数据标记为删除。当标记删除的数据量达到一定数量时, 就会一起删除释放磁盘空间。