【数仓面试】什么是拉链表? |
您所在的位置:网站首页 › 拉链表取数 › 【数仓面试】什么是拉链表? |
面试官:什么是拉链表?
当一条数据有变动时,如更新、删除、新增,即想在原表中保留这条数据变更前的历史数据,又想保存最新的数据,就需要拉链表。 也就是,当一条数据有变动时,不把历史数据删除覆盖,而是既保存一条失效的历史记录,又保存一条最新的记录。 面试官:拉链表和增量表、全量表相比,有什么优势? 增量表:只保留一份最新全量数据,无法记录历史数据状态 全量表:每天保留一份全量数据,可以保留所有历史数据,但占用过多存储空间 拉链表:既能保留历史数据状态,有能保存最新数据状态,且不浪费存储 面试官:拉链表设计方法,怎么更新?可以在增量表的基础上增加2个字段: 数据有效期起始日期 数据有效期结束日期拉链表数据更新方法: 当数据状态有删除变更时,历史数据置为失效(结束日期设置为前一日),同时新增一条数据的最新记录(起始日期设置为当日,结束日期设置为业务失效日期或'9999-12-31')。 下游从拉链表取数: where 起始日期=当日(即只取有效日期内的数据) |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |