美文网首页数据分析
数据库同步的现状

数据库同步的现状

作者: ShootHzj | 来源:发表于2020-08-20 11:08 被阅读0次

前言

​ 我一直对数据库之间的实时同步有着浓厚的兴趣,也想自己构筑一个数据库同步系统。主要原因是一直觉得随着系统的发展,系统中的数据难免需要异构。也正是Martin在《Nosql 精粹》中说的,如何选择数据库,取决于你想要如何查询数据。下文我们以Source代指源数据库,Sink代指目标数据库。

​ 一个理想的数据库同步系统,可以做到对任何表格(无主键限制)对应数据同步,一条不多,一条不少。但正如我在 https://www.jianshu.com/p/7defaa460543 文章中提到的,针对无主键,无业务约束的数据,我有一个悲伤的结论,分布式场景下,针对无主键,无业务约束的数据,谁也难言绝对的端到端一次。

​ 在实际使用中,想要做到这一点,除非将Source和Sink进行全量对比,在有大数据量的情况下,很难做到实时同步。比较可行的方案是先用至少一次的语义同步数据到Sink,然后再定期对比数据,修正数据。类似大数据处理中的lamda架构。

​ 我现在想构筑的是一个,在有主键,或者至少有联合主键,业务约束的场景下(或者数据库底层有ID),能够做到一条不多,一条不少的系统。

开源工具简述

​ 这些天了解到,开源的工具能用的有: DataX,Flume等,我还没有仔细分析,我现在只仔细看了看DataX,后面对其他组件有认识理解再刷新。

​ 仅仅针对DataX而言,至少在商用生产环境,该组件在高可用离开箱即用还有一些距离,这方面做的比较好的开源软件有,Pulsar,Flink等,做到了宕机可以自愈, 单进程宕机不影响集群工作。聊聊dataX的集群部署方案,且不论工作进程宕机后,worker之间能否互相接力。一旦datax_admin故障,就只能人工处理了。

​ 我觉得,开源组件距离生产环境高可用,还是有一些距离.

理想的整个流程分为增量同步和全量同步

数据库全量同步流程概述

两种常见的方式:

  • 导入MysqlDump文件
  • 全盘扫描表的方式

Mysql-全量Dump

将Mysql的Dump文件导入工具

Mysql-全量扫描

全量扫描Mysql中的数据

数据库增量同步流程概述

参考 https://blog.csdn.net/mochou111/article/details/80995156
四种方式

  • 全量对比得出增量数据
  • 基于日志文件读取增量数据
  • 基于建触发器获取增量数据
  • 基于时间字段切分数据

相关文章

  • 数据库同步的现状

    前言 ​ 我一直对数据库之间的实时同步有着浓厚的兴趣,也想自己构筑一个数据库同步系统。主要原因是一直觉得随着系...

  • 1.PDMan使用及自动生成代码

    1.打开PDMan开始->创建模块->创建数据库2.同步数据库到数据库模型模板->同步配置->保存版本 3.同步数...

  • 使用Navicat premium同步表结构和表数据

    0、我要同步的数据库地址是10.10.10.31,目标数据库地址是10.10.10.33。同步"bigdata"数...

  • Qt数据库应用15-通用数据库同步

    一、前言 数据库同步的主要功能是将本地的数据库记录同步到远程的数据库,其中数据库类型不限,比如本地是sqlite数...

  • Qt数据库应用16-通用数据库采集

    一、前言 数据库采集对应的就是上一篇文章的数据库同步,数据库同步到云端数据库以后,app、网页、小程序啥的要数据的...

  • Mysql 复制架构

    Mysql 复制架构 数据库复制的其实就是数据的同步,Mysql数据库基于binary log日志进行数据增量同步...

  • Django 入门教程笔记(二)

    数据库同步 相关命令 无法同步数据库终极大招:删除 migrations 目录下所有文件(init.py 除外),...

  • 有赞亿级订单同步的探索与实践

    1.1 同步现状 当前有赞订单同步流程及业务现状如图所示,采用了 ES+HBase(tip1)架构体系去解决搜索和...

  • 第三章 数据同步之数据同步基础

    数据同步技术即不同系统间数据流转,如: 同类型不同集群间同步:① 主数据库与备份数据库之间数据同步② 主系统与子系...

  • mysql数据同步

    测试环境数据库同步,使用主从同步,但生产环境中,为了高可用,两组数据库,每组数据库组内实现主主互备,这时主从方案就...

网友评论

    本文标题:数据库同步的现状

    本文链接:https://www.haomeiwen.com/subject/efjsjktx.html