PolarDB for MySQL 到 OceanBase
| 功能 | 说明 |
|---|---|
Schema Migration | If the target schema does not exist, BladePipe will automatically generate and execute CREATE statements based on the source metadata and the mapping rule. |
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. |
Data Verification and Correction | Verify all existing data. Optionally, you can correct the inconsistent data based on verification results. Scheduled DataTasks are 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. |
Table Name Mapping | Support the mapping rules, namely, keeping the name the same as that in Source, converting the text to lowercase, converting the text to uppercase, truncating the name by "_digit" suffix. |
DDL Sync |
|
Metadata Retrieval | Retrieve the target metadata with filtering conditions or target primary keys set from the source table. |
高级功能
| 功能 | 说明 |
|---|---|
全量前清空目标数据 | 运行全量任务前清除老数据,包括重跑任务、定时全量迁移都会触发此能力 |
重建目标表 | 运行全量任务前重建目标表,包括重跑任务、定时全量迁移都会触发此能力 |
高并发行级写入 | 适配分布式数据库特征,默认采用高并发行级写入策略 (ROW) |
增量写入冲突策略 | IGNORE: 遇到主键冲突则忽略(不做写入),REPLACE: 遇到主键冲突则整行替换 |
Online DDL Compatibility | Support GH-OST, PT-OSC, Aliyun DMS Online DDL. |
Custom Code | For more information, see Custom Code Processing, Debug Custom Code and Logging in Custom Code. |
Adding Virtual Columns | Support adding custom virtual columns with fixed values, such as region, ID, etc. |
Setting Target Primary Key | Change the primary key to another field to facilitate data aggregation and other operations. |
Data Filtering Conditions | Support data filtering using WHERE conditions, with SQL-92 as the SQL language. For more information, see Data Filtering. |
前置条件
| 条件 | 说明 |
|---|---|
账号权限 | 云数据库读写账号或高权限账号 |
开启 Binlog | 云数据实例详情 > 配置与管理 > 参数配置 > 设置 loose_polar_log_bin 为 true |
PolarDbMySQL 字符集 | 支持 utf8, utf8mb4, latin1, 其他编码暂未测试 |
任务参数
| 参数名称 | 说明 |
|---|---|
parseBinlogParallel | 增量解析 Binlog 的并发数 |
parseBinlogBufferSize | 用于增量解析 Binlog 的环形队列大小 |
maxTransactionSize | 单事务最大数据条数,超过则分段刷出 |
limitThroughputMb | 限制增量 Binlog 流量 |
extraDDL | 兼容额外的 DDL 同步,包括 PT, GHOST, ALI_DMS, PT_GHOST |
needJsonEscape | 将 json 中特殊字符进行转义,以写入到对端 |
Tips: 通用参数配置请参考 通用参数及功能
前置条件
| 条件 | 说明 |
|---|---|
账号权限 | 具备 SELECT, INSERT, DELETE, UPDATE, 常见 DDL 权限 |
网络准备 | 迁移同步节点(sidecar)可连接 OceanBase 标准交互接口(如 3306) |
任务参数
| 参数名称 | 说明 |
|---|---|
keyConflictStrategy | 增量写入遇到主键冲突策略:
|
writeStrategy | 对端写入策略,包含
|
Tips: 通用参数配置请参考 通用参数及功能