BladePipe 1.7.0: Stronger alerts, Broader DB support, Faster KingbaseES scanning.
跳到主要内容

TiDB to ClickHouse

BladePipe supports data replication from TiDB to ClickHouse. View supported migration, sync, verification, and connector capabilities.

Target DataSource:

Connection

Basic Functions

FunctionDescription
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

Verify all existing data. 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 timestamp to consume again the incremental data that has not been collected as garbage by TiKV in a past period.

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
  • ALTER TABLE ADD COLUMN, DROP COLUMN
Metadata Retrieval

Retrieve the target metadata with filtering conditions or target primary keys set from the source table.

Advanced Functions

FunctionDescription
Write in Append Mode

INSERT and UPDATE statements are written in batches in append mode, and DELETE statements are executed individually through ALTER statements.

Scheduled Table Optimization

By setting the parameter autoOptimizeThresholdSec, the tables are optimized regularly.

Scheduled Full Data Migration

For more information, see Create Scheduled Full Data DataJob.

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.

Limits

LimitDescription
Special Operation

Too many DELETE operations (>50 records/second) significantly affect data synchronization performance.

Target Table Engine

Only the following table engines and corresponding source table types are supported:

  • MergeTree(tables without primary keys)
  • ReplacingMergeTree(tables with primary keys)
  • ReplicatedMergeTree(tables without primary keys)
  • ReplicatedReplacingMergeTree(tables with primary keys)

Source

Prerequisites

PrerequisiteDescription
Permissions for Account

See Permissions Required for TiDB.

Connection to PD Nodes

Make sure that BladePipe Workers can communicate with PD nodes.

  • telnet [PD Node IP] [PD Node Port]
TiKV GC Frequency

Set GC cycle to 24 hours or more in TiDB Server.

  • set global tidb_gc_life_time = "24h0m0s";
TiKV Historical Data Caching

Adjust the size based on task needs.

  • old-value-cache-memory-quota: Upper limit of memory used by past incremental data on TiKV nodes
  • sink-memory-quota: Upper limit of memory used by incremental data on TiKV nodes

Parameters

ParameterDescription
printDetailLog

Print received incremental data. It is used for determining if the source database has incremental data.

pdHost

PD node address for DataJob requests. Format: [PD_IP]:[PD_PORT], multiple PD nodes separated by ,
Example: 127.0.0.1:2379,127.0.0.1:2380

cdcGrpcTimeout

Timeout for gRPC channel of PD nodes to DataJob, in ms.

cdcStubTimeout

Timeout for each stub in gRPC channel, in ms. Auto-resubscribe the stub in case of time out.

fastFailKeywords

A comma-separated array of strings. When an exception message contains any of these keywords, the task will skip reconnection attempts and restart directly. For example, DEADLINE_EXCEEDED means the task will restart directly instead of reconnecting when a gRPC timeout exception occurs.

Tips: To modify the general parameters, see General Parameters and Functions.


Target

Prerequisites

PrerequisiteDescription
Permissions for Account

SELECT, INSERT and common DDL permissions.

Port Preparation

Allow the migration and sync node (Worker) to connect to the ClickHouse port (e.g., 8123).

Parameters

ParameterDescription
multiReplica

Whether there are multiple replicas in a cluster.

clusterName

Cluster name. When multiReplica is true, the ON CLUSTER clusterName clause is automatically added to DDL/DML.

ckTableEngine

The following table engines are currently supported:

  • MergeTree
  • ReplacingMergeTree
  • ReplicatedMergeTree
  • ReplicatedReplacingMergeTree
autoOptimizeThresholdSec

Interval of scheduled table optimization (optimize table final). If the value <=0, it means the feature is disabled.

enableTimeRangeClamping

Whether to enable time range clamping. Forces date and time values to be constrained within the valid ClickHouse JDBC range. Values outside this range will be clamped to the minimum or maximum values. Disabled by default (false).

Ranges after clamping(UTC):

  • Date:[1970-01-01, 2149-06-06]
  • Date32:[1925-01-01, 2283-11-11]
  • Timestamp:[1970-01-01 00:00:00, 2106-02-07 14:28:15]
  • Timestamp64:[1925-01-01 08:00:00.000, 2283-11-12 07:59:59.000]

Tips: To modify the general parameters, see General Parameters and Functions.