Layanan Transmisi Data (DTS) memungkinkan Anda menyinkronkan data dari klaster PolarDB for MySQL ke database Doris untuk analitik data skala besar. Topik ini menjelaskan cara menyinkronkan data ke database Doris yang diterapkan pada instance Elastic Compute Service (ECS).
Prasyarat
Database Doris tujuan telah dibuat. Ruang penyimpanan yang tersedia di database ini harus lebih besar daripada ruang penyimpanan yang digunakan oleh klaster sumber PolarDB for MySQL.
Untuk informasi mengenai versi database sumber dan tujuan yang didukung, lihat Ikhtisar solusi sinkronisasi data.
Catatan penggunaan
Kategori | Deskripsi |
Batasan database sumber |
|
Batasan lainnya |
|
Penagihan
| Jenis sinkronisasi | Biaya konfigurasi tugas |
| Sinkronisasi skema dan sinkronisasi data penuh | Gratis. |
| Sinkronisasi data inkremental | Dikenakan biaya. Untuk informasi selengkapnya, lihat Billing overview. |
Operasi SQL yang mendukung sinkronisasi inkremental
Jenis operasi | Pernyataan SQL |
DML | INSERT, UPDATE, dan DELETE |
DDL |
|
Izin yang diperlukan untuk akun database
Database | Izin yang diperlukan | Metode pembuatan dan otorisasi |
Klaster sumber PolarDB for MySQL | Izin baca dan tulis pada objek yang akan disinkronkan | |
Database Doris tujuan | Izin USAGE_PRIV dan izin baca-tulis berikut: SELECT_PRIV, LOAD_PRIV, ALTER_PRIV, CREATE_PRIV, dan DROP_PRIV |
Prosedur
Buka halaman daftar tugas sinkronisasi data di wilayah tujuan menggunakan salah satu metode berikut.
Dari Konsol DTS
Login ke Konsol DTS.
Di panel navigasi sebelah kiri, klik Data Synchronization.
Di pojok kiri atas halaman, pilih wilayah tempat instans sinkronisasi berada.
Dari Konsol DMS
CatatanOperasi aktual dapat berbeda tergantung pada mode dan tata letak konsol DMS. Untuk informasi selengkapnya, lihat Simple mode console dan Customize the layout and style of the DMS console.
Login ke Konsol DMS.
Dari bilah menu atas, pilih .
Di sebelah kanan Data Synchronization Tasks, pilih wilayah instans sinkronisasi.
Klik Create Task untuk membuka halaman konfigurasi tugas.
Konfigurasikan database sumber dan tujuan. Tabel berikut menjelaskan parameter-parameternya.
Kategori
Konfigurasi
Deskripsi
N/A
Task Name
DTS secara otomatis menghasilkan nama tugas. Kami merekomendasikan agar Anda menentukan nama deskriptif untuk memudahkan identifikasi. Nama tersebut tidak perlu unik.
Source Database
Select Existing Connection
Untuk menggunakan instans database yang terdaftar di sistem (baru dibuat atau disimpan), pilih instans database yang diinginkan dari daftar drop-down. Informasi database di bawah ini akan dikonfigurasi secara otomatis.
CatatanDi konsol DMS, item konfigurasi ini adalah Select a DMS database instance..
Jika Anda belum mendaftarkan instans database ke sistem atau tidak perlu menggunakan instans terdaftar, konfigurasikan informasi database secara manual di bawah ini.
Database Type
Pilih PolarDB for MySQL.
Access Method
Pilih Alibaba Cloud Instance.
Instance Region
Pilih wilayah tempat klaster sumber PolarDB for MySQL berada.
Replicate Data Across Alibaba Cloud Accounts
Contoh ini menggunakan instans database di bawah Akun Alibaba Cloud saat ini. Pilih No.
PolarDB Cluster ID
Pilih ID klaster sumber PolarDB for MySQL.
Database Account
Masukkan akun database klaster sumber PolarDB for MySQL. Untuk informasi selengkapnya tentang izin yang diperlukan, lihat Permissions required for database accounts.
Database Password
Masukkan password yang sesuai dengan akun database.
Encryption
Pilih metode koneksi sesuai kebutuhan. Untuk informasi selengkapnya tentang enkripsi Secure Sockets Layer (SSL), lihat Configure SSL encryption.
Destination Database
Select Existing Connection
Untuk menggunakan instans database yang terdaftar di sistem (baru dibuat atau disimpan), pilih instans database yang diinginkan dari daftar drop-down. Informasi database di bawah ini akan dikonfigurasi secara otomatis.
CatatanDi konsol DMS, item konfigurasi ini adalah Select a DMS database instance..
Jika Anda belum mendaftarkan instans database ke sistem atau tidak perlu menggunakan instans terdaftar, konfigurasikan informasi database secara manual di bawah ini.
Database Type
Pilih Doris.
Access Method
Pilih metode akses berdasarkan lokasi penerapan database tujuan. Contoh ini menggunakan Self-managed Database on ECS.
CatatanJika Anda menggunakan metode akses lain untuk menghubungkan database yang dikelola sendiri ke DTS, Anda harus melakukan persiapan. Untuk informasi selengkapnya, lihat Preparations.
Instance Region
Pilih wilayah tempat database Doris tujuan berada.
ECS Instance ID
Pilih ID instance ECS tempat database Doris tujuan berada.
CatatanJika database Doris tujuan diterapkan pada beberapa instance ECS (misalnya, node BE atau FE diterapkan pada instance ECS lain), Anda harus menambahkan blok CIDR server DTS secara manual ke aturan keamanan setiap instance ECS tempat node tersebut diterapkan.
Port Number
Masukkan port layanan database Doris tujuan. Nilai default-nya adalah 9030.
Database Account
Masukkan akun database Doris tujuan. Untuk informasi selengkapnya tentang izin yang diperlukan, lihat Permissions required for database accounts.
Database Password
Masukkan password yang sesuai dengan akun database.
Setelah konfigurasi selesai, klik Test Connectivity and Proceed di bagian bawah halaman. Di kotak dialog CIDR Blocks of DTS Servers, klik Test Connectivity.
CatatanPastikan blok alamat IP layanan DTS telah ditambahkan ke pengaturan keamanan database sumber dan tujuan, baik secara otomatis maupun manual, untuk mengizinkan akses dari server DTS. Untuk informasi selengkapnya, lihat Add the IP address whitelist of DTS servers.
Konfigurasikan objek tugas.
Di halaman Configure Objects, Anda dapat mengonfigurasi objek yang akan disinkronkan.
Konfigurasi
Deskripsi
Synchronization Types
Incremental Synchronization dipilih secara default. Anda juga perlu memilih Schema Synchronization dan Full Data Synchronization. Setelah pemeriksaan awal selesai, DTS menginisialisasi objek sinkronisasi di klaster tujuan dengan data penuh dari instans sumber. Data ini berfungsi sebagai garis dasar untuk sinkronisasi inkremental berikutnya.
PentingSaat data disinkronkan dari klaster PolarDB for MySQL ke database Doris, tipe data dikonversi. Jika Anda tidak memilih Schema Synchronization, Anda harus membuat tabel yang menggunakan model Unique atau Duplicate di database Doris tujuan terlebih dahulu. Untuk informasi selengkapnya, lihat Data type mappings, Additional column information, dan Unique Key Model.
Processing Mode of Conflicting Tables
Precheck and Report Errors: Memeriksa apakah tabel dengan nama yang sama ada di database tujuan. Jika tabel dengan nama yang sama tidak ada, pemeriksaan berhasil. Jika tabel dengan nama yang sama ada, pemeriksaan awal gagal dan tugas sinkronisasi data tidak dimulai.
CatatanJika Anda tidak dapat menghapus atau mengganti nama tabel dengan nama yang sama di database tujuan, Anda dapat memetakannya ke nama tabel yang berbeda di database tujuan. Untuk informasi selengkapnya, lihat Map schemas, tables, and columns.
Ignore Errors and Proceed: Melewati pemeriksaan untuk tabel dengan nama yang sama di database tujuan.
PeringatanJika Anda memilih Ignore Errors and Proceed, inkonsistensi data dapat terjadi, yang dapat menimbulkan risiko bagi bisnis Anda. Misalnya:
Jika skema tabel sama dan catatan di database tujuan memiliki nilai primary key atau unique key yang sama dengan catatan di database sumber, catatan dari database sumber akan menimpa catatan di database tujuan.
Jika skema tabel berbeda, data mungkin gagal diinisialisasi, hanya beberapa kolom data yang dapat disinkronkan, atau sinkronisasi dapat gagal. Lakukan dengan hati-hati.
Capitalization of Object Names in Destination Instance
Anda dapat mengonfigurasi kebijakan huruf besar/kecil untuk nama objek database, tabel, dan kolom di instans tujuan. Secara default, DTS Default Policy dipilih. Anda juga dapat memilih untuk menggunakan kebijakan default database sumber atau tujuan. Untuk informasi selengkapnya, lihat Case policy for destination object names.
Source Objects
Di kotak Source Objects, klik objek, lalu klik
untuk memindahkannya ke kotak Selected Objects.CatatanAnda dapat memilih database atau tabel sebagai objek sinkronisasi.
Selected Objects
Untuk mengubah nama objek sinkronisasi di instans tujuan, klik kanan objek di kotak Selected Objects. Untuk informasi selengkapnya tentang cara mengatur nama, lihat Map schemas, tables, and columns.
Jika Anda memilih Schema Synchronization untuk Synchronization Types, memilih objek pada tingkat tabel, dan perlu mengatur jumlah bucket (parameter
bucket_count), klik kanan tabel di kotak Selected Objects. Di bagian Parameter Settings, atur Enable Parameter Settings ke Yes, atur Value sesuai kebutuhan, lalu klik OK.
CatatanUntuk memilih operasi SQL untuk sinkronisasi inkremental pada tingkat database atau tabel, klik kanan objek sinkronisasi di kotak Selected Objects dan pilih operasi SQL yang diinginkan di kotak dialog yang muncul.
Untuk mengatur klausa WHERE untuk memfilter data, klik kanan tabel yang ingin Anda sinkronkan di kotak Selected Objects dan atur kondisi filter di kotak dialog yang muncul. Untuk informasi selengkapnya tentang cara mengatur kondisi filter, lihat Set filter conditions.
Jika Anda menggunakan fitur pemetaan nama objek, objek lain yang bergantung pada objek yang dipetakan mungkin gagal disinkronkan.
Klik Next: Advanced Settings.
Konfigurasi
Deskripsi
Dedicated Cluster for Task Scheduling
Secara default, DTS menjadwalkan tugas pada klaster bersama, sehingga Anda tidak perlu melakukan pemilihan. Untuk stabilitas tugas yang lebih baik, Anda dapat membeli klaster khusus untuk menjalankan tugas sinkronisasi DTS. Untuk informasi selengkapnya, lihat What is a DTS dedicated cluster?.
Retry Time for Failed Connections
Jika koneksi ke database sumber atau tujuan gagal setelah tugas sinkronisasi dimulai, DTS melaporkan kesalahan dan segera mulai mencoba menghubungkan kembali. Durasi retry default adalah 720 menit. Anda dapat menyesuaikan waktu retry ke nilai antara 10 hingga 1.440 menit. Kami merekomendasikan pengaturan minimal 30 menit. Jika DTS berhasil terhubung kembali dalam waktu retry yang ditentukan, tugas akan dilanjutkan secara otomatis. Jika tidak, tugas gagal.
CatatanUntuk beberapa instans DTS dengan sumber atau tujuan yang sama, seperti instans DTS A dan instans DTS B, jika waktu retry jaringan diatur 30 menit untuk A dan 60 menit untuk B, waktu yang lebih singkat yaitu 30 menit yang berlaku.
Karena DTS menagih berdasarkan waktu proses tugas selama retry koneksi, kami merekomendasikan agar Anda menyesuaikan waktu retry berdasarkan kebutuhan bisnis atau segera melepaskan instans DTS setelah instans database sumber dan tujuan dilepas.
Retry Time for Other Issues
Setelah tugas sinkronisasi dimulai, jika terjadi masalah non-konektivitas di database sumber atau tujuan, seperti kesalahan eksekusi DDL atau DML, DTS melaporkan kesalahan dan segera mulai melakukan operasi retry berkelanjutan. Durasi retry default adalah 10 menit. Anda juga dapat menyesuaikan waktu retry ke nilai antara 1 hingga 1.440 menit. Kami merekomendasikan pengaturan minimal 10 menit. Jika operasi terkait berhasil dalam waktu retry yang ditentukan, tugas sinkronisasi akan dilanjutkan secara otomatis. Jika tidak, tugas gagal.
PentingNilai Retry Time for Other Issues harus lebih kecil daripada Retry Time for Failed Connections.
Enable Throttling for Full Data Synchronization
Selama fase sinkronisasi data penuh, DTS mengonsumsi resource baca dan tulis dari database sumber dan tujuan, yang dapat meningkatkan beban mereka. Anda dapat mengatur batas laju untuk tugas sinkronisasi data penuh guna mengurangi tekanan pada database tujuan dengan mengonfigurasi Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s).
CatatanItem konfigurasi ini hanya tersedia jika Synchronization Types diatur ke Full Data Synchronization.
Anda juga dapat menyesuaikan laju sinkronisasi data penuh setelah instans sinkronisasi berjalan.
Enable Throttling for Incremental Data Synchronization
Anda juga dapat mengatur batas laju untuk tugas sinkronisasi inkremental guna mengurangi tekanan pada database tujuan dengan mengatur RPS of Incremental Data Synchronization dan Data synchronization speed for incremental synchronization (MB/s).
Whether to delete SQL operations on heartbeat tables of forward and reverse tasks
Berdasarkan kebutuhan bisnis Anda, pilih apakah akan menulis informasi SQL heartbeat ke database sumber selama instans DTS berjalan.
Yes: Informasi SQL heartbeat tidak ditulis ke database sumber. Hal ini dapat menyebabkan instans DTS melaporkan delay.
No: Menulis informasi SQL heartbeat ke database sumber, yang dapat mengganggu fitur seperti backup fisik dan cloning database sumber.
Environment Tag
Jika diperlukan, Anda dapat memilih tag lingkungan untuk mengidentifikasi instans. Dalam contoh ini, Anda tidak perlu memilih tag.
Configure ETL
Tentukan apakah akan mengaktifkan fitur extract, transform, and load (ETL). Untuk informasi selengkapnya, lihat What is ETL?. Nilai yang valid:
Yes: mengonfigurasi fitur ETL. Anda dapat memasukkan pernyataan pemrosesan data di editor kode. Untuk informasi selengkapnya, lihat Configure ETL in a data migration or data synchronization task.
No: tidak mengonfigurasi fitur ETL.
Monitoring and Alerting
Tentukan apakah akan mengonfigurasi peringatan. Jika sinkronisasi gagal atau latensi melebihi ambang batas yang ditentukan, notifikasi akan dikirim ke kontak peringatan.
Do Not Set: Tidak ada peringatan yang diatur.
Set: Mengonfigurasi peringatan. Anda juga harus mengatur ambang batas peringatan dan notifikasi peringatan. Untuk informasi selengkapnya, lihat Configure monitoring and alerting during task configuration.
Opsional: Setelah menyelesaikan konfigurasi di atas, klik Next: Configure Database and Table Fields untuk mengatur Primary Key Column, Distribution Key, dan Engine untuk tabel yang ingin Anda sinkronkan di tujuan.
CatatanLangkah ini hanya tersedia jika Anda memilih Schema Synchronization untuk Synchronization Types saat mengonfigurasi objek tugas. Anda dapat mengatur Definition Status ke All lalu memodifikasi pengaturan.
Untuk Primary Key Column, Anda dapat memilih beberapa kolom untuk membentuk primary key komposit. Anda harus memilih satu atau beberapa kolom dari Primary Key Column sebagai Distribution Key.
Untuk tabel yang tidak memiliki primary key maupun unique key, Anda harus mengatur Engine ke duplicate. Jika tidak, instans dapat gagal atau data hilang.
Simpan tugas dan lakukan pemeriksaan awal.
Untuk melihat parameter konfigurasi instans ini untuk operasi API, arahkan kursor mouse ke tombol Next: Save Task Settings and Precheck, lalu klik Preview OpenAPI parameters di tooltip.
Jika Anda telah selesai melihat parameter API, klik Next: Save Task Settings and Precheck di bagian bawah halaman.
CatatanSebelum tugas sinkronisasi dimulai, pemeriksaan awal dilakukan. Tugas hanya dapat dimulai setelah lulus pemeriksaan awal.
Jika pemeriksaan awal gagal, klik View Details di sebelah item yang gagal, selesaikan masalah sesuai petunjuk, lalu jalankan kembali pemeriksaan awal.
Jika peringatan muncul selama pemeriksaan awal:
Jika item pemeriksaan gagal dan tidak dapat diabaikan, klik View Details di sebelah item tersebut. Lalu, ikuti instruksi untuk memperbaiki masalah dan jalankan kembali pemeriksaan awal.
Untuk item pemeriksaan yang dapat diabaikan, klik Confirm Alert Details, Ignore, OK, dan Precheck Again secara berurutan untuk melewati peringatan dan menjalankan kembali pemeriksaan awal. Mengabaikan peringatan untuk item pemeriksaan dapat menyebabkan masalah seperti inkonsistensi data dan menimbulkan risiko bagi bisnis Anda.
Beli instance.
Ketika Success Rate mencapai 100%, klik Next: Purchase Instance.
Di halaman Purchase, pilih metode penagihan dan spesifikasi link untuk instans sinkronisasi data. Untuk informasi selengkapnya, lihat tabel berikut.
Kategori
Parameter
Deskripsi
New Instance Class
Metode Penagihan
Langganan: Anda membayar saat membuat instans. Ini cocok untuk kebutuhan jangka panjang, lebih terjangkau daripada bayar sesuai penggunaan, dan menawarkan diskon lebih besar untuk durasi langganan yang lebih lama.
Bayar sesuai penggunaan: Ditagih per jam. Ini cocok untuk kebutuhan jangka pendek. Anda dapat melepaskan instans segera setelah digunakan untuk menghemat biaya.
Konfigurasi Kelompok Sumber Daya
Kelompok sumber daya tempat instans berada. Default-nya adalah default resource group. Untuk informasi selengkapnya, lihat What is Resource Management?.
Spesifikasi Link
DTS menyediakan spesifikasi sinkronisasi dengan tingkat kinerja berbeda. Spesifikasi link memengaruhi laju sinkronisasi. Anda dapat memilih salah satu berdasarkan skenario bisnis Anda. Untuk informasi selengkapnya, lihat Data synchronization link specifications.
Durasi Langganan
Dalam mode langganan, pilih durasi dan kuantitas untuk instans langganan. Anda dapat memilih 1 hingga 9 bulan untuk langganan bulanan, atau 1, 2, 3, atau 5 tahun untuk langganan tahunan.
CatatanOpsi ini hanya muncul ketika metode penagihan adalah Subscription.
Setelah menyelesaikan konfigurasi, baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms.
Klik Buy and Start, lalu klik OK di kotak dialog OK.
Anda dapat melihat progres tugas di halaman sinkronisasi data.
Pemetaan tipe data
Kategori | Tipe data di PolarDB for MySQL | Tipe data di Doris |
Numerik | TINYINT | TINYINT |
TINYINT UNSIGNED | SMALLINT | |
SMALLINT | SMALLINT | |
SMALLINT UNSIGNED | INT | |
MEDIUMINT | INT | |
MEDIUMINT UNSIGNED | BIGINT | |
INT | INT | |
INT UNSIGNED | BIGINT | |
BIGINT | BIGINT | |
BIGINT UNSIGNED | LARGEINT | |
BIT(M) | INT | |
Decimal | Decimal Catatan ZEROFILL tidak didukung. | |
Numeric | Decimal | |
Float | Float | |
Double | DOUBLE | |
| BOOLEAN | |
TANGGAL DAN WAKTU | DATE | DATEV2 |
DATETIME[(fsp)] | DATETIMEV2 | |
Timestamp[(fsp)] | DATETIMEV2 | |
Time[(fsp)] | VARCHAR | |
YEAR[(4)] | INT | |
STRING |
| VARCHAR Penting Untuk menghindari kehilangan data, data tipe CHAR dan VARCHAR(n) dikonversi ke VARCHAR(4*n) setelah disinkronkan ke database Doris tujuan.
|
| STRING | |
| STRING | |
| STRING | |
ENUM | STRING | |
SET | STRING | |
JSON | STRING |
Informasi kolom tambahan
Tabel berikut menjelaskan kolom tambahan yang secara otomatis ditambahkan DTS atau yang harus Anda tambahkan secara manual ke tabel tujuan yang menggunakan model Duplicate.
Nama | Tipe data | Nilai default | Deskripsi |
_is_deleted | Int | 0 | Menunjukkan apakah data dihapus.
|
_version | Bigint | 0 |
|
_record_id | Bigint | 0 |
|