历史版本48 :增量更新概述 返回文档
编辑时间:
内容长度:图片数:目录数:
修改原因:
1. 概述编辑
1.1 应用场景
若数据库中有一张表,每天都会新增数据。这时候用户可以使用「增量更新」,只将每天新增的数据更新到 FineBI 中。这样就不需要更新整张数据表,节省了更新时间和更新资源。
1.2 功能简介
满足以下条件的数据表,比较适合使用增量更新
表内有「时间戳」字段,可用来和「更新时间」做对比实现增量更新
历史数据不会变动
增量更新的表常用于频繁更新且数据量比较大的表。若是单表的数据量比较小,或者一个月才更新一回,那使用全量更新也没问题。
1.3 注意事项
2. 操作简介编辑
选中要增量更新的表,在「更新信息」下找到「单表更新」,如下图所示:
进入到单表更新设置界面如下图所示:
可以看到有两种增量更新方式:增量增加、增量删除
2.1 增量增加
在下方写入 SQL 语句取数,「增量增加」会将从数据库中取出来的数据加到 FineBI 引擎中,如下图所示:
常用于需要定时新增数据的情况。
2.2 增量删除
在下方写入 SQL 语句,系统会从 FineBI 引擎中取出该部分数据进行删除,如下图所示:
用户可以通过「增量删除」删除 FineBI 引擎中不需要的数据。不过增量删除很少单独使用,通常情况下是用于修改数据,可参见本文 2.3 节。
2.3 增量修改
搭配使用「增量增加」和「增量删除」,比如说先删除 FineBI 中一部分数据后,再将数据库中的数据加入到 FineBI 引擎中。
3. 注意事项编辑
3.1 增量更新重复执行导致数据重复
若用户增量更新时不小心重复更新,导致 FineBI 中数据重复怎么办?
这时候只需要执行一次全量更新,数据库的数据会重新覆盖 FineBI 引擎中的数据,从而保证 FineBI 引擎中的数据和数据库保持一致。
3.2 增量删除后磁盘空间不变化
用户在进行增量删除后,发现磁盘空间没有相应减少。这是因为 FineBI 在进行增量删除后不会立即释放磁盘空间,而是先将数据标记为删除。当标记删除的数据量达到一定数量时, 就会一起删除释放磁盘空间。