DataWorks menyediakan TiDB Reader untuk membaca data dari sumber data TiDB dalam mode offline. Topik ini menjelaskan kemampuan sinkronisasi data dari sumber data TiDB.
Versi TiDB yang Didukung
Baca data batch: Basis data TiDB 7.x dan TiDB 8.x didukung.
Tulis data batch: Tidak ada versi basis data TiDB yang didukung.
Baca dan tulis data real-time: Tidak ada versi basis data TiDB yang didukung.
TiDB sangat kompatibel dengan protokol MySQL serta fitur dan sintaks umum yang digunakan oleh MySQL 5.7 dan MySQL 8.0. Sinkronisasi data dari sumber data TiDB dalam mode offline diimplementasikan berdasarkan protokol MySQL. Untuk informasi lebih lanjut tentang perbandingan kompatibilitas antara TiDB dan MySQL, lihat Kompatibilitas MySQL.
Tipe data yang didukung
Untuk informasi tentang semua tipe data di setiap versi TiDB, lihat Tipe Data. Tabel berikut memberikan status dukungan untuk tipe data utama di TiDB.
Tipe data | TiDB Reader untuk baca data batch |
TINYINT | Didukung |
SMALLINT | Didukung |
MEDIUMINT | Didukung |
INTEGER | Didukung |
BIGINT | Didukung |
FLOAT | Didukung |
DOUBLE | Didukung |
DECIMAL | Didukung |
CHAR | Didukung |
VARCHAR | Didukung |
JSON | Didukung |
TEXT | Didukung |
TINYTEXT | Didukung |
MEDIUMTEXT | Didukung |
LONGTEXT | Didukung |
VARBINARY | Didukung |
BINARY | Didukung |
BLOB | Didukung |
TINYBLOB | Didukung |
MEDIUMBLOB | Didukung |
LONGBLOB | Didukung |
ENUM | Didukung |
SET | Didukung |
BOOLEAN | Didukung |
BIT | Didukung |
DATE | Didukung |
DATETIME | Didukung |
TIMESTAMP | Didukung |
TIME | Didukung |
YEAR | Didukung |
Siapkan lingkungan TiDB sebelum sinkronisasi data
Sebelum menggunakan DataWorks untuk menyinkronkan data dari sumber data TiDB, Anda harus menyiapkan lingkungan TiDB. Ini memastikan bahwa tugas sinkronisasi data dapat dikonfigurasi dan berjalan sesuai harapan. Informasi berikut menjelaskan cara menyiapkan lingkungan TiDB untuk sinkronisasi data.
Persiapan 1: Periksa versi basis data TiDB Anda
Data Integration mengharuskan versi basis data TiDB adalah 7.x atau 8.x. Pastikan versi basis data TiDB tempat Anda ingin menyinkronkan data memenuhi persyaratan. Anda dapat menjalankan pernyataan berikut untuk memeriksa versi basis data TiDB:
SELECT TIDB_VERSION()\G
*************************** 1. row ***************************
TIDB_VERSION(): Release Version: v8.1.1
Edition: Community
Git Commit Hash: 821e491a20fbab36604b36b647b5bae26a2c1418
Git Branch: HEAD
UTC Build Time: 2024-08-27 19:16:25
GoVersion: go1.21.10
Race Enabled: false
Check Table Before Drop: false
Store: tikv
1 row in set (0.00 sec)Persiapan 2: Siapkan akun yang memiliki izin yang diperlukan
Kami merekomendasikan agar Anda merencanakan dan membuat akun untuk DataWorks mengakses basis data TiDB Anda. Untuk menyiapkan akun tersebut, ikuti langkah-langkah berikut:
Opsional. Buat akun. Untuk informasi lebih lanjut, lihat Manajemen Akun Pengguna TiDB.
Berikan izin yang diperlukan ke akun.
Baca data batch: Akun harus memiliki izin
SELECT.Anda dapat menjalankan pernyataan berikut untuk memberikan izin ke akun. Atau, Anda dapat memberikan izin
SUPERke akun. GantiAkun untuk sinkronisasi datadalam pernyataan dengan akun yang dibuat.-- CREATE USER 'Akun untuk sinkronisasi data'@'%' IDENTIFIED BY 'Password'; //Buat akun yang dapat digunakan untuk sinkronisasi data dan tentukan kata sandi. Dengan cara ini, Anda dapat menggunakan akun dan kata sandi untuk mengakses basis data dari host mana pun. % menunjukkan host. GRANT SELECT ON *.* TO 'Akun untuk sinkronisasi data'@'%'; // Berikan izin SELECT ke akun.*.*menunjukkan bahwa akun diberikan izin pada semua tabel di semua basis data. Anda juga dapat memberikan izin pada tabel tertentu di basis data ke akun. Misalnya, untuk memberikan akun izin pada tabel pengguna di basis data uji, jalankan pernyataan berikut:GRANT SELECT ON test.user TO 'Akun untuk sinkronisasi data'@'%';.CatatanIzin
REPLICATION SLAVEbersifat global. Anda tidak dapat memberikan izin ini pada tabel tertentu di basis data ke akun.
Tambahkan sumber data
Sebelum mengembangkan tugas sinkronisasi di DataWorks, Anda harus menambahkan sumber data yang diperlukan ke DataWorks dengan mengikuti petunjuk di Tambahkan dan kelola sumber data. Anda dapat melihat tip info parameter di konsol DataWorks untuk memahami arti parameter saat menambahkan sumber data.
Lampiran: Kode dan parameter
Konfigurasikan tugas sinkronisasi batch menggunakan editor kode
Jika ingin mengonfigurasi tugas sinkronisasi batch menggunakan editor kode, Anda harus mengonfigurasi parameter terkait dalam skrip sesuai dengan format skrip seragam. Untuk informasi lebih lanjut, lihat Konfigurasikan tugas sinkronisasi batch menggunakan editor kode. Informasi berikut menjelaskan parameter yang harus dikonfigurasi untuk sumber data saat mengonfigurasi tugas sinkronisasi batch menggunakan editor kode.
Kode untuk TiDB Reader
Kode berikut memberikan contoh konfigurasi tugas sinkronisasi untuk membaca data dari sumber data TiDB.
Komentar dalam contoh JSON hanya digunakan untuk menjelaskan definisi beberapa parameter utama. Hapus komentar saat mengonfigurasi parameter.
{
"type": "job",
"version": "2.0",
"steps":
[
{
"stepType": "tidb",
"parameter":
{
"column":
[
"id",
"name"
],
"where": "",
"splitPk": "id",
"connection":
[
{
"selectedDatabase": "test_database",
"datasource": "test_datasource",
"table":
[
"test_table"
]
}
]
},
"name": "Reader",
"category": "reader"
},
{
"stepType": "odps",
"parameter":
{
},
"name": "Writer",
"category": "writer"
}
],
"setting":
{
"errorLimit":
{
"record": "0"
},
"speed":
{
"throttle": false,
"concurrent": 3
}
},
"order":
{
"hops":
[
{
"from": "Reader",
"to": "Writer"
}
]
}
}
Parameter dalam kode untuk TiDB Reader
Parameter | Deskripsi | Diperlukan | Nilai default |
datasource | Nama sumber data. Harus sama dengan nama sumber data yang ditambahkan. Anda dapat menambahkan sumber data menggunakan editor kode. | Ya | Tidak ada nilai default |
table | Nama tabel tempat Anda ingin membaca data. Anda dapat melakukan konfigurasi lanjutan untuk parameter tabel untuk menentukan rentang tabel. Contoh:
| Ya | Tidak ada nilai default |
column | Nama kolom tempat Anda ingin membaca data. Tentukan nama dalam larik JSON. Nilai default adalah
| Ya | Tidak ada nilai default |
splitPk | Bidang yang digunakan untuk sharding data saat TiDB Reader membaca data. Jika Anda mengonfigurasi parameter ini, sharding data dilakukan berdasarkan nilai parameter ini, dan thread paralel dapat digunakan untuk membaca data. Ini meningkatkan efisiensi sinkronisasi data.
| Tidak | Tidak ada nilai default |
where | Klausa WHERE. Misalnya, Anda dapat mengatur parameter ini ke
| Tidak | Tidak ada nilai default |