一、什么是数据同步

业务数据是数据仓库的重要数据来源,我们需要每日定时从业务数据库中抽取数据,传输到数据仓库中,之后再对数据进行分析统计。

为保证统计结果的正确性,需要保证数据仓库中的数据与业务数据库是同步的,离线数仓的计算周期通常为天,所以数据同步周期也通常为天,即每天同步一次即可。

数据的同步策略有全量同步和增量同步。

二、全量同步

        全量同步,就是每天都将业务数据库中的全部数据同步一份到数据仓库,这是保证两侧数据同步的最简单的方式。

三、增量同步

增量同步,就是每天只将业务数据中的新增及变化数据同步到数据仓库。采用每日增量同步的表,通常需要在首日先进行一次全量同步。

四、策略对比

同步策略

优点

缺点

全量同步

逻辑简单

在某些情况下效率较低。例如某张表数据量较大,但是每天数据的变化比例很低,若对其采用每日全量同步,则会重复同步和存储大量相同的数据。

增量同步

效率高,无需同步和存储重复数据

逻辑复杂,需要将每日的新增及变化数据同原来的数据进行整合,才能使用

五、工具

工具

DataX/Sqoop

Maxwell/Canal

对数据库的要求

原理是基于查询,故若想通过select查询获取新增及变化数据,就要求数据表中存在create_time、update_time等字段,然后根据这些字段获取变更数据。

要求数据库记录变更操作,例如MySQL需开启binlog。

数据的中间状态

由于是离线批量同步,故若一条数据在一天中变化多次,该方案只能获取最后一个状态,中间状态无法获取。

由于是实时获取所有的数据变更操作,所以可以获取变更数据的所有中间状态。

DataX/Sqoop适用于全量同步,Maxwell/Canal适用于增量同步

数据同步之全量同步与增量同步相关推荐

  1. MaxCompute 实现增量数据推送(全量比对增量逻辑)

    ODPS 2.0 支持了很多新的集合命令(专有云升级到3版本后陆续支持),简化了日常工作中求集合操作的繁琐程度.增加的SQL语法包括:UNOIN ALL.UNION DISTINCT并集,INTERS ...

  2. 基于Solr DIH实现MySQL表数据全量索引和增量索引

    实现MySQL表数据全量索引和增量索引,基于Solr DIH组件实现起来比较简单,只需要重复使用Solr的DIH(Data Import Handler)组件,对data-config.xml进行简单 ...

  3. solr mysql 增量索引_基于Solr DIH实现MySQL表数据全量索引和增量索引

    实现MySQL表数据全量索引和增量索引,基于Solr DIH组件实现起来比较简单,只需要重复使用Solr的DIH(Data Import Handler)组件,对data-config.xml进行简单 ...

  4. solr 从数据库导入数据,全量索引和增量索引(实例配置原理)

    http://blog.csdn.net/u013378306/article/details/50761610 为防止原文删除特此备份 ------------------------------- ...

  5. solr 从数据库导入数据,全量索引和增量索引

    首先说一下是从MySQL数据库导入数据 这里使用的是mysql测试. 1.先在mysql中建一个表:solr_test 2.插入几条测试数据: 3.用记事本打solrconfig.xml文件,在sol ...

  6. 转:solr 从数据库导入数据,全量索引和增量索引(实例配置原理)

    http://blog.csdn.net/u013378306/article/details/50761610 为防止原文删除特此备份 ------------------------------- ...

  7. mysql 数据增量备份_MySQL数据库之mysql全量备份、增量备份实现方法

    本文主要向大家介绍了MySQL数据库之mysql全量备份.增量备份实现方法 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. mysql全量备份.增量备份.开启mysql的logb ...

  8. [搜索] Solr (三) 全量索引与增量索引

    solr.home  D:solr\home solr.war     D:solr\server\solr 参考文档 IBM developerWorks 文档库  Apache Solr 的新特性 ...

  9. 什么是全量表,增量表,快照表,拉链表?

    这一篇文章我们的目的是搞懂这四种表的概念,闲话不多说,直接看文字. 全量表 全量表没有分区,表中的数据是前一天的所有数据,比如说今天是24号,那么全量表里面拥有的数据是23号的所有数据,每次往全量表里 ...

最新文章

  1. 静态方法与非静态方法的区别_程序员必看之ThinkPHP5中model与Db的区别
  2. Python中文分词--jieba的基本使用
  3. 可变参数列表(va_list,va_arg,va_copy,va_start,va_end)
  4. php程序xml有必要学习吗,对初学者非常有用的PHP技巧
  5. ActiveMQ学习总结(7)——ActiveMQ使用场景
  6. [转]冰山一角 管窥中国互联网的地下世界
  7. 变量名和变量地址之间的关系
  8. cents OS7配置 php curl.so方法
  9. 技术负责人 vs产品负责人_产品前的人
  10. 谷歌浏览器安装vue-devtools插件
  11. 天龙 - Terrain
  12. NULL, '\0',0 '0'的区别
  13. android 图片的处理方法,Android图片处理,ImageView的属性和方法大全
  14. 美团 python_Python | 美团差评数据分析
  15. 汤小丹计算机操作系统慕课版课后题答案第六章:虚拟储存器
  16. 极简工作法则- 泰普勒人生
  17. 台式电脑w ndows7密钥,windows7品牌机各版本oem密钥
  18. python sklearn库silhouette_score轮廓系数接口调用
  19. yolov5-6.1的完全使用手册,含模型训练测试(可训练自己的数据集)
  20. ​CES已是技术创新的风向标  2019年哪项技术独领风骚?

热门文章

  1. 编写一个程序,给出汉字你我他在Unicode 的位置,用java
  2. 如何通过对范德蒙德行列式的学习来领悟数学思维
  3. 看!数据分析领域中最为人称道的七种降维方法
  4. 我的世界java版种子掠夺者,《我的世界》1.14最适合新手的全能种子 你想要的冒险这里都有...
  5. 《阿里巴巴大数据之路》记录--数据模型篇
  6. 小程序下拉刷新属性讲解
  7. 新年开门红,Conflux成功入驻上海微软创投加速器第五期!
  8. Ewomail部署问题处理
  9. android版本号不能是float,Android知识点笔记
  10. 简单易用的任务队列-beanstalkd