1 Star 0 Fork 0

OceanBase / tutorials-doc

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
14.4-13-how-to-use-cloudcanal-to-migrate-and-realtime-sync-data-to-oceanbase.md 11.82 KB
一键复制 编辑 原始数据 按行查看 历史
obdev 提交于 2023-12-12 10:15 . PullRequest: 42 update dooba

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 官方社区联系。

马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/oceanbase/tutorials-doc.git
git@gitee.com:oceanbase/tutorials-doc.git
oceanbase
tutorials-doc
tutorials-doc
V1.0.0

搜索帮助

344bd9b3 5694891 D2dac590 5694891