Sumber data MySQL memungkinkan sinkronisasi dua arah dengan MySQL. Topik ini menjelaskan bagaimana DataWorks mendukung sinkronisasi tersebut melalui Data Integration.
Versi MySQL yang didukung
Baca dan tulis offline:
Mendukung MySQL 5.5.x, 5.6.x, 5.7.x, dan 8.0.x. Kompatibel dengan Amazon RDS for MySQL, Azure Database for MySQL, dan Amazon Aurora MySQL.
Sinkronisasi offline dapat membaca dari view.
Baca real-time:
Data Integration menggunakan subscription real-time untuk membaca data dari MySQL. Mendukung sinkronisasi real-time untuk versi MySQL 5.5.x, 5.6.x, 5.7.x, dan 8.0.x, tetapi tidak mendukung fitur baru MySQL 8.0 seperti functional index. Fitur ini juga kompatibel dengan Amazon RDS for MySQL, Azure Database for MySQL, dan Amazon Aurora MySQL.
PentingJika Anda perlu menyinkronkan data dari DRDS, jangan mengonfigurasinya sebagai sumber data MySQL. Sebaliknya, konfigurasikan langsung sebagai sumber data DRDS. Untuk petunjuknya, lihat Konfigurasi sumber data DRDS.
Batasan
Sinkronisasi real-time
Anda tidak dapat menyinkronkan data dari instans read-only instance MySQL yang menjalankan versi lebih lama dari 5.6.x.
Menyinkronkan tabel yang berisi functional index tidak didukung.
XA ROLLBACK tidak didukung.
Untuk transaksi dalam status XA PREPARE, sinkronisasi real-time menulis data ke tujuan. Jika perintah XA ROLLBACK dikeluarkan, sinkronisasi real-time tidak membatalkan (rollback) data yang telah dipersiapkan. Untuk menangani skenario ini, Anda harus menghapus tabel secara manual dari tugas sinkronisasi real-time, lalu menambahkannya kembali untuk melakukan resinkronisasi.
Format binary log server MySQL harus diatur ke ROW.
Sinkronisasi real-time tidak menyinkronkan penghapusan bertingkat (cascading deletes) pada tabel terkait.
Untuk database Amazon Aurora MySQL, Anda harus terhubung ke instans primary/writer Anda. Anda tidak dapat mengaktifkan fitur Binlog pada read replica Aurora MySQL, dan tugas sinkronisasi real-time memerlukan Binlog untuk pembaruan inkremental.
Untuk perubahan DDL online pada tabel MySQL, sinkronisasi real-time hanya mendukung penambahan kolom (Add Column) melalui Data Management Service (DMS).
Membaca stored procedure dari MySQL tidak didukung.
Sinkronisasi offline
Saat menggunakan plugin MySQL Reader untuk menyinkronkan beberapa tabel dari database ter-shard, Anda harus mengatur concurrency ke nilai yang lebih besar dari jumlah tabel agar pemisahan tabel (table splitting) aktif. Jika tidak, sistem akan membuat satu tugas per tabel.
Membaca stored procedure dari MySQL tidak didukung.
Tipe data yang didukung
Untuk daftar lengkap tipe data MySQL di setiap versi, lihat dokumentasi resmi MySQL. Tabel ini mencantumkan status dukungan untuk tipe data utama, menggunakan MySQL 8.0.x sebagai contoh.
Type | Baca offline (MySQL Reader) | Tulis offline (MySQL Writer) | Baca real-time | Tulis real-time |
TINYINT | ||||
SMALLINT | ||||
INTEGER | ||||
BIGINT | ||||
FLOAT | ||||
DOUBLE | ||||
DECIMAL/NUMERIC | ||||
REAL | ||||
VARCHAR | ||||
JSON | ||||
TEXT | ||||
MEDIUMTEXT | ||||
LONGTEXT | ||||
VARBINARY | ||||
BINARY | ||||
TINYBLOB | ||||
MEDIUMBLOB | ||||
LONGBLOB | ||||
ENUM | ||||
SET | ||||
BOOLEAN | ||||
BIT | ||||
DATE | ||||
DATETIME | ||||
TIMESTAMP | ||||
TIME | ||||
YEAR | ||||
LINESTRING | ||||
POLYGON | ||||
MULTIPOINT | ||||
MULTILINESTRING | ||||
MULTIPOLYGON | ||||
GEOMETRYCOLLECTION |
Prasyarat
Untuk memastikan tugas sinkronisasi data berjalan dengan benar, siapkan lingkungan MySQL Anda sebelum menambahkannya sebagai sumber data di DataWorks.
Topik ini menjelaskan prasyarat yang diperlukan.
Verifikasi versi MySQL
Data Integration hanya mendukung versi MySQL tertentu. Untuk informasi selengkapnya, lihat bagian Versi MySQL yang didukung. Anda dapat memeriksa versi database MySQL Anda dengan menjalankan perintah berikut:
SELECT version();Konfigurasi izin akun
Kami menyarankan membuat akun MySQL khusus untuk DataWorks mengakses sumber data.
Opsional: Buat akun.
Untuk petunjuk detail, lihat Buat akun MySQL.
Berikan izin.
Batch
Dalam skenario sinkronisasi batch:
Untuk membaca data dari MySQL, akun harus memiliki izin baca (
SELECT) pada tabel yang ingin Anda sinkronkan.Untuk menulis data ke MySQL, akun harus memiliki izin tulis (
INSERT,DELETE, danUPDATE) pada tabel yang ingin Anda sinkronkan.
CatatanJika Anda hanya perlu membaca data dari MySQL untuk sinkronisasi tanpa menulis kembali data, Anda hanya perlu memberikan izin
SELECTkepada akun tersebut. IzinINSERT,DELETE, danUPDATEtidak diperlukan untuk sinkronisasi read-only.Real-time
Dalam skenario sinkronisasi real-time, akun harus memiliki izin
SELECT,REPLICATION SLAVE, danREPLICATION CLIENTpada database.
Anda dapat menjalankan perintah berikut untuk memberikan izin yang diperlukan. Atau, Anda dapat memberikan izin
SUPERkepada akun tersebut. Pada perintah berikut, ganti'sync_account'dengan nama akun yang Anda buat.-- Opsional: Buat akun sinkronisasi yang dapat terhubung dari host mana pun ('%'). -- CREATE USER 'sync_account'@'%' IDENTIFIED BY 'your_password'; -- Berikan izin yang diperlukan kepada akun sinkronisasi. GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'sync_account'@'%';Sintaks
*.*memberikan izin pada semua tabel di semua database. Anda juga dapat memberikan izin pada tabel tertentu di database tertentu. Misalnya, untuk memberikan izin pada tabeluserdi databasetest, jalankan perintah berikut:GRANT SELECT, REPLICATION CLIENT ON test.user TO 'sync_account'@'%';.CatatanIzin
REPLICATION SLAVEadalah izin global dan tidak dapat diberikan untuk database atau tabel tertentu.
Aktifkan binlog MySQL (hanya untuk sinkronisasi real-time)
Data Integration melakukan sinkronisasi data inkremental real-time dengan berlangganan binlog MySQL. Sebelum mengonfigurasi tugas sinkronisasi di DataWorks, Anda harus mengaktifkan binlog MySQL.
Jika binlog sedang dikonsumsi, database tidak dapat menghapusnya. Latensi tinggi pada tugas sinkronisasi real-time dapat menunda penghapusan binlog sumber, yang berpotensi menghabiskan ruang disk. Kami menyarankan Anda mengonfigurasi alert latensi untuk tugas Anda dan memantau ruang disk database.
Simpan binlog minimal selama 72 jam. Jika tugas gagal dan binlog tidak lagi tersedia, Anda tidak dapat mengatur ulang checkpoint ke posisi sebelum kegagalan, yang dapat menyebabkan kehilangan data. Dalam kasus ini, Anda harus menggunakan sinkronisasi batch untuk mengisi kembali data.
Periksa apakah binlog diaktifkan.
Jalankan pernyataan berikut untuk memeriksa apakah binlog diaktifkan.
SHOW variables LIKE "log_bin";Jika nilai yang dikembalikan adalah
ON, berarti binlog diaktifkan.Untuk memeriksa status binlog pada database replika, jalankan pernyataan berikut.
SHOW variables LIKE "log_slave_updates";Jika nilai yang dikembalikan adalah
ON, berarti binlog diaktifkan pada database replika.
Jika nilai yang dikembalikan tidak sesuai harapan:
Untuk MySQL open-source, lihat dokumentasi resmi MySQL untuk petunjuk mengaktifkan binlog.
Untuk RDS for MySQL, lihat Backup instans ApsaraDB RDS for MySQL untuk petunjuk mengaktifkan binlog.
Untuk PolarDB for MySQL, lihat Aktifkan atau nonaktifkan binary logging untuk petunjuk mengaktifkan binlog.
Periksa format binlog.
Jalankan pernyataan berikut untuk memeriksa format binlog.
SHOW variables LIKE "binlog_format";Kemungkinan nilai yang dikembalikan:
Nilai kembali ROW menunjukkan bahwa format binlog yang diaktifkan adalah
ROW.STATEMENT: Format binlog adalah
STATEMENT.MIXED: Format binlog adalah
MIXED.
PentingSinkronisasi real-time DataWorks hanya mendukung format ROW. Jika nilai yang dikembalikan bukan ROW, Anda harus mengubah pengaturan
binlog_format.Periksa apakah full row image dicatat.
Jalankan pernyataan berikut untuk memeriksa pengaturan row image.
SHOW variables LIKE "binlog_row_image";Kemungkinan nilai yang dikembalikan:
FULL: Full row image dicatat.
MINIMAL: Minimal row image dicatat, bukan full row image.
PentingSinkronisasi real-time DataWorks hanya mendukung server MySQL yang telah mengaktifkan full row image untuk binlog. Jika nilai yang dikembalikan bukan FULL, Anda harus mengubah pengaturan binlog_row_image.
Konfigurasi izin baca binlog OSS
Saat menambahkan sumber data MySQL, jika Anda mengatur Configuration Mode ke ApsaraDB for RDS dan instans RDS for MySQL Anda berada di wilayah yang sama dengan ruang kerja DataWorks Anda, Anda dapat mengaktifkan Read binlogs from OSS. Dengan fitur ini diaktifkan, DataWorks mengambil binlog dari OSS jika akses langsung ke binlog RDS for MySQL gagal, sehingga mencegah gangguan pada tugas sinkronisasi real-time.
Jika Anda menggunakan Alibaba Cloud RAM User atau Alibaba Cloud RAM Role untuk OSS binlog access identity, Anda juga harus memberikan izin yang diperlukan.
RAM user
Masuk ke konsol Resource Access Management (RAM), buka halaman Users, lalu temukan RAM user target.
Pada kolom Operations, klik Add Permissions.
Konfigurasi parameter berikut lalu klik OK.
Scope: Alibaba Cloud account
Permission Policy: system policy
Policy Name:
AliyunDataWorksAccessingRdsOSSBinlogPolicy

RAM role
Masuk ke konsol Resource Access Management (RAM) dan buat RAM role. Untuk informasi selengkapnya, lihat Buat RAM role untuk akun Alibaba Cloud tepercaya.
Parameter utama:
Select trusted entity: Alibaba Cloud account
Select account: Other Alibaba Cloud account. Masukkan ID akun Alibaba Cloud yang memiliki ruang kerja DataWorks.
Role name: Masukkan nama kustom.
Berikan izin kepada RAM role. Untuk informasi selengkapnya, lihat Berikan izin kepada RAM role.
Parameter utama:
Permission Policy: system policy
Policy Name:
AliyunDataWorksAccessingRdsOSSBinlogPolicy
Ubah trust policy RAM role. Untuk informasi selengkapnya, lihat Edit trust policy RAM role.
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "<your_alibaba_cloud_account_id>@di.dataworks.aliyuncs.com", "<your_alibaba_cloud_account_id>@dataworks.aliyuncs.com" ] } } ], "Version": "1" }
Tambahkan sumber data
Mode instans Alibaba Cloud
Jika database MySQL Anda berjalan pada instans Alibaba Cloud RDS, kami menyarankan Anda membuat sumber data dalam mode instans Alibaba Cloud. Konfigurasikan parameter sebagai berikut:
Parameter | Deskripsi |
Data Source Name | Nama sumber data harus unik dalam ruang kerja. Kami menyarankan menggunakan nama yang secara jelas mengidentifikasi bisnis dan lingkungan, misalnya, |
Configuration Mode | Pilih mode instans Alibaba Cloud. Untuk informasi selengkapnya tentang mode konfigurasi, lihat Skenario 1: Instance Mode (Current Cloud Account) dan Skenario 2: Instance Mode (Other Cloud Account). |
Alibaba Cloud Account | Pilih akun cloud tempat instans tersebut berada. Jika Anda memilih Another Alibaba Cloud Account, Anda harus mengonfigurasi izin cross-account. Untuk informasi selengkapnya, lihat Cross-Account Authorization (RDS, Hive, or Kafka). Jika Anda memilih akun cloud lain, berikan informasi berikut:
|
Region | Wilayah instans. |
Instance | Pilih nama instans yang akan dihubungkan. |
Standby library settings | Jika instans RDS Anda memiliki read-only instance (instans standby), Anda dapat mengonfigurasi tugas untuk membaca data darinya. Hal ini mencegah operasi baca mengganggu performa instans utama. |
Instance Address | Setelah memilih instans yang benar, klik Get Latest Address untuk melihat informasi seperti alamat publik/pribadi, VPC, dan VSwitch-nya. |
Database | Nama database tempat sumber data terhubung. Pastikan pengguna yang ditentukan memiliki izin yang diperlukan untuk mengakses database ini. |
Access identity | Pilih sumber kredensial yang digunakan DataWorks untuk mengakses MySQL. Opsi berikut didukung:
|
Support OSS binlog reading | Jika diaktifkan, DataWorks mencoba mengambil binlog dari OSS ketika binlog RDS tidak dapat diakses. Hal ini mencegah gangguan pada tugas sinkronisasi real-time. Untuk informasi selengkapnya, lihat Konfigurasi otorisasi untuk membaca binlog OSS. Berdasarkan konfigurasi otorisasi Anda, atur OSS binlog access identity. |
Authentication Method | Pilih tanpa autentikasi atau autentikasi SSL. Jika Anda memilih autentikasi SSL, pastikan fitur tersebut juga diaktifkan pada instans. Siapkan file sertifikat dan unggah ke Authentication File Management. |
Version | Masuk ke server MySQL dan jalankan kueri |
Mode string koneksi
Anda juga dapat menggunakan mode string koneksi untuk membuat sumber data, yang menawarkan fleksibilitas lebih tinggi. Konfigurasikan parameter sebagai berikut:
Parameter | Deskripsi |
Data Source Name | Nama sumber data harus unik dalam ruang kerja. Kami menyarankan menggunakan nama yang secara jelas mengidentifikasi bisnis dan lingkungan, misalnya, |
Configuration Mode | Pilih User-created Data Store with Public IP Addresses. Dalam mode ini, URL JDBC digunakan untuk terhubung ke database. |
Connection string preview | Setelah memasukkan alamat koneksi dan nama database, DataWorks secara otomatis menghasilkan pratinjau URL JDBC. |
Connection Address | Alamat host: Masukkan alamat akses aktual server database. Pastikan alamat tersebut dapat diakses melalui jaringan dari kelompok sumber daya DataWorks. Skenario umum meliputi:
Jika database adalah instans Alibaba Cloud RDS, Anda dapat menemukan alamat tersebut di halaman Database Connection pada detail instans. Nomor port: Port database. Nilai default adalah 3306. |
Database Name | Nama database tempat sumber data terhubung. Pastikan pengguna yang ditentukan memiliki izin yang diperlukan untuk mengakses database ini. |
Access identity | Pilih sumber kredensial yang digunakan DataWorks untuk mengakses MySQL. Opsi berikut didukung:
|
Version | Masuk ke server MySQL dan jalankan kueri |
Authentication Method | Pilih tanpa autentikasi atau autentikasi SSL. Jika Anda memilih autentikasi SSL, pastikan fitur tersebut juga diaktifkan pada instans. Siapkan file sertifikat dan unggah ke Authentication File Management. |
Advanced Parameters | Parameter: Pilih parameter yang didukung dari daftar drop-down, misalnya, Nilai: Masukkan nilai yang sesuai untuk parameter yang dipilih, misalnya, URL JDBC kemudian secara otomatis diperbarui menjadi: Misalnya, jika Anda mengalami error terkait zona waktu atau perlu menentukan zona waktu, klik Add Property, pilih |
Pastikan kelompok sumber daya DataWorks dapat terhubung ke database. Jika tidak, tugas selanjutnya akan gagal. Konfigurasi jaringan bergantung pada lingkungan database dan mode koneksi sumber data. Untuk informasi selengkapnya, lihat Uji konektivitas.
Alur kerja sinkronisasi MySQL
Untuk informasi tentang titik masuk dan prosedur konfigurasi tugas sinkronisasi, lihat panduan konfigurasi berikut.
Konfigurasi sinkronisasi offline tabel tunggal
Lihat Konfigurasi mode wizard dan Konfigurasi mode skrip untuk prosedurnya.
Lihat Lampiran: Contoh skrip MySQL dan referensi parameter untuk semua parameter mode skrip dan contoh skrip.
Konfigurasi sinkronisasi real-time tabel tunggal
Lihat Konfigurasi tugas sinkronisasi real-time (Legacy) untuk prosedurnya.
Konfigurasi sinkronisasi database penuh
Lihat Konfigurasi tugas sinkronisasi real-time database penuh untuk prosedurnya.
FAQ
Untuk masalah umum Data Integration lainnya, lihat FAQ tentang Data Integration.
Lampiran: Contoh skrip MySQL dan parameter
Konfigurasi tugas sinkronisasi batch menggunakan editor kode
Jika Anda ingin mengonfigurasi tugas sinkronisasi batch menggunakan editor kode, Anda harus mengonfigurasi parameter terkait dalam skrip berdasarkan persyaratan format skrip terpadu. Untuk informasi selengkapnya, lihat Konfigurasi mode skrip. Informasi berikut menjelaskan parameter yang harus Anda konfigurasi untuk sumber data saat mengonfigurasi tugas sinkronisasi batch menggunakan editor kode.
Contoh skrip Reader
Topik ini menyediakan contoh konfigurasi untuk satu tabel dalam satu database dan untuk tabel ter-shard.
Komentar dalam contoh JSON berikut hanya untuk keperluan demonstrasi. Hapus komentar sebelum menjalankan skrip.
Tabel tunggal dalam satu database
{ "type": "job", "version": "2.0",// Nomor versi. "steps": [ { "stepType": "mysql",// Nama konektor. "parameter": { "column": [// Kolom yang akan dibaca. "id" ], "connection": [ { "querySql": [ "select a,b from join1 c join join2 d on c.id = d.id;" ], "datasource": ""// Nama sumber data. } ], "where": "",// Kondisi filter. "splitPk": "",// Kunci shard. "encoding": "UTF-8"// Format encoding. }, "name": "Reader", "category": "reader" }, { "stepType": "stream", "parameter": {}, "name": "Writer", "category": "writer" } ], "setting": { "errorLimit": { "record": "0"// Jumlah maksimum catatan data kotor yang diizinkan. }, "speed": { "throttle": true,// Atur ke true untuk mengaktifkan pembatasan laju. Jika false, pembatasan laju dinonaktifkan dan parameter 'mbps' diabaikan. "concurrent": 1,// Jumlah thread konkuren. "mbps": "12"// Batas laju. 1 mbps = 1 MB/s. } }, "order": { "hops": [ { "from": "Reader", "to": "Writer" } ] } }Tabel ter-shard
CatatanMySQL Reader dapat membaca data dari beberapa tabel MySQL yang memiliki skema yang sama. Dalam konteks ini, "tabel ter-shard" mengacu pada skenario di mana data dari beberapa tabel sumber ditulis ke satu tabel tujuan. Untuk menyinkronkan tabel ter-shard di tingkat database, buat tugas di Data Integration dan pilih fitur sharding database penuh.
{ "type": "job", "version": "2.0", "steps": [ { "stepType": "mysql", "parameter": { "indexes": [ { "type": "unique", "column": [ "id" ] } ], "envType": 0, "useSpecialSecret": false, "column": [ "id", "buyer_name", "seller_name", "item_id", "city", "zone" ], "tableComment": "Tabel pesanan uji", "connection": [ { "datasource": "rds_dataservice", "table": [ "rds_table" ] }, { "datasource": "rds_workshop_log", "table": [ "rds_table" ] } ], "where": "", "splitPk": "id", "encoding": "UTF-8" }, "name": "Reader", "category": "reader" }, { "stepType": "odps", "parameter": {}, "name": "Writer", "category": "writer" }, { "name": "Processor", "stepType": null, "category": "processor", "copies": 1, "parameter": { "nodes": [], "edges": [], "groups": [], "version": "2.0" } } ], "setting": { "executeMode": null, "errorLimit": { "record": "" }, "speed": { "concurrent": 2, "throttle": false } }, "order": { "hops": [ { "from": "Reader", "to": "Writer" } ] } }
Parameter Reader
Parameter | Deskripsi | Wajib | Default |
datasource | Nama sumber data yang akan dibaca. Nama ini harus sesuai dengan sumber data yang dikonfigurasi di editor kode. | Ya | Tidak ada |
table | Nama tabel sumber yang akan disinkronkan. Tugas Data Integration hanya dapat membaca data dari satu tabel logis. Contoh berikut menunjukkan cara menggunakan pola lanjutan untuk parameter
Catatan Tugas membaca kolom yang ditentukan dalam parameter | Ya | Tidak ada |
column | Array JSON yang menentukan kolom yang akan dibaca dari tabel sumber. Untuk memilih semua kolom, gunakan
| Ya | Tidak ada |
splitPk | Saat MySQL Reader mengekstrak data, jika Anda menentukan parameter
| Tidak | Tidak ada |
splitFactor | Faktor sharding. Parameter ini mengontrol berapa banyak shard yang dibuat. Jika concurrency diaktifkan, data dibagi menjadi Catatan Kisaran yang direkomendasikan: 1 hingga 100. Nilai yang terlalu besar dapat menyebabkan error kehabisan memori (OOM). | Tidak | 5 |
where | Kondisi filter. Dalam skenario tipikal, untuk hanya menyinkronkan data hari ini, Anda dapat mengatur kondisi
| Tidak | Tidak ada |
querySql (Hanya tersedia di editor kode; tidak didukung di antarmuka tanpa kode.) | Dalam beberapa kasus penggunaan, parameter Catatan Parameter | Tidak | Tidak ada |
useSpecialSecret | Menentukan apakah akan menggunakan password masing-masing sumber data individu saat Anda memiliki beberapa sumber data sumber. Nilai yang valid:
Jika Anda mengonfigurasi beberapa sumber data sumber yang memiliki username dan password berbeda, atur parameter ini ke true untuk menggunakan kredensial masing-masing sumber data. | Tidak | false |
Contoh skrip Writer
{
"type": "job",
"version": "2.0",// Nomor versi.
"steps": [
{
"stepType": "stream",
"parameter": {},
"name": "Reader",
"category": "reader"
},
{
"stepType": "mysql",// Nama konektor.
"parameter": {
"postSql": [],// Pernyataan SQL yang dijalankan setelah tugas.
"datasource": "",// Nama sumber data.
"column": [// Kolom yang akan ditulis.
"id",
"value"
],
"writeMode": "insert",// Mode penulisan. Nilai yang valid: insert, replace, dan update.
"batchSize": 1024,// Jumlah catatan per batch.
"table": "",// Nama tabel tujuan.
"nullMode": "skipNull",// Kebijakan untuk menangani nilai NULL.
"skipNullColumn": [// Kolom yang akan dilewati jika bernilai NULL.
"id",
"value"
],
"preSql": [
"delete from XXX;"// Pernyataan SQL yang dijalankan sebelum tugas.
]
},
"name": "Writer",
"category": "writer"
}
],
"setting": {
"errorLimit": {// Jumlah maksimum catatan data kotor yang diizinkan.
"record": "0"
},
"speed": {
"throttle": true,// Atur ke true untuk mengaktifkan pembatasan laju. Jika false, pembatasan laju dinonaktifkan dan parameter 'mbps' diabaikan.
"concurrent": 1,// Jumlah thread konkuren.
"mbps": "12"// Batas laju dalam MB/s untuk mencegah tekanan I/O berlebihan pada database. 1 mbps = 1 MB/s.
}
},
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
}
}Parameter Writer
Parameter | Deskripsi | Wajib | Default |
datasource | Nama sumber data tujuan. Nama ini harus sesuai dengan sumber data yang dikonfigurasi di editor kode. | Ya | Tidak ada |
table | Nama tabel tujuan. | Ya | Tidak ada |
writeMode | Mode penulisan. Opsi yang didukung sesuai dengan pernyataan MySQL
| Tidak | insert |
nullMode | Menentukan kebijakan untuk menangani nilai NULL dari sumber. Nilai yang valid:
Penting Saat dikonfigurasi sebagai skipNull, tugas secara dinamis membuat pernyataan SQL untuk menulis data guna mendukung nilai default di tujuan. Hal ini meningkatkan jumlah operasi FLUSH dan mengurangi kecepatan sinkronisasi. Dalam skenario terburuk, tugas akan melakukan FLUSH sekali untuk setiap catatan data. | Tidak | writeNull |
skipNullColumn | Saat nullMode diatur ke skipNull, kolom yang ditentukan oleh parameter ini tidak dipaksa menjadi Format: | Tidak | Semua kolom yang dikonfigurasi untuk tugas. |
column | Kolom tujuan yang akan ditulis, ditentukan sebagai array JSON string. Contoh: | Ya | Tidak ada |
preSql | Satu atau beberapa pernyataan SQL yang dieksekusi sebelum tugas sinkronisasi dimulai. Antarmuka tanpa kode hanya mendukung satu pernyataan, sedangkan editor kode mendukung beberapa. Misalnya, Anda dapat menghapus data yang ada dari tabel: Catatan Transaksi tidak didukung untuk beberapa pernyataan SQL. | Tidak | Tidak ada |
postSql | Satu atau beberapa pernyataan SQL yang dieksekusi setelah tugas sinkronisasi selesai. Antarmuka tanpa kode hanya mendukung satu pernyataan, sedangkan editor kode mendukung beberapa. Misalnya, Anda dapat menambahkan kolom timestamp dengan menggunakan pernyataan berikut: Catatan Transaksi tidak didukung untuk beberapa pernyataan SQL. | Tidak | Tidak ada |
batchSize | Jumlah catatan per batch penulisan. Nilai yang lebih besar mengurangi round-trip jaringan dan dapat meningkatkan throughput, tetapi mengatur nilai terlalu tinggi dapat menyebabkan error kehabisan memori (OOM). | Tidak | 256 |
updateColumn | Saat | Tidak | Tidak ada |