【数仓面试】什么是拉链表?

您所在的位置:网站首页 拉链表取数 【数仓面试】什么是拉链表?

【数仓面试】什么是拉链表?

2024-07-14 23:39| 来源: 网络整理| 查看: 265

面试官:什么是拉链表?

当一条数据有变动时,如更新、删除、新增,即想在原表中保留这条数据变更前的历史数据,又想保存最新的数据,就需要拉链表。 也就是,当一条数据有变动时,不把历史数据删除覆盖,而是既保存一条失效的历史记录,又保存一条最新的记录。

面试官:拉链表和增量表、全量表相比,有什么优势? 增量表:只保留一份最新全量数据,无法记录历史数据状态 全量表:每天保留一份全量数据,可以保留所有历史数据,但占用过多存储空间 拉链表:既能保留历史数据状态,有能保存最新数据状态,且不浪费存储 面试官:拉链表设计方法,怎么更新?

可以在增量表的基础上增加2个字段:

数据有效期起始日期 数据有效期结束日期

拉链表数据更新方法: 当数据状态有删除变更时,历史数据置为失效(结束日期设置为前一日),同时新增一条数据的最新记录(起始日期设置为当日,结束日期设置为业务失效日期或'9999-12-31')。

下游从拉链表取数: where 起始日期=当日(即只取有效日期内的数据)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3