码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Datax的同步调研


    参考文档:官网地址

    GitHub - alibaba/DataX: DataX是阿里云DataWorks数据集成的开源版本。

    DataX 是阿里云 DataWorks数据集成 的开源版本,在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、Hologres、DRDS, databend 等各种异构数据源之间高效的数据同步功能。

    Dolphinscheduler对Datax的支持

    Dolphinscheduler配置Datax踩坑记录_dolphinscheduler datax_若小鱼的博客-CSDN博客

    挑战海量数据:基于Apache DolphinScheduler千亿级数据应用实践 (baidu.com)

    Sqlserver同步到MySQL

    Datax系列(二)Mysql和SqlServer同步 – 星伴同行 (fcors.com)

    1. {
    2. "job": {
    3. "content": [
    4. {
    5. "reader": {
    6. "name": "sqlserverreader",
    7. "parameter": {
    8. "connection": [
    9. {
    10. "jdbcUrl": ["jdbc:sqlserver://Ip:1433;DatabaseName=ecology"],
    11. "table": ["HrmResource"]
    12. }
    13. ],
    14. "column": [
    15. "id","loginid","lastname"
    16. ],
    17. "password": "ganiOA2017",
    18. "username": "sa"
    19. }
    20. },
    21. "writer": {
    22. "name": "mysqlwriter",
    23. "parameter": {
    24. "column": ["id","loginid","lastname"],
    25. "connection": [
    26. {
    27. "jdbcUrl": "jdbc:mysql://192.168.8.21:3310/test?useUnicode=true&useSSL=false&characterEncoding=utf8",
    28. "table": ["company_user"]
    29. }
    30. ],
    31. "password": "123456",
    32. "username": "root",
    33. "writeMode": "replace"
    34. }
    35. }
    36. }
    37. ],
    38. "setting": {
    39. "speed": {
    40. "channel": "10"
    41. }
    42. }
    43. }
    44. }

    Datax 使用说明

    DataX/userGuid.md at master · alibaba/DataX · GitHub

    Datax 3.0 介绍

    DataX/introduction.md at master · alibaba/DataX · GitHub

    ​ DataX 是一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。

    Datax的全量同步和增量同步

    dataX 配置时间增量同步_datax增量同步_大熊程序猿的博客-CSDN博客

    DataX 数据全量,增量同步方案_datax的全量和增量采集如何配置-CSDN博客

    datax主要是解决离线全量同步,通过select语句或者dump指令提取数据,然后同步到目标,数据仓库典型用法。

    DataX不适合实时数据同步或太频繁的定时同步,因为同步都需要去读取源表,频率过大对源表会造成压力。

    otter:基于数据库增量日志解析,准实时同步到本机房或异地机房的mysql/oracle数据库. 一个分布式数据库同步系统

    什么是canal?

    otter之前开源的一个子项目,开源链接地址:http://github.com/alibaba/canal

    mirrors / alibaba / otter · GitCode

    otter安装与使用终极总结 (xjx100.cn)

    SQLserver到MySqL的全量同步

    DataX-阿里开源离线同步工具在Windows上实现Sqlserver到Mysql全量同步和增量同步_霸道流氓气质的博客-CSDN博客

    定时增量同步

    相比全量同步,增量同步增加了用某个字段来判断改条数据是否被更新,具体体现在 Shell 脚本和 Json 文件中

    DataX | MySQL多表全量同步和多表定时增量同步-蒲公英云 (dandelioncloud.cn)

    1.准备工作:

    给需要同步的表增加用于增量同步判断的字段,可用ID也可以用时间,个人建议用时间,更方便。

    给读库的table1表加上实时更新的时间记录字段(可根据需要是否给写库也加上,我这里是加上的):

    alter table table1 add column `curr_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间(DataX数据采集使用)';

    MySQL | 设置时间字段为自动更新(CURRENT_TIMESTAMP)

    datax 持续数据同步_采用DataX实现多表增量数据同步 (xjx100.cn)

    DataX用来做批量数据迁移很适合,能够保证数据的一致性,性能也很好,结合时间戳字段,用来实现数据定时增量同步也是可以的,如每分钟或每5分钟增量同步一次数据。用DataX这个方案做增量同步要求每个表带一个时间戳字段,删除数据采用逻辑删除,这个要求也比较容易做到。

    增量同步实现

    实现增量同步需要在表中增加一个时间戳字段,如update_time,在同步配置文件中,通过where条件,根据时间戳字段筛选当前时间向前一段时间内的增量数据。

    Datax介绍:

    罗海伟:阿里云万亿级数据集成架构实践 - 知乎 (zhihu.com)

    如何使用DataX同步全量数据_表格存储-阿里云帮助中心 (aliyun.com)

    1、databus活跃度不高,datax和canal 相对比较活跃。

    2、datax 一般比较适合于全量数据同步,对全量数据同步效率很高(任务可以拆分,并发同步,所以效率高),对于增量数据同步支持的不太好(可以依靠时间戳+定时调度来实现,但是不能做到实时,延迟较大)。

    3、canal 、databus 等由于是通过日志抓取的方式进行同步,所以对增量同步支持的比较好。

    4、以上这些工具都缺少一个监控和任务配置调度管理的平台来进行支撑。

    重点参考这个文档:

    DataX-阿里开源离线同步工具在Windows上实现Sqlserver到Mysql全量同步和增量同步_霸道流氓气质的博客-CSDN博客

    可视化页面部署:

    datax-web: DataX集成可视化页面,选择数据源一键生成JSON并脱敏,集成定时任务,支持分布式,支持增量获取,实时查看运行日志,监控执行器资源,kill运行进程。 - 木兰确实 (mulanos.cn)

  • 相关阅读:
    划分训练集、验证集和测试集代码
    【基本算法题-2022.7.31】11. 分形之城
    安卓将图片分割或者拉伸或者旋转到指定尺寸并保存到本地
    Unity6 URP17使用初探
    WebAssembly崛起,Kubevirt成主流,2022年云原生的五大发展趋势
    强化学习 Proximal Policy Optimization (PPO)
    20220929-ArrayList扩容机制源码分析
    【无标题】
    vue简单案例----小张记事本
    java 基于微信小程序的考研公务员资料销售商城购物平台 uniapp 小程序
  • 原文地址:https://blog.csdn.net/wangqiaowq/article/details/133740750
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号