数仓基础知识_拉链表的详细讲解
拉链表核心思想,像个拉链,支持开链,支持闭链,支持退链,我们通常将最新的数据称为开链数据,历史数据称为闭链数据,拉链表支持历史数据查询,且空间占用较小,但是数据加工处理较为繁琐,属于时间换空间的设计方式,拉链表一个时间维度中同一个用户只保存一条用户状态。第一次加载因为拉链表历史数据为空,所以所有数据
详细记录拉链表的实现过程
1)直接更新,也就是用业务库中发生变化的数据覆写数仓中的数据,这种实现方式可以保持数仓与业务库数据保持一致,缺点是只能保存当前最新的数据,对这条数据修改之前的历史数据不做维护,一般很少采用这种实现方式,除非历史数据本身就是错误的,没有使用价值。此时这张拉链表就是只包含最新的记录信息,而上面那张拉链表
拉链表详解
拉链表产生背景在数据仓库的数据模型设计过程中,经常会遇到这样的需求:1、数据量比较大;2、表中的部分字段会被update,如用户的地址,产品的描述信息,订单的状态等等;3、需要查看某一个时间点或者时间段的历史快照信息,比如,查看某一个订单在历史某一个时间点的状态,比如,查看某一个用户在过去某一段时间