暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

第四章:向 OceanBase 数据库迁移数据 4.13 如何使用 CloudCanal 迁移和实时同步数据到 OceanBase

225

4.13 如何使用 CloudCanal 迁移和实时同步数据到 OceanBase

介绍

CloudCanal 社区版是一款由 ClouGence公司 发行的集结构迁移、数据全量迁移/校验/订正、增量实时同步为一体的免费数据迁移同步平台,提供完整产品化能力;用户在可视化界面完成数据源添加和任务创建即可自动完成结构迁移、全量迁移、增量实时同步。

本文主要介绍如何将 MySQL 数据库中的数据迁移同步到 OceanBase 中,其他源端例如 Oracle 或 PostgreSQL 同步到 OceanBase 也可以按照类似的方式进行。

image.png


下载安装

CloudCanal 最新版下载地址:https://www.clougence.com/

CloudCanal 社区版安装部署参考文档:https://doc-cloudcanal.clougence.com/operation/install_linux


功能说明

  • 当前支持的链路以及核心功能项:

    数据源\功能项结构迁移全量数据迁移增量实时同步
    Oracle -> OceanBase支持支持支持
    PostgreSQL -> OceanBase支持支持支持
    Greenplum -> OceanBase支持支持不支持
    MySQL -> OceanBase支持支持支持
  • 产品能力矩阵

    功能域功能项功能说明
    用户体系注册/登陆作为平台使用,支持用户注册独立租户、资源隔离;允许账号密码登陆、手机验证码登陆
    密码找回支持密码忘记找回
    数据源管理添加阿里云数据源用户配置有权限的 AK/AK 信息后,通过可视化界面可以轻松导入 CloudCanal 支持的阿里云数据源
    添加自建数据源支持自建数据源添加
    数据源筛选提供强大的筛选能力方便用户更好的检索数据源。支持按照数据源类型、描述、部署类型等多维度搜索
    数据源信息可视化展示可视化分页展示数据源明细,包含数据库类型、部署类型、版本号等多维度信息
    数据源信息修改支持修改内外网地址、同步使用的账号、关联的阿里云 AK/SK 信息等
    集群管理集群筛选支持集群按照名称、类型进行多维筛选
    集群列表可视化展示支持列表展示集群信息,包括集群内可用机器数量、创建人等信息
    集群新增、删除支持添加集群、删除集群
    机器管理机器列表可视化展示可视化展示机器多维信息,包括机器核心监控指标、描述信息等
    机器、任务绑定关系查看支持查看每台机器上绑定的任务
    机器日志白屏化查看支持直接在控制台上查看机器白屏化日志
    任务手动调度支持手动调度任务到其他机器执行
    机器运维支持机器离线、上线、删除等生命周期管理;支持机器存活性检测、报警开关
    添加阿里云机器白名单支持一键添加机器白名单到任务关联的阿里云数据库
    监控管理任务大盘支持查看全局任务统计信息和实时监控信息
    机器大盘支持查看全局集群、机器统计信息
    异常监控支持全局异常白屏化展示,可以实时查看管控、机器、任务的异常信息便于自助定位问题
    告警日志告警发送日志,监测报警发送情况
    异步任务管理异步任务可视化展示诸如任务创建、任务重跑、添加白名单等能力都为多阶段的异步任务,此处可以展示其运行情况;明细页也可以看到其具体的执行的多个子阶段
    异步任务运维支持失败的异步任务子阶段进行重试
    操作审计可视化展示审计记录所有操作均按照安全等级划分了审计日志
    数据迁移与同步内核能力结构迁移支持异构数据源之间迁移表结构,支持类型自动映射、类型降级等能力,方便用户轻松迁移表结构
    全量数据迁移按照用户订阅的配置信息,将订阅的库表数据迁移到对端数据源
    增量数据迁移通过订阅解析数据源的变更日志,实时地将源端的 INSERT/UPDATE/DELETE 同步到对端数据源
    增量期间 DDL 同步支持源端数据库 DDL 改写,同步到对端
    自动化流程可以自动化完成结构迁移、全量、增量,无需人工介入,并且保证数据一致性
    两种并发模型支持表级并行、PK HASH 两种并发模型
    任务创建可视化创建步骤通过五个步骤即可完成结构迁移、全量迁移、增量同步一体化的任务
    树形订阅/默认订阅模式树形订阅模式支持直接将库表展开进行批量处理与映射;默认模式支持手动处理库表列映射细节
    整库迁移支持流程简化的整库迁移
    任务类型选择支持结构迁移、全量、增量、数据校验多种组合类型
    任务规格支持选择不同的任务规格,精细化控制任务资源消耗
    禁止自动启动可以关闭自动启动,手动启动任务
    库、表、列映射如果映射对端已有的库表,支持库表列维度的对象映射
    行为过滤支持细粒度订阅 INSERT/UPDATE/DELETE/ALTER/RENAME 等行为
    虚拟列支持同步的时候新增一个虚拟列,一般用于数据汇聚场景
    自定义主键允许用户设置自定义主键,一般用于数据汇聚场景
    where 条件允许用户设置过滤的 where 条件,按照 where 条件过滤数据
    批量操作支持 where 条件、自定义主键、列裁剪的批量操作
    多维筛选表映射时可以按照有无主键、主键是否对齐等多种维度进行筛选,细粒度操作映射
    自定义代码创建任务时可以上传自定义代码,在全量、增量期间根据自定义代码做自定义的数据实时加工
    创建预检任务创建时候支持必要前提的预检,避免创建不符合要求的同步任务
    任务管理任务可视化展示支持表格、卡片两种分页展示模式;可视化呈现多维信息,并且能够按照状态、同步进度进行排序
    任务筛选可以按照任务描述、源对端数据源ID等多维条件进行任务筛选
    任务生命周期管理可以可视化查看任务生命周期和阶段;支持任务启停控制、删除
    订阅明细查看可以查看库表订阅详情、支持订阅库表搜索
    进度明细查看可以查看各个阶段表的迁移、同步进度,并且支持搜索和维度筛选
    重启历史记录支持查看任务的调度历史、重启历史查看
    任务告警配置支持钉钉、短信两种报警模式;支持异常报警、延迟报警;支持报警自动发送给管理员
    白屏化日志查看支持在管控界面直接查看任务核心日志
    自定义代码包管理支持上传、下载、激活自定义代码包
    创建相似任务支持按照当前任务的配置创建一个相似任务
    参数修改支持任务参数控制
    监控图表支持性能、资源等指标的监控
    位点回溯/重置允许重置增量消费的位点,对已经消费过的增量重新进行消费
    规格升降配支持对任务规格进行升降配
    源对端限流支持源对端进行限流
    任务重跑支持重跑全量
    日志能力COMMIT 日志提交日志记录所有 CloudCanal 收到并且正确同步的日志
    位点日志详细记录位点提交的日志信息
    场景化能力ZeroDate 处理MySQL 源端有 0000 这种特殊时间,支持设置 DefaultZeroDate 自动处理零时间
    异常跳过允许用户自动跳过异常记录,避免阻塞同步。跳过的异常记录信息会记录的日志中
    MySQL RDS OSS binlog 支持支持阿里云 RDS for MySQL 的 OSS binlog, CloudCanal 如果找不到 MySQL 本地日志,会自动下载 OSS binlog 消费
    双向同步MySQL->MySQL 链路支持双向同步
    数据校验允许比对源对端差异、丢失的数据
    数据订正支持根据数据校验的结果进行数据订正
    时区处理部分链路支持时区自动转换
    DEBUG 日志支持开启 debug 模式,允许查看同步的记录明细
    UK 冲突感知的写入模式UK 列冲突的情况,并行写入可能产生死锁,该写入模式可避免死锁
    json 特殊字符转义针对 json 内容,可以对特殊字符转义,避免写入异常
    任务摘除增量任务会预占用内存,通过任务摘除可以解除内存预占用
    心跳机制源端实例没有任何变更时会导致延迟增加,支持自动化心跳
    高可用自动迁移一台机器下线后,上面的任务可以自动迁移到别的正常的机器
    自动重试默认情况不允许跳过数据,如果因为对端数据库问题或者网络问题导致写入失败,数据会自动尝试写入
    数据准确性位点机制、断点续传只有成功写入对端的记录才会对位点做持久化,相当于记录一个 check point,后续任务重启都会基于上一次的位点进行重新同步,确保数据不丢

前置条件

请确认已成功安装 CloudCanal 社区版并登陆平台。

添加数据源

  • 登录 CloudCanal 平台

  • 数据源管理 -> 新增数据源

  • 选择自建数据库中 OceanBase

    image.png

任务创建

添加好数据源之后可以按照如下步骤进行数据迁移、同步任务的创建。

  • 任务管理->任务创建

  • 选择  和 目标 数据库

  • 单击 下一步

    image.png

  • 选择 增量同步,并且启用 全量数据初始化

  • 单击 下一步

    image.png

  • 选择订阅的表,结构迁移自动创建的表会按照默认类型映射进行处理。对端表如果已经提前建好,这里也可以直接映射对端已经存在的表

  • 单击 下一步

    image.png

  • 配置列映射

  • 单击 下一步

    image.png

    说明

    如果是通过 CloudCanal 结构迁移自动建表,这边不允许重命名、裁剪以及列映射;如果映射的是对端已经提前建好的表,这边支持列的裁剪和映射。

  • 创建任务

    image.png

  • 查看任务状态。任务创建后,会自动完成结构迁移、全量、增量阶段。

    image.png


参考资料

如在使用过程中遇到问题,请与 CloudCanal 官方社区联系。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论