ApsaraDB for SelectDB menyediakan respons dalam waktu kurang dari satu detik untuk kueri data masif, mendukung kueri titik berkonkurensi tinggi hingga 10.000 permintaan per detik, serta analitik kompleks berthroughput tinggi. Data Transmission Service (DTS) memungkinkan Anda menyinkronkan data dari database MySQL—seperti Database MySQL yang dikelola sendiri atau instans RDS for MySQL—ke instans ApsaraDB for SelectDB guna memenuhi kebutuhan analitik data masif Anda. Topik ini menggunakan contoh instans RDS for MySQL untuk menjelaskan prosedurnya.
Prasyarat
Buat instans ApsaraDB for SelectDB tujuan. Ruang penyimpanan instans tujuan harus lebih besar daripada ruang penyimpanan yang digunakan oleh instans sumber RDS for MySQL. Untuk informasi selengkapnya, lihat Buat instans.
Perhatian
Tipe | Deskripsi |
Batasan database sumber |
|
Batasan lainnya |
|
Kasus khusus |
|
Penagihan
| Tipe sinkronisasi | Biaya konfigurasi tugas |
| Sinkronisasi skema dan sinkronisasi data penuh | Gratis. |
| Sinkronisasi data inkremental | Dikenai biaya. Untuk informasi selengkapnya, lihat Billing overview. |
SQL yang didukung untuk sinkronisasi inkremental
Tipe operasi | Pernyataan SQL |
DML | INSERT, UPDATE, DELETE |
DDL |
|
Izin yang diperlukan untuk akun database
Database | Izin yang diperlukan | Cara membuat dan memberikan izin |
Sumber RDS for MySQL | Izin baca dan tulis pada objek sinkronisasi | |
Tujuan SelectDB | Izin akses kluster (Usage_priv) dan izin baca/tulis database (Select_priv, Load_priv, Alter_priv, Create_priv, dan Drop_priv) |
Jika akun database sumber tidak dibuat dan diberikan izin di Konsol RDS for MySQL, Anda harus memastikan akun tersebut memiliki izin REPLICATION CLIENT, REPLICATION SLAVE, SHOW VIEW, dan SELECT.
Prosedur
Buka halaman daftar tugas sinkronisasi data di wilayah tujuan dengan salah satu metode berikut.
Dari Konsol DTS
Masuk ke Konsol DTS.
Di panel navigasi 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.
Masuk 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
Tidak ada
Task Name
DTS secara otomatis menghasilkan nama tugas. Kami merekomendasikan agar Anda menentukan nama deskriptif untuk memudahkan identifikasi. Nama ini 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 bawahnya 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 MySQL.
Access Method
Pilih Alibaba Cloud Instance.
Instance Region
Pilih wilayah tempat instans sumber RDS for MySQL berada.
Replicate Data Across Alibaba Cloud Accounts
Contoh ini menunjukkan sinkronisasi dalam Akun Alibaba Cloud yang sama. Pilih No.
RDS Instance ID
Pilih ID instans sumber RDS for MySQL.
Database Account
Masukkan akun database instans sumber RDS for MySQL. Untuk informasi tentang izin yang diperlukan, lihat Izin yang diperlukan untuk akun database.
Database Password
Masukkan kata sandi yang sesuai dengan akun database.
Encryption
Pilih Non-encrypted Connection atau SSL Secure Connection sesuai kebutuhan. Jika Anda mengatur ini ke SSL Secure Connection, Anda harus mengaktifkan enkripsi SSL untuk instans RDS for MySQL terlebih dahulu. Untuk informasi selengkapnya, lihat Use a cloud certificate to quickly enable SSL link 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 bawahnya 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 SelectDB.
Access Method
Pilih Alibaba Cloud Instance.
Instance Region
Pilih wilayah tempat instans SelectDB tujuan berada.
Replicate Data Across Alibaba Cloud Accounts
Contoh ini menunjukkan sinkronisasi dalam Akun Alibaba Cloud yang sama. Pilih No.
Instance ID
Pilih ID instans SelectDB tujuan.
Database Account
Masukkan akun database instans SelectDB tujuan. Untuk informasi tentang izin yang diperlukan, lihat Izin yang diperlukan untuk akun database.
Database Password
Masukkan kata sandi yang sesuai dengan akun database.
Setelah menyelesaikan konfigurasi, klik Test Connectivity and Proceed di bagian bawah halaman.
CatatanPastikan blok alamat IP layanan DTS telah ditambahkan ke pengaturan keamanan database sumber dan tujuan—secara otomatis atau manual—untuk mengizinkan akses dari server DTS. Untuk informasi selengkapnya, lihat Add the IP address whitelist of DTS servers.
Jika database sumber atau tujuan adalah database yang dikelola sendiri (Access Method bukan Alibaba Cloud Instance), Anda juga harus mengklik Test Connectivity di kotak dialog CIDR Blocks of DTS Servers.
Konfigurasikan objek tugas.
Pada 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 kluster tujuan dengan data penuh dari instans sumber. Data ini berfungsi sebagai garis dasar untuk sinkronisasi inkremental berikutnya.
PentingSaat data disinkronkan dari MySQL ke SelectDB, tipe data dikonversi. Jika Anda tidak memilih Schema Synchronization, Anda harus membuat tabel yang menggunakan model Unique atau Duplicate dengan skema yang sesuai di instans SelectDB tujuan terlebih dahulu. Untuk informasi selengkapnya, lihat Pemetaan tipe data, Informasi kolom tambahan, dan Model data.
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 lolos. 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, ketidakkonsistenan 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 kapitalisasi 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 objek untuk disinkronkan pada level database atau tabel.
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 level 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 level 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 guna memfilter data, klik kanan tabel yang ingin disinkronkan 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 kluster bersama, sehingga Anda tidak perlu memilih apa pun. Untuk stabilitas tugas yang lebih baik, Anda dapat membeli kluster 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 percobaan ulang default adalah 720 menit. Anda dapat menyesuaikan waktu percobaan ulang ke nilai antara 10 hingga 1.440 menit. Kami merekomendasikan pengaturan minimal 30 menit. Jika DTS berhasil terhubung kembali dalam waktu percobaan ulang yang ditentukan, tugas akan dilanjutkan secara otomatis. Jika tidak, tugas gagal.
CatatanUntuk beberapa instans DTS dengan sumber atau tujuan yang sama—misalnya instans DTS A dan instans DTS B—jika waktu percobaan ulang 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 percobaan ulang koneksi, kami merekomendasikan agar Anda menyesuaikan waktu percobaan ulang 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 percobaan ulang berkelanjutan. Durasi percobaan ulang default adalah 10 menit. Anda juga dapat menyesuaikan waktu percobaan ulang ke nilai antara 1 hingga 1.440 menit. Kami merekomendasikan pengaturan minimal 10 menit. Jika operasi terkait berhasil dalam waktu percobaan ulang yang ditetapkan, 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 sumber daya 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 tersedia hanya 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).
Environment Tag
Anda dapat memilih tag lingkungan untuk mengidentifikasi instans jika diperlukan. Contoh ini tidak memerlukan pemilihan.
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 keterlambatan.
No: Menulis informasi SQL heartbeat ke database sumber, yang dapat mengganggu fitur seperti backup fisik dan kloning database sumber.
Configure ETL
Menentukan 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 disinkronkan di tujuan.
CatatanLangkah ini tersedia hanya jika Anda memilih Schema Synchronization untuk Synchronization Types saat mengonfigurasi objek tugas. Anda dapat mengatur Definition Status ke All lalu memodifikasi pengaturannya.
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 lolos 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 petunjuk 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 ketidakkonsistenan data dan menimbulkan risiko bagi bisnis Anda.
Beli instance tersebut.
Saat Success Rate mencapai 100%, klik Next: Purchase Instance.
Di halaman Purchase, pilih metode penagihan dan spesifikasi tautan untuk instans sinkronisasi data. Untuk informasi selengkapnya, lihat tabel berikut.
Kategori
Parameter
Deskripsi
New Instance Class
Billing Method
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.
Resource Group Configuration
Kelompok sumber daya tempat instans berada. Default-nya adalah default resource group. Untuk informasi selengkapnya, lihat What is Resource Management?.
Link Specification
DTS menyediakan spesifikasi sinkronisasi dengan tingkat kinerja berbeda. Spesifikasi tautan memengaruhi laju sinkronisasi. Anda dapat memilih salah satu berdasarkan skenario bisnis Anda. Untuk informasi selengkapnya, lihat Data synchronization link specifications.
Subscription Duration
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 muncul hanya 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 MySQL | Tipe data SelectDB |
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 mencegah kehilangan data, data tipe CHAR dan VARCHAR(n) dikonversi ke VARCHAR(4*n) setelah disinkronkan ke SelectDB.
|
| 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 |
|