码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • TiDB数据迁移场景综述


    本文档总体介绍可用于 TiDB 的数据迁移方案。数据迁移方案如下:

    • 全量数据迁移。

      • 数据导入:使用 TiDB Lightning 将 Aurora Snapshot,CSV 文件或 Mydumper SQL 文件的数据全量导入到 TiDB 集群。
      • 数据导出:使用 Dumpling 将 TiDB 集群的数据全量导出为 CSV 文件或 Mydumper SQL 文件,从而更好地配合从 MySQL 数据库或 MariaDB 数据库进行数据迁移。
      • TiDB DM (Data migration) 也提供了适合小规模数据量数据库(例如小于 1 TiB)的全量数据迁移功能。
    • 快速初始化 TiDB 集群:TiDB Lightning 提供的快速导入功能可以实现快速初始化 TiDB 集群的指定表的效果。请注意,使用快速初始化 TiDB 集群的功能对 TiDB 集群的影响极大,在进行初始化的过程中,TiDB 集群不支持对外访问。

    • 增量数据迁移:使用 TiDB DM 从 MySQL,MariaDB 或 Aurora 同步 Binlog 到 TiDB,该功能可以极大降低业务迁移过程中停机窗口时间。

    • TiDB 集群复制:TiDB 支持备份恢复功能,该功能可以实现将 TiDB 的某个快照初始化到另一个全新的 TiDB 集群。

    根据迁移数据所在数据库类型、部署位置、业务数据规模大小、业务需求等因素,会有不同数据迁移选择。下面展示一些常用的数据迁移场景,方便用户依据这些线索选择到最适合自己的数据迁移方案。

    迁移 Aurora MySQL 到 TiDB

    从 Aurora 迁移数据到部署在 AWS 的 TiDB 集群,数据迁移可以分为全量迁移和增量迁移两个步骤进行。请根据你的业务需求选择相应的步骤。

    • 从 Aurora 迁移数据到 TiDB

    迁移 MySQL 到 TiDB

    如果你没有使用 Cloud storage (S3) 服务,而且网络联通和延迟情况良好,那么从 MySQL 迁移数据到 TiDB 时可以参照下面的方案。

    • 从小数据量 MySQL 迁移数据到 TiDB

    如果你对数据迁移速度有要求,或者数据规模特别大(例如大于 1 TiB),并且禁止 TiDB 集群在迁移期间有其他业务写入,那么你可以先使用 Lightning 进行快速导入,然后根据业务需要选择是否使用 DM 进行增量数据 (Binlog) 同步。

    • 从大数据量 MySQL 迁移数据到 TiDB

    分库分表 MySQL 合并迁移到 TiDB

    如果你的业务使用了基于 MySQL 分库的方案来存储数据,业务数据从 MySQL 迁移到 TiDB 后,合并这些分表数据到一张合并,那么你可以使用 DM 进行分表合并迁移。

    • 从小数据量分库分表 MySQL 合并迁移数据到 TiDB

    如果分表数据总规模特别大(例如大于 1 TiB),并且禁止 TiDB 集群在迁移期间有其他业务写入,那么你可以使用 Lightning 对分表数据进行快速合并导入,然后根据业务需要选择是否使用 DM 进行增量数据 (Binlog) 的分表同步。

    • 从大数据量分库分表 MySQL 合并迁移数据到 TiDB

    从文件迁移数据到 TiDB

    • 从 CSV 文件迁移数据到 TiDB
    • 从 SQL 文件迁移数据到 TiDB

    复杂迁移场景

    DM 在实时同步过程中,多个已有特性可以使得同步过程更加灵活,适应各类业务需求:

    • 上游使用 pt/gh-ost 工具的持续同步场景
    • 下游存在更多列的迁移场景
    • 如何过滤 binlog 事件
    • 如何通过 SQL 表达式过滤 binlog
  • 相关阅读:
    web server apache tomcat11-16-mbean
    打造千万级流量秒杀第十八课 热更新:如何解决程序升级中的稳定性问题?
    Android 9 导航栏添加截图按钮
    Golang-GJSON 快速而简单的方法来从 json 文档获取值
    快速掌握基本数据库查询语句,面试无烦恼!!
    【git命令】修改分支名字
    【洛谷】P3368 【模板】树状数组 2 (单点修改+区间查询或区间修改+单点查询的作用)
    Xrdp+内网穿透实现远程访问Linux Kali桌面
    LabVIEW和NIUSRP硬件加快了认知无线电开发
    【Android】使用 adb 命令行工具结合 pm列出 Android 设备上已安装应用的应用名称和包名
  • 原文地址:https://blog.csdn.net/weixin_42241611/article/details/125561512
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号