• TiDB数据库11数据迁移工具 TiDB Data Migration (DM)


    1.介绍

     2.原理和架构

    DM-master负责管理和调度数据迁移任务的各项操作。

    DM-worker负责执行具体的数据迁移任务。

    多个master,多个worker分别构成一个集群(高可用),对外提供服务。

    一个DM-worker对应一个源数据库。

     3.适用场景

    DM支持全量和增量的数据迁移,能够支持异构数据库表的迁移;DM迁移是异步迁移,源库的修改在目标库上不一定马上能够看到。

     4.使用TiUP部署DM集群

    4.1 编辑初始化配置文件

     4.2 执行部署命令

     4.3 查看集群

     4.4 查看集群状态

     4.5 启动集群

     5.DM的配置

     

    (1)MySQL:获取登录信息,需要开Binlog

    (2)Data Filter:数据过滤。Table block and Allow Lists(表,库)、Binlog Event Filter(操作)

    (3)Table Routing: 表路由,表的映射。

    5.1 上游数据库的配置(Mysql)

    mysql需要写一个配置文件,例如:source1.yml

    用以下命令将数据源载入到DM中。

    tiup dmctl --master add (PD) operate - source create source1.yml

     5.2 任务配置

    写一个task.yaml文件。

    task-mode:all(全量+增量)

     

    block-allow-list:配置对哪些表进行过滤。用于过滤对于某些数据库或表的所有操作。

    filter-rule:配置哪些操作的过滤。用于过滤源数据库中特定表的特定操作。

    (1)表、库的过滤

     

    (2)操作的过滤(Binlog event filter)

     (3)源表和目标表的对应关系(table routings)

     

    (4)分库分表合并迁移

     5.3 检查与启动任务

     5.4 暂停任务

     5.5 任务恢复

     5.6 查询任务

     5.7 停止任务

     6 性能优化

     chunk-filesize默认64M

    pool-size并发导入的线程数,默认是16。

    worker-count:默认是16

    7.常见问题

     8.DM使用限制

     9 随堂练习

    (1)

     答案:AD

    解析:DM工具支持异构表的迁移,DM既能做全量迁移,也支持增量迁移。

    (2)

     答案:ACE

    解析:Block &Allow Table Lists 用于库、表的过滤,Binlog event filter 用于过滤源数据库中特定表的特定类型操作(对操作进行过滤)。

  • 相关阅读:
    洛谷 P1284 三角形牧场WD
    luogu P3817 小A的糖果
    P3374 【模板】树状数组 1
    线程与threading模块
    socketserver模块
    python 粘包问题及解决方法
    python 网络编程
    类的进阶四 反射和内置方法
    python hashlib模块 logging模块 subprocess模块
    类的进阶三
  • 原文地址:https://www.cnblogs.com/luckyplj/p/15732398.html
Copyright © 2020-2023  润新知