-
Notifications
You must be signed in to change notification settings - Fork 3.7k
Closed
Labels
kind/featureCategorizes issue or PR as related to a new feature.Categorizes issue or PR as related to a new feature.
Description
Background
#56191 Streaming jobs have been introduced, and continuous synchronization on S3 is now supported.
This proposal involves extending support for MySQL data sources.
Unlike S3, in MySQL, a single binlog entry may involve multiple tables, making it impossible to represent using TVF.
Grammar
Create mysql sync
CREATE JOB mysql_db_sync
ON STREAMING
FROM MYSQL (
"jdbc_url" = "jdbc:mysql://127.0.0.1:3306",
"driver_url" = "mysql-connector-j-8.0.31.jar",
"driver_class" = "com.mysql.cj.jdbc.Driver",
"user" = "root",
"password" = "",
"database" = "mysqldb",
"include_tables" = "user_info,student",
"offset" = "initial"
)
TO DATABASE target_test_db (
)Show job like common other streaming job
select * from job(type='insert') where ExecuteType = 'streaming'Design
Introducing the CdcClient role:
- Responsible for consuming full and incremental data from MySQL.
- Starts during job scheduling and terminates following the BE process.
Limitations
- CdcClient can only guarantee at-least-once semantics, but idempotency can be achieved using the primary key table.
Metadata
Metadata
Assignees
Labels
kind/featureCategorizes issue or PR as related to a new feature.Categorizes issue or PR as related to a new feature.