BladePipe 1.9.0: New data pipelines, faster Oracle writes, and improved stability.
跳到主要内容

PolarDB-X 到 Kafka

选择对端数据库:

数据链路

基本功能

功能说明
Schema Migration

If the specified Topic after mapping does not exist in the Target, BladePipe will automatically create the Topic, allowing setting the number of partitions.

Full Data Migration

Migrate data by sequentially scanning data in tables and writing it in batches to the target database.

Incremental Data Sync

Sync of common DML like INSERT, UPDATE, DELETE is supported.

Subscription Modification

Add, delete, or modify the subscribed tables with support for historical data migration. For more information, see Modify Subscription.

Position Resetting

Reset positions by file position or timestamp. Allow re-consumption of incremental data logs in a past period or since a specific Binlog file and position.

Metadata Retrieval

Retrieve the target metadata with filtering conditions from the source table.

高级功能

功能说明
消息格式

支持以下消息格式,文档:消息格式说明

  • CloudCanal内置格式
  • AlibabaCanal兼容格式
Topic Mapping Rules

By default, Topic is formed by connecting source instance id, database, and table with . in between (e.g., pxc-vgpq6q097174t6t.dingtax.app_key). Also, it supports the mapping rules, namely, keeping the name the same as that in Source, converting the text to lowercase, converting the text to uppercase.

Table-level Topic

Create Topics corresponding to the tables in the Source, and the table partitions can be obtained automatically.

DDL Dedicated Topic

Allow specifying a Topic for DDL. If not specified, DDL time is placed in partition 0 of the Topic created from the corresponding table.

Custom Code

For more information, see Custom Code Processing, Debug Custom Code and Logging in Custom Code.

Data Filtering Conditions

Support data filtering using WHERE conditions, with SQL-92 as the SQL language. For more information, see Data Filtering.

限制和注意点

限制项说明
版本支持

只支持 PolarDB-X 2.0 版本

PolarDB-X 2.0 字符集

支持 utf8, utf8mb4, latin1,其他编码暂未测试

源库限制

若源端 PolarDB-X 2.0 待同步的表名中含大写字母,则不支持增量同步

使用示例

标题详情
跨互联网数据互通 (Kafka)

文档:跨互联网数据互通 (Kafka)

Kafka 数据中转校验

文档:Kafka 数据中转校验


源端数据源

前置条件

条件说明
账号权限

云数据库为读写权限账号
自建数据库权限:

  • GRANT SELECT ON . TO 'user'@'host'
  • GRANT REPLICATION CLIENT ON . TO 'user'@'host'
  • GRANT REPLICATION SLAVE ON . TO 'user'@'host'

任务参数

参数名称说明
parseBinlogParallel

增量解析 Binlog 的并发数

parseBinlogBufferSize

用于增量解析 Binlog 的环形队列大小

maxTransactionSize

单事务最大数据条数,超过则分段刷出

limitThroughputMb

限制增量 Binlog 流量

needJsonEscape

将 json 中特殊字符进行转义,以写入到对端

Tips: 通用参数配置请参考 通用参数及功能


目标端数据源

前置条件

条件说明
网络准备

迁移同步节点(sidecar)可连接 Kafka 各节点

任务参数

参数名称说明
schemaFormat

消息格式,文档:消息格式说明

batchWriteSize

单条消息最大数据条数,超过则拆分消息

defaultTopic

无法找到对应 Topic 的消息则发送到此 Topic (如新增表)

ddlTopic

专门发送 DDL 的 Topic, 为空则发送到对应 Topic 的第 0 个分区

compressionType

Kafka compression.type 参数, 设置压缩算法, 支持 GZIP, SNAPPY, LZ4, ZSTD 算法

batchSize

Kafka batch.size 参数

acks

Kafka acks 参数, 默认 all

maxRequestBytes

Kafka max.request.size 参数

lingerMs

Kafka linger.ms 参数, 默认 1

envelopSchemaInclude

当 schemaFormat 设置为 DEBEZIUM_ENVELOP_JSON_FOR_MQ 时,消息体是否包含 schema 信息

customClientProps

自定义传入到 Kafka Client 参数,JSON 格式,key为参数名,value为参数值。此配置项以最高优先级生效。例如:AWS IAM 访问控制

Tips: 通用参数配置请参考 通用参数及功能