1.数据同步

因为我们需要每天分析的数据都是最新的!!!所以就涉及数据的同步

2.表的种类及其概念:

一般情况下表分为三个类型,分别是实体表、维度表和事务表

2.1 实体表:

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

2.2 维度表:

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

  • 维度表可以分为两类:一般维度表和固定维度表

  • 一般维度表的数据是不断增加和变化的

  • 固定维度表的数据是不变的

2.3 事实表:

  • 事实表分为两类:事务型事实表和周期型事实表

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

  • 周期型事实表,一般指随着业务发生不断产生的数据。与事务型不同的是,数据会随着业务周期性的推进而变化。例如:订单,其中订单状态会发生周期性变化。

3.划分表的同步策略

3.1 实体表

可以做每日全量,就是每天存一份完整数据。即每日全量。

如果数据量较大比如百万级以上的可以把历史数据(比如半年以前的)做成拉链表,更久远的冷数据可以直接归档(单独移出,存到其他硬盘上)。

3.2 维度表

可能会有变化的数据可以存储每日全量。(比如订单类型,审批状态,商品分类)

3.3 事实表

  • 事务型事实表:(每日增量: 因为数据不会变化,而且数据量巨大,所以每天只同步新增数据即可。)

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

表类型

增长变化方式

数据量

同步策略(固定,每日增量、每日全量、每日新增变化、拉链表)

实体表

增加、变化

中等

近期每日全量,远期拉链表,更远期存磁盘

周期型事实表

增加、变化

增加及变化量 拉链表

事务型事实表

增加

每日增量

一般维度表

增加、变化

每日全量

固定维度表

不变

固定存一份

① 固定维度表:比如中国的省份表, 不会增加,不会变动,固定存一份就行。

② 事务性事实表:比如订单流水,    只会增加,不会变动。每日增量。

③ 周期型事务表、实体表、一般维度表 :我的建议是将增加及变化量做拉链表  或者 每日全量(数据量大不要考虑)

数据仓库之数据同步策略相关推荐

  1. 数据仓库数据同步策略

    1. 实时数仓同步数据 实时数仓数据由Flink源源不断从Kafka当中读数据计算,无需手动同步数据到实时数仓. 2.离线数仓同步数据 2.1 用户行为数据同步 2.1.1 数据通道 用户行为数据由F ...

  2. asp.net mvc redis同步mysql_Mysql和Redis数据同步策略 - 元思 - 博客园

    为什么对缓存只删除不更新 不更新缓存是防止并发更新导致的数据不一致. 所以为了降低数据不一致的概率,不应该更新缓存,而是直接将其删除, 然后等待下次发生cache miss时再把数据库中的数据同步到缓 ...

  3. Mysql和Redis数据同步策略

    为什么对缓存只删除不更新 不更新缓存是防止并发更新导致的数据不一致. 所以为了降低数据不一致的概率,不应该更新缓存,而是直接将其删除, 然后等待下次发生cache miss时再把数据库中的数据同步到缓 ...

  4. Canal数据同步策略

    缓存数据同步的常见方式有三种: 设置有效期:给缓存设置有效期,到期后自动删除.再次查询时更新 优势:简单.方便 缺点:时效性差,缓存过期之前可能不一致 场景:更新频率较低,时效性要求低的业务 同步双写 ...

  5. 集群没有leader_ZooKeeper 集群中 Leader 与 Follower 的4种数据同步策略

    首先要声明一点,zk集群中,leader服务器有着比较重要的存在,Follower 服务器只是处理非事务性请求,leader服务器主要负责事务性请求,Follower 服务器在遇到事务性请求以后还是会 ...

  6. Apache ZooKeeper - ZooKeeper 集群中 Leader 与 Follower 的数据同步策略

    文章目录 流程图 why ? How ? 何时触发数据同步的机制? 同步哪些数据 同步方式 DIFF 同步 TRUNC+DIFF 同步 TRUNC 同步 SNAP 同步 同步后的处理 源码分析 流程图 ...

  7. kafka中副本数据同步策略 ,acknowledge的发送策略,kafka的数据可靠性保证

    ack(acknowledge)简介 为保证producer发送的数据,能可靠的发送到指定的topic,topic的每个partition收到producer发送的消息后,都需要向producer发送 ...

  8. kafka副本数据同步策略

  9. 云享团——基于大数据开发套件的增量同步策略

    免费开通大数据服务:https://www.aliyun.com/product/odps 转载自云享团 因为近期遇到用户在做ETL操作导入数据到MaxCompute的时候,对如何设置数据同步策略有疑 ...

最新文章

  1. delphi解决:Thread error 拒绝访问(5)
  2. 对于webservice响应,text / xml与application / xml之间有什么区别
  3. 5.3多线程条件变量
  4. git 创建 本地 裸 仓库
  5. 利用批处理自动执行sql脚本、备份、还原数据库
  6. 适用于高级Java开发人员的十大书籍
  7. 微服务与单体架构:IT变革中企业及个体如何自处?
  8. 李国庆夺章后“发配”俞渝,当当网上线“从摔杯到抢章”专题,书目亮了
  9. 公司想建个FTP文件服务器,自己折腾把一台电脑做成文件服务器了,但是考虑稳定性放弃,计划买个有哪些建议?
  10. 20190820:(leetcode习题)有效的字母异位词
  11. Teraco公司投资9000万美元扩建其在南非数据中心
  12. 自学Android资料大放送
  13. java是否存在引用传递_Java永远不会传递引用,对吧?
  14. OSError: [WinError 126] module could not be found(OSError: [WinError 126] 找不到指定的模块)
  15. eclipse导入项目jsp页面报错完美解决
  16. centOS 8 报错:Failed to set locale, defaulting to C.UTF-8
  17. Flying-Saucer使用HTML或者FTL(Freemarker模板)生成PDF
  18. 互联网风控系统架构分析
  19. npm 和 cnpm 区别
  20. STM32夺命100问,你知道几个?

热门文章

  1. 谈下mysql中间件(问题域、业内组件)
  2. dhrystone和coremark测试比较
  3. 新浪哪些信息微博服务器被覆盖,新浪微博自动发布评论9.8(新浪微博助手)黄金版...
  4. django 使用配置文件实现登录方式(人脸、密码、刷卡、指纹等)的自定义选择
  5. 双11物流或超10亿件 快递员招聘月薪高达1.2万
  6. Python中is、not、is not的区别
  7. Excel中批量添加超链接
  8. 普通exe文件、Python脚本、.Net项目写进win系统服务方法总结
  9. I/O多路转换之select与select服务器
  10. web前端学习中CSS,JS代码压缩