文章目录

  • 数仓理论
    • 1 表的分类
      • 1.1 实体表
      • 1.2 维度表
      • 1.3 事务型事实表
      • 1.4 周期型事实表
    • 1.2 同步策略
      • 1.1 实体表同步策略
      • 1.2 维度表同步策略
      • 1.3 事务型事实表同步策略
      • 1.4 周期型事实表同步策略

数仓理论

1 表的分类

1.1 实体表

实体表,一般是指一个现实存在的业务对象,比如用户,商品,商家,销售员等等。

用户表:

用户id  姓名    生日              性别       邮箱    用户等级       创建时间1       张三    2011-11-11       男    zs@163.com         2          2018-11-112      李四    2011-11-11       女    ls@163.com         3          2018-11-113      王五    2011-11-11      中性    ww@163.com         1          2018-11-11

1.2 维度表

维度表,一般是指对应一些业务状态,编号的解释表。也可以称之为码表。
比如地区表,订单状态,支付方式,审批状态,商品分类等等。

订单状态表:

   订单状态编号             订单状态名称1                    未支付2                     支付3                    发货中4                    已发货5                    已完成

商品分类表:

    商品分类编号          分类名称1                 服装2                 保健3                 电器4                 图书

1.3 事务型事实表

事务型事实表,一般指随着业务发生不断产生的数据。特点是一旦发生不会再变化。
一般比如,交易流水,操作日志,出库入库记录等等。
交易流水表:

编号   对外业务编号   订单编号   用户编号       支付宝交易流水编号    支付金额            交易内容          支付类型            支付时间
1       7577697945      1         111       QEyF-63000323        223.00         海狗人参丸1    alipay        2019-02-10 00:50:02
2       0170099522      2         222       qdwV-25111279        589.00         海狗人参丸2    wechatpay     2019-02-10 00:50:02
3       1840931679      3         666       hSUS-65716585        485.00         海狗人参丸3    unionpay      2019-02-10 00:50:02

1.4 周期型事实表

周期型事实表,一般指随着业务发生不断产生的数据。
与事务型不同的是,数据会随着业务周期性的推进而变化。
比如订单,其中订单状态会周期性变化。再比如,请假、贷款申请,随着批复状态在周期性变化。
订单表:

订单编号     订单金额         订单状态       用户id        支付方式          支付流水号           创建时间            操作时间1         223.00          2            111        alipay      QEyF-63000323   2019-02-10 00:01:29 2019-02-10 00:01:292            589.00          2            222        wechatpay   qdwV-25111279   2019-02-10 00:05:02 2019-02-10 00:05:023            485.00          1            666        unionpay    hSUS-65716585   2019-02-10 00:50:02 2019-02-10 00:50:02

1.2 同步策略

数据同步策略的类型包括:全量表、增量表、新增及变化表、拉链表

  • 全量表:存储完整的数据。
  • 增量表:存储新增加的数据。
  • 新增及变化表:存储新增加的数据和变化的数据。
  • 拉链表:对新增及变化表做定期合并。

1.1 实体表同步策略

实体表:比如用户,商品,商家,销售员等
实体表数据量比较小:通常可以做每日全量,就是每天存一份完整数据。即每日全量。

1.2 维度表同步策略

维度表:比如订单状态,审批状态,商品分类
维度表数据量比较小:通常可以做每日全量,就是每天存一份完整数据。即每日全量。
说明:
1)针对可能会有变化的状态数据可以存储每日全量。
2)没变化的客观世界的维度(比如性别,地区,民族,政治成分,鞋子尺码)可以只存一份固定值。

1.3 事务型事实表同步策略

事务型事实表:比如,交易流水,操作日志,出库入库记录等。
因为数据不会变化,而且数据量巨大,所以每天只同步新增数据即可,所以可以做成每日增量表,即每日创建一个分区存储。

1.4 周期型事实表同步策略

周期型事实表:比如,订单、请假、贷款申请等
这类表从数据量的角度,存每日全量的话,数据量太大,冗余也太大。如果用每日增量的话无法反应数据变化。
每日新增及变化量,包括了当日的新增和修改。一般来说这个表,足够计算大部分当日数据的。但是这种依然无法解决能够得到某一个历史时间点(时间切片)的切片数据。
所以要用利用每日新增和变化表,制作一张拉链表,以方便的取到某个时间切片的快照数据。所以我们需要得到每日新增及变化量。
拉链表:

name姓名   start新名字创建时间    end名字更改时间张三          1990/1/1         2018/12/31张小三          2019/1/1         2019/4/30张大三           2019/5/1         9999-99-99

select * from user where start =<’2019-1-2’ and end>=’2019-1-2’

大数据理论篇--表分类及同步策略相关推荐

  1. 女友问粉丝过万如何庆祝,我发万字长文《保姆级大数据入门篇》感恩粉丝们支持,学姐|学妹|学弟|小白看了就懂

    2021大数据领域优质创作博客,带你从入门到精通,该博客每天更新,逐渐完善大数据各个知识体系的文章,帮助大家更高效学习. 有对大数据感兴趣的可以关注微信公众号:三帮大数据 目录 粉丝破万了 新星计划申 ...

  2. 2019尚硅谷大数据Javaweb篇三 Ajax、JSTL、会话技术、过滤器、监听器、xml、json

    2019尚硅谷大数据 Javaweb篇三Ajax.JSTL.会话技术.过滤器.监听器 tags: 大数据 2019尚学堂 categories: Ajax异步请求 JSTL中的if和forEach 会 ...

  3. 女友问粉丝过万如何庆祝,我发长文《保姆级大数据入门篇》感恩粉丝们支持,学姐|学弟看了就懂

    文章目录 粉丝破万了 新星计划申请时粉丝数 新星内卷抢热榜之旅 运营整顿新星执行新规 重整旗鼓输出内容为王 女友问粉丝过万如何庆祝 保姆级大数据入门篇 一.学习重点划定 二.Java和大数据关系 三. ...

  4. 2019尚硅谷大数据Maven篇一 Maven安装和概念

    2019尚硅谷大数据Maven篇一安装和概念 tags: golang 2019尚硅谷 categories: java Maven 安装 依赖 概念 文章目录 2019尚硅谷大数据Maven篇一安装 ...

  5. 大数据理论与实践6 分布式ETL工具Sqoop

    ETL是指数据收集层,指的是数据抽取(Extract).转换(Transform).加载(Load),在真正的大数据工作中,很大的工作量都在做这一块的内容. Sqoop简介 只要用于在Hadoop和关 ...

  6. 大数据理论与实践5 分布式计算框架MapReduce和Spark

    MapReduce和Spark MapReduce 简介 原理示例 基本概念 作业运行模式 Spark 简介 概念 编程模型 RDD RDD操作(Operator) RDD依赖(Dependency) ...

  7. 大数据基础篇~JavaSE第一章

    大数据基础篇教程分享01 目前计算机专业现状,java开发工程师虽然容易找工作(这个也是在你在大学期间java基础学习的比较好,然后会一些框架,才能找到工作)但是java开发常常熬夜,楼主就是卷不动j ...

  8. 大数据培训ClickHouse表引擎

    表引擎 表引擎(即表的类型)决定了: 1)数据的存储方式和位置,写到哪里以及从哪里读取数据 2)支持哪些查询以及如何支持. 3)并发数据访问. 4)索引的使用(如果存在). 5)是否可以执行多线程请求 ...

  9. 一起重新开始学大数据-java篇-DAY01-第一个java代码helloworld

    一起重新开始学大数据-java篇 -DAY01-第一个java代码helloworld 计算机: 按照指定程序,自动高速处理海量数据 计算机组成 硬件和软件组成 硬件: cpu:计算 内存:提供计算资 ...

最新文章

  1. SpringtMVC中配置 mvc:annotation-driven/ 与 mvc:default-servlet-handler/ 的作用
  2. 丹妮在使用计算机计算,美国工程院院士丹妮拉•鲁斯:每个人都有自己的机器人...
  3. 新手应该如何有效地学习.net
  4. 线性规划之单纯形法(1)
  5. python 化学结构_PyOrganic
  6. sql server 服务器之间传递消息,SQL Server 2008 Service Broker教程 - 无法接收消息(transmission_status中的异常)...
  7. ASP.NET Core技术研究-探秘依赖注入框架
  8. 为什么你应该尝试@reach/router
  9. 测试项目开源_测验您对开源的承诺
  10. 3.10 触发字检测
  11. SQL数据去重复 Distinct 和 row_number() over()
  12. 理解 LSTM 及其图示
  13. java基于springboot+vue的旧物置换网站
  14. 软件测试周刊(第46期):走好选择的路,别选择好走的路,你才能拥有真正的自己。
  15. 求三个正整数的最大公约数和最小公倍数
  16. python机器学习实践和kaggle实践
  17. 谷歌浏览器使用记住密码功能 导致input 输入框样式改变的解决办法
  18. Executors.newFixedThreadPool(int threads)和Executors.newCachedThreadPool()
  19. 玩vr游戏的计算机配置要求,4款电脑横向评测: 寻找最适合玩VR的PC配置
  20. caxa二次开发实例展示

热门文章

  1. NR R17 标准梳理,再战5G,未来可期(转载)
  2. 【案例学习】美国大都会人寿保险公司的 Docker EE 实践
  3. Linux--查看文件的详细信息及其含义
  4. cordova vue ios调用camera拍照保存图片时闪退 iOS11之后
  5. ioremap和memremap
  6. Linux摄像头驱动1——vivid
  7. java 数据结构与算法 ——快速排序法
  8. Vim 复制粘贴探秘 ----vim 粘贴 取消缩进zz
  9. Caused by:javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or ciph
  10. whileuntil循环详解