惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Microsoft Security Blog
Microsoft Security Blog
量子位
大猫的无限游戏
大猫的无限游戏
酷 壳 – CoolShell
酷 壳 – CoolShell
IT之家
IT之家
博客园 - 三生石上(FineUI控件)
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - Franky
美团技术团队
Last Week in AI
Last Week in AI
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
人人都是产品经理
人人都是产品经理
罗磊的独立博客
Jina AI
Jina AI
小众软件
小众软件
S
SegmentFault 最新的问题
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
雷峰网
雷峰网
博客园 - 聂微东
博客园_首页
The Cloudflare Blog
WordPress大学
WordPress大学
Apple Machine Learning Research
Apple Machine Learning Research
有赞技术团队
有赞技术团队

任霏博客

我将关闭服务器:AI彻底掐死了奄奄一息的个人博客 - 博客文章 - 任霏的个人博客网站 Vibe Coding 实现本地模型 Token 自由 IntelliJ IDEA + LM Studio + LM Link + Continue - 博客文章 - 任霏的个人博客网站 1Password涨价后,别急着退订1Password,这个操作能帮你省25% - 博客文章 - 任霏的个人博客网站 我,吃饱了撑的注册了个域名,Cloudflare账号没了,不建议将域名放在Cloudflare - 博客文章 - 任霏的个人博客网站 临时邮箱:保护隐私与免骚扰的新方式 - 博客文章 - 任霏的个人博客网站 价值4100万美元SOL被盗SwissBorg在Solana上遭遇安全事件超200万枚ETH排队退出质押 - 博客文章 - 任霏的个人博客网站 注意 Web3 钱包遭遇 NPM 超大规模供应链攻击投毒事件 - 博客文章 - 任霏的个人博客网站 我受到以太坊ERC-20假代币地址投毒攻击记录一下大家谨防上当受骗 - 博客文章 - 任霏的个人博客网站 在2025年使用显卡 NVIDIA RTX 2080 Ti 挖矿收益记录和分析还能不能挖矿 - 博客文章 - 任霏的个人博客网站 分享我是如何成功戒烟的经验(包含失败的经验) - 博客文章 - 任霏的个人博客网站 在 OpenWRT 中配置 PassWall2 插件的教程记录 - 博客文章 - 任霏的个人博客网站 Office Professional Plus 2019 VL 版下载与 KMS 激活 - 博客文章 - 任霏的个人博客网站 最近几天我的 CDN 流量受到来自电信[山东烟台]、[江苏扬州]两地家庭宽带的攻击 - 博客文章 - 任霏的个人博客网站 自建AI服务器使用PVE配置显卡直通虚拟机安装驱动、CUDA和cuDNN运行LLM大模型进行AI炼丹 - 博客文章 - 任霏的个人博客网站 各代英特尔Intel芯片组主板适配兼容的CPU和DDR内存数据统计 - 博客文章 - 任霏的个人博客网站 GitLab Global 国际站将在60天内删除中国大陆、香港、澳门地区的账号 - 博客文章 - 任霏的个人博客网站 Github Copilot Free 开放免费版所有人均可使用 OpenAI GPT-4o、Anthropic Claude 3.5 AI 代码生成服务 - 博客文章 - 任霏的个人博客网站 Cloudflare 更新了订阅协议明确禁止优选IP和搭建梯子的行为 - 博客文章 - 任霏的个人博客网站 Linux(systemd)手动离线安装二进制(binary)MairaDB数据库指定版本 - 博客文章 - 任霏的个人博客网站 流程引擎 Flowable/Activiti 无法启动报错:liquibase - Waiting for changelog lock.... - 博客文章 - 任霏的个人博客网站 Spring Boot 全局异常捕获 ControllerAdvice 无法捕获 过滤器(Filter)和拦截器(Interceptor)中的异常 - 博客文章 - 任霏的个人博客网站 Freenom 收回了全部免费域名(.tk/.cf/.gq/.ga/.ml) - 博客文章 - 任霏的个人博客网站 Alibaba Druid 数据库连接池 takeLast() AQS 死锁导致程序无响应 - 博客文章 - 任霏的个人博客网站 你的网站加入 HSTS preload 预加载列表了吗 - 博客文章 - 任霏的个人博客网站 我的博客网站接入使用 Cloudflare 的架构分享 - 博客文章 - 任霏的个人博客网站 在 Ubuntu 上的 Nginx 高并发配置实践 - 博客文章 - 任霏的个人博客网站 技术分析黑客敲诈勒索站长的新手法百度对此也无能为力 - 博客文章 - 任霏的个人博客网站 百度站长平台快速收录权限和sitemap提交权限被全部收回 - 博客文章 - 任霏的个人博客网站 极狐 GitLab 免费时代结束不升级付费账号将禁止登陆 - 博客文章 - 任霏的个人博客网站 免费.ml域名10年委托合同到期被马里共和国收回域名经营权 - 博客文章 - 任霏的个人博客网站
数据仓库的概念(四):全量表、增量表、拉链表、流水表、快...
任霏 · 2021-02-05 · via 任霏博客

教程索引目录请访问:《大数据技术入门级系列教程

上一篇文章我们了解了事实表、维度表和星型模型、雪花模型,除了这些在行业中还有一些专业名词需要了解,本篇文章将带你了解大数据行业“黑话”全量表、增量表、拉链表、流水表、快照表都是什么。可能下面的一些内容理解不了,等到搞 hive 的时候就知道了,先了解一下基本的知识。

全量表

跟它的名字一样好理解,就是全部数据,不管是旧的还是新的全都要,不分区,所有数据都储存在一个分区中,记录的是总量。

增量表

增量也非常好理解,截止到上次导出以后新增的数据就是增量了,只报变化的数据,没有变化的数据不用报,每天一个分区,记录的是增加的量。

快照表

根据它的名字,感觉是给数据照相,其实就是获取某个时间段内全部数据,咔嚓一声照个相,快门打开的这一段时间,也就是这个时间段内所有的数据被保存下来就是快照,每次上报的都是一个时间段内全部数据,每天一个分区。

拉链表

上面的表都比较常见,但这个拉链表可能有的同学就没见过了,重点说一下这个没见过的。

拉链表通常是对信息的历史变动进行处理保留的结果,也就说它是为了保持历史的一些状态,这样做目的在可以保留所有状态的情况下可以节省空间。

比如数据量很大,其中有些字段会变化,但是变化的频率比较低,可能好几个月好几年才变化一次,业务需要统计这种变化状态,每天做个全量在数据量大的情况下是不现实的,可能很快磁盘容量就不够了,这个时候就用到拉链表了。

比较有特点的是购物订单的状态变化,状态可能是下单、支付、发货、完成,甚至还有退货等分支状态,需求是可以查看订单在历史某一时间点的状态,咱们就先按正常的下单、支付、发货、完成的流程来演示拉链表:

  • start_date:表示该条记录生命周期开始时间
  • end_date:表示该条记录的生命周期结束时间
  • end_date = ‘9999-12-31 23:59:59’表示该条记录目前处于有效状态,也叫封链时间

下面是一张拉链表,存储的是订单基本信息和每条记录的生命周期。我们可以使用这种表拿到最新的当天的最新数据和之前的历史某一时间点的数据。

订单编号用户名状态start_dateend_date
12345678任霏完成2021-01-07 18:24:559999-12-31 23:59:59
25478512张三支付2021-01-03 15:45:369999-12-31 23:59:59
12345678任霏发货2021-01-04 10:32:152021-01-07 18:24:54
12345678任霏支付2021-01-03 15:45:242021-01-04 10:32:14
25478512张三下单2021-01-03 15:40:212021-01-03 15:45:36
12345678任霏下单2021-01-03 15:40:202021-01-03 15:45:23

如果查询当前订单’12345678‘的状态,则 select * from order where end_date = ‘9999-12-31 23:59:59’ and 订单编号 = ‘12345678’,我们就能拿到状态是“完成”状态

如果查询订单’12345678‘在 2021-01-04 08:32:14 这个时间点的状态,则select * from order where start_date<=‘2021-01-04 08:32:14’ and end_date>=‘2021-01-04 08:32:14’ and 订单编号 = ‘12345678’,我们就能拿到状态是“支付”状态

流水表

正如它的名字,流水记录,每次数据变更都会形成一条记录,可以用于反映实际记录的变更历史。流水表与拉链表也有些类似,不同的是拉链表可以根据拉链粒度存储数据,也就是只存储特定维度的数据变化记录;而流水表存储的是每一个修改记录。