BladePipe 1.7.0: Stronger alerts, Broader DB support, Faster KingbaseES scanning.
Skip to main content

OpenGauss to Kafka

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

Target DataSource:

Connection

Basic Functions

FunctionDescription
Full Data Migration

Migrate data by sequentially scanning data in tables and writing it in batches to the message-oriented middleware.

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.

Metadata Retrieval

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

Advanced Functions

FunctionDescription
Message Format

The following message formats are supported. See Message Format.

  • CloudCanal format
  • AlibabaCanal format
Topic Mapping Rules

By default, Topic is formed by connecting source instance id, database, and table with . in between (e.g., pg-vgpq6q097174t6t.pg_db.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.

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.

Setting Target Primary Key

Change the primary key to another field to facilitate data aggregation and other operations.

Limits

LimitDescription
No Support for DDL Sync

DDL synchronization is not supported because OpenGauss WAL logs do not provide any DDL-related information.


Source

Prerequisites

PrerequisiteDescription
Permissions for Account

Required permissions (taking a self-managed database as an example):

  • GRANT ALL PRIVILEGES ON DATABASE sync_db TO sync_user (or SELECT permissions on all views in the sync_db information_schema, and SELECT permissions on tables, indexes, and constraints that need synchronization)
  • ALTER USER sync_user REPLICATION
Incremental Data Sync Preparation

Prepare as follows:

  • Modify postgresql.conf to set wal_level=logical and wal_log_hints = on
  • Modify pg_hba.conf to set host replication sync_user CIDR_net md5, host sync_db sync_user CIDR_net md5, host postgres sync_user CIDR_net md5
  • Restart PostgreSQL
Port Preparation

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

Parameters

ParameterDescription
fullFetchSize

Fetch size for scaning full data.

eventStoreSize

Cache size for parsed incremental events.

ignoreGisSRID

Whether to ignore SRID when parsing GIS data types.

defaultGisSRID

Set the SRID for GIS data types.

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


Target

Prerequisites

PrerequisiteDescription
Port Preparation

Allow the migration and sync node (Worker) to connect to the Kafka ports.

Parameters

ParameterDescription
schemaFormat

Message format. For more information, see Message Format.

batchWriteSize

The maximum data size of a single message. If the size exceeds the limit, the message will be split.

defaultTopic

Messages that cannot find a corresponding topic are sent to this topic (such as adding a new table)

ddlTopic

A topic specifically used to receive DDL events. If it is empty, the DDL events will be sent to the 0th partition of the corresponding topic.

compressionType

Kafka compression.type parameter to set compression algorithm. Support GZIP, SNAPPY, LZ4, ZSTD.

batchSize

Kafka batch.size parameter.

acks

Kafka acks parameter. By default, it is all.

maxRequestBytes

Kafka max.request.size parameter.

lingerMs

Kafka linger.ms parameter. By default, it is 1.

envelopSchemaInclude

When schemaFormat is set to DEBEZIUM_ENVELOP_JSON_FOR_MQ, it means whether the message body contains schema information.

customClientProps

Custom properties passed to the Kafka client in JSON format. The key is the parameter name and the value is the parameter value. This setting takes the highest priority. For example: AWS IAM Access Control

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