You need to enable JavaScript to run this app.
导航
配置 TiDB 数据源
最近更新时间:2025.03.17 11:00:30首次发布时间:2025.03.17 11:00:30
我的收藏
有用
有用
无用
无用

DataSail 数据集成 TiDB 数据源为您提供读取和写入 TiDB 的双向通道数据集成能力,实现不同数据源与 TiDB 之间进行数据传输。下文为您介绍 TiDB 数据同步的能力支持情况。

1 使用限制

  1. TiDB 数据源目前仅支持 TiDB 8.x 数据库版本;
  2. 当实时整库解决方案选择 TiDB 作为来源端时,仅支持实时写入 ByteHouse CE 目标端,且仅支持通过缓存模式进行配置;
  3. 当离线集成通道任务选择 TiDB 作为来源端时,仅支持写入 ByteHouse CE 目标端。

2 支持的字段类型

当前主要字段类型支持情况如下:

字段类型

离线读(TiDB Reader)

离线写(TiDB Writer)

TINYINT

支持

支持

SMALLINT

支持

支持

MEDIUMINT

支持

支持

INTEGER

支持

支持

BIGINT

支持

支持

FLOAT

支持

支持

DOUBLE

支持

支持

DECIMAL

支持

支持

REAL

支持

支持

CHAR

支持

支持

VARCHAR

支持

支持

JSON

支持

支持

TINYTEXT

支持

支持

TEXT

支持

支持

MEDIUMTEXT

支持

支持

LONGTEXT

支持

支持

VARBINARY

支持

支持

BINARY

支持

支持

TINYBLOB

支持

支持

MEDIUMBLOB

支持

支持

LONGBLOB

支持

支持

ENUM

支持

支持

BLOB

支持

支持

SET

支持

支持

BOOLEAN

支持

支持

BIT

支持

支持

DATE

支持

支持

DATETIME

支持

支持

TIMESTAMP

支持

支持

TIME

支持

支持

YEAR

支持

支持

VECTOR

不支持

不支持

3 数据同步任务配置

3.1 数据源注册

新建数据源操作详见配置数据源,以下为您介绍 TiDB 数据源相关的配置信息:

参数

说明

基本配置

数据源类型

TiDB

接入方式

连接串

数据源名称

数据源的名称,可自行设置,仅支持中文,英文,数字,“_”,100个字符以内。

参数配置

JDBC URL

TiDB 数据库的 JDBC URL 连接地址,如 jdbc:mysql://host:port/database。

用户名

输入有权限访问数据库的用户名信息。

密码

输入用户名对应的密码信息。

3.2 新建任务

TiDB 数据源测试连通性成功后,进入到数据开发界面,开始新建 TiDB 相关通道任务。
新建任务方式详见离线数据同步
任务创建成功后,您可根据实际场景,配置 TiDB 批式读、TiDB 批式写等通道任务。

3.3 TiDB 批式读

数据来源选择TiDB,并完成以下相关参数配置:
其中参数名称前带 * 的为必填参数,名称前未带 * 的为可选填参数。

说明

当来源端为 TiDB 数据源类型时,目标端仅支持写入到 ByteHouse CE 数据源中。

参数

说明

*数据源类型

数据来源类型选择为TiDB,您可下拉选择或输入关键词TiDB进行搜索。

*数据源名称

已在数据源管理中注册成功的TiDB数据源,下拉可选。
若还未建立相应数据源,可单击数据源管理按钮,前往创建TiDB数据源。

*数据表

选择需要采集的数据表信息,您可同时选择多个 Schema 相同的表进行数据同步,支持区间表达式“table_[0-99]”和时间表达式“table_${date}”方式,来快速配置选择多个表。

数据过滤

支持您将需要同步的数据进行筛选条件设置,只同步符合过滤条件的数据,可直接填写关键词 where 后的过滤 SQL 语句,例如:create_time > '${date}',不需要填写 where 关键字。
语句填写完成后,您可单击右侧的校验按钮,进行过滤语句校验。

说明

该过滤语句通常用作增量同步,暂时不支持 limit 关键字过滤,其 SQL 语法需要和选择的数据源类型对应。

切分建

根据源端数据中某一列作为切分键,进行数据分片,建议使用主键或有索引的列作为切分键:

  • 如果表没有主键或者索引列,可以不配置该字段,同步任务不会进行分片,并以单并发的方式同步所有的数据;
  • 建议使用主键或有索引的列作为切分键,切分键配置没有索引的列同步任务会比较慢。

说明

目前仅支持类型为整型或字符串的字段作为切分建。

3.4 TiDB 批式写

数据目标端选择TiDB,并完成以下相关参数配置:
其中参数名称前带 * 的为必填参数,名称前未带 * 的为可选填参数。

参数

说明

*数据源类型

数据去向目标类型,您可下拉选择或输入关键词 TiDB 进行搜索。

*数据源名称

已在数据源管理界面注册的 TiDB 数据源,下拉可选。
若还未建立相应数据源,可单击数据源管理按钮,前往创建 TiDB 数据源。

*数据表

数据源下所属需数据写入的表名,下拉可选。

写入前准备语句

在执行该数据集成任务前,需要率先执行的SQL语句,通常是为了使任务重跑时支持幂等。
例如您可以通过填写语句,清空表中的某些旧数据,清空完成后,再执行集成任务写入新的数据。如删除 date='${date}' 的数据:delete from table_name where date='${date}'
语句填写完成后,您可单击右侧的校验按钮,进行语句校验是否符合逻辑。

说明

只允许执行一条写入前准备语句。

写入后准备语句

执行数据同步任务之后执行的 SQL 语句。例如写入完成后插入某条特殊的数据,标志导入任务执行结束。
语句填写完成后,您可单击右侧的校验按钮,进行语句校验是否符合逻辑。

说明

只允许执行一条写入后准备语句。

*数据写入方式

下拉选择数据写入 TiDB 的方式,目前支持 insert into、on duplicate key update 写入方式:

  • insert into:即当主键/唯一性索引冲突时会无法写入冲突的行,任务会运行失败。
  • on duplicate key update:
    • 当主键/唯一键索引没有冲突时,与insert into行为一致。
    • 在发生冲突时,将使用新行数据 update 表中原有的数据。

3.5 字段映射

数据来源和目标端配置完成后,需要指定来源和目标端的字段映射关系,根据字段映射关系,数据集成任务将源端字段中的数据,写入到目标端对应字段中。
字段映射支持选择基础模式转换模式配置映射:

注意

基础模式和转换模式不支持互相切换,模式切换后,将清空现有字段映射中所有配置信息,一旦切换无法撤销,需谨慎操作。

  • 转换模式:
    字段映射支持数据转换,您可根据实际业务需求进行配置,将源端采集的数据,事先通过数据转换后,以指定格式输入到目标端数据库中。
    转换模式详细操作说明详见4.1 转换模式
    在转换模式中,你可依次配置:来源节点、数据转换、目标节点信息:

    配置节点

    说明

    来源节点

    配置数据来源 Source 节点信息:

    • 节点名称:自定义输入来源节点名称信息,只允许由数字、字母、下划线、-和.组成;且长度不能超过10。
    • 数据字段:通过自动添加、手动添加等方式添加数据来源字段信息。

    配置完成后,单击确认按钮,完成来源节点配置。

    数据转换

    单击数据转换右侧添加按钮,选择 SQL 转换方式,配置转换信息和规则:

    • 节点名称:自定义输入来源节点名称信息,只允许由数字、字母、下划线、-和.组成;且长度不能超过10。
    • SQL 脚本:输入 SQL 脚本转换规则,目前仅支持添加一个转换的 SQL 语句,且不能包括 “;”。

    配置完成后,单击确认按钮,完成数据转换节点配置。SQL 脚本示例详见4.1.2 添加转换节点

    目标节点

    配置目标节点 Sink 信息:

    • 节点名称:自定义输入来源节点名称信息,只允许由数字、字母、下划线、-和.组成;且长度不能超过10。
    • 数据字段:通过自动添加、手动添加等方式添加数据目标字段信息。

    配置完成后,单击确认按钮,完成目标节点配置。

  • 基础模式:

    您可通过以下三种方式操作字段映射关系:

    • 自动添加:单击自动添加按钮,根据两端数据表信息,可以自动填充来源和目标的字段信息。
    • 手动添加:单击手动添加按钮,可以手动编辑来源和目标的字段信息,可以逐个添加。
    • 移动\删除字段:您也可以根据需要移动字段映射顺序或删除字段。

4 实时整库解决方案配置

一键实时整库同步解决方案支持将 TiDB 数据源中的数据,通过全增量一体化同步方案,先将源端全量数据通过离线任务方式同步迁移,然后再通过实时同步增量任务,将数据采集至 ByteHouse CE 目标端数据源中。
您可进入到 DataSail 控制台界面,进行实时整库解决方案创建。具体方案配置流程请详见 5 新建数据实时整库同步