当前位置:网站首页>一次做数据报表的踩坑经历,让我领略了数据同步增量和全量的区别
一次做数据报表的踩坑经历,让我领略了数据同步增量和全量的区别
2022-08-03 14:53:00 【InfoQ】

一、背景介绍

二、问题概述
- 全量导入:定时的将所有数据更新一次,然后重新进行导入。如果数据量不大的话,这种方案就适合,但是考虑到,如果以后数据量庞大的话,这种方案效率不高。
- 增量导入:数据库中的每张表都会有一个更新时间的字段,如果数据有更新,只需要根据更新时间的字段,将最新的一条数据拉过来,然后覆盖掉之前的数据,这样的好处就是,数据量不会变得很大,不会有冗余的脏数据产生,感觉效率挺不错的。

select count(*) from xxx ;

三、聊聊全量和增量
- 数据如果保留多份或者多处使用,就会存在一致性问题,解决一致性问题就需要同步,
- 同步分为两大类:全量和增量
- 每天定时(避开业务高峰期)或者周期性,全量把数据从一个地方拷贝到另外一个地方;
- 采用直接全部覆盖(使用“新”数据覆盖“旧”数据);或者更新逻辑(覆盖前判断下,如果新旧不一致,就更新。
- 增量的基础是全量,就是要使用某种方式先把全量数据拷贝过来,然后再采用增量方式同步更新;
- 抓取某个时刻(更新时间)或者检查点(checkpoint)以后的数据来同步,不是无规律的全量同步。
- 全量是有规律的、周期性的;增量是无规则、无规律的;
- 增量的基础是全量;
- 全量会让新的数据覆盖掉旧的数据,而增量无法覆盖旧数据;

四、总结

边栏推荐
猜你喜欢

输出一个整数的二进制形式

Role usage in Ansible

【指针内功修炼】函数指针 + 函数指针数组 + 回调函数(二)

PostgreSQL V14中更好的SQL函数

树莓派 USB摄像头 实现网络监控( MJPG-Streamer)

Jupyter Notebook 交互式编程 & 低代码拖拽式编程 | 数据科学生态下的理想平台

兔起鹘落全端涵盖,Go lang1.18入门精炼教程,由白丁入鸿儒,全平台(Sublime 4)Go lang开发环境搭建EP00

阿里大牛最新总结分享的高并发编程核心笔记(终极版),高并发系统架构场景一应俱全

不安装运行时运行.NET程序

基于.NET 6 的开源访客管理系统
随机推荐
你把 浏览器滚动事件 玩明白
【常见 error】Vivado 综合出现中断、失败、“PID not specified”
HDU 1406 (完数)
MySQL面试必备(一)基础篇
南京一研究所回应招聘硕士保安:负责安全生产等,48人选1
个人秋招记录——欢迎交流
Lecture 2 Software Life Cycle
devops-2:Jenkins的使用及Pipeline语法讲解
【FPGA教程案例44】图像案例4——基于FPGA的图像中值滤波verilog实现,通过MATLAB进行辅助验证
Huffman tree
PAT乙级-B1012 数字分类(20)
6000 字+,帮你搞懂互联网架构演变历程!
Clickhouse Filling the Pit 3: Left Join changed to Right Join, resulting in incorrect statistical results
R7 6800H+RTX3050+120Hz 2.8K OLED屏,无畏Pro15 2022开启预售
有希望就是好的
我现在推荐用mamba替代conda
云硬盘EVS详解以及如何用与避坑【华为云至简致远】
The difference between servlet and jsp _ the difference between servlet and class
【软件工程之美 - 专栏笔记】36 | DevOps工程师到底要做什么事情?
ubiquant量化竞赛