Fitur pengiriman data dari Data Transmission Service (DTS) memungkinkan Anda menggunakan SDK untuk mengirimkan data dari berbagai sumber ke DTS, yang kemudian menyinkronkannya ke database tujuan. Fitur ini mendukung lebih banyak jenis sumber data.
Kasus penggunaan
Fitur pengiriman data cocok untuk skenario berikut:
-
Sumbernya adalah jenis database yang tidak didukung secara native oleh DTS untuk sinkronisasi data.
-
Sumbernya terdiri atas data log atau data dengan tipe khusus.
-
Database sumber tidak dapat dihubungkan langsung ke DTS karena alasan keamanan, seperti kebutuhan untuk menjaga kerahasiaan kredensial database.
Prasyarat
-
Buat instans tujuan untuk menerima data. Saat ini, hanya AnalyticDB for PostgreSQL yang didukung. Untuk petunjuknya, lihat Buat instans.
-
Pada instans AnalyticDB for PostgreSQL tujuan, buat database dan skema untuk menerima data. Pada topik ini, skema diberi nama dts_deliver_test. Untuk petunjuknya, lihat Impor data.
-
Jika Anda perlu mengatur Access Method untuk database sumber ke Express Connect, VPN Gateway, or Smart Access Gateway, izinkan DTS mengakses database Anda melalui gateway VPN. Untuk petunjuknya, lihat Hubungkan pusat data ke DTS melalui VPN Gateway.
Catatan penggunaan
-
Diperlukan kemampuan pemrograman untuk menggunakan SDK guna mengirimkan data sumber ke DTS.
-
Nama skema pada instans AnalyticDB for PostgreSQL Anda, nama database yang dimasukkan selama langkah konfigurasi Drop data object configuration, dan dbName yang ditentukan dalam SDK harus identik. Jika tidak, database tujuan mungkin tidak menerima data.
-
Anda tidak dapat mengubah jumlah shard setelah instans dibuat.
-
Setelah membuat instans pengiriman data, segera mulai mengirimkan data menggunakan SDK. Jika tidak, instans akan gagal karena tidak dapat mengumpulkan data inkremental.
-
Jika suatu tugas gagal, staf dukungan DTS akan mencoba memulihkannya dalam waktu delapan jam. Selama proses pemulihan, mereka mungkin me-restart tugas atau menyesuaikan parameternya.
CatatanHanya parameter tugas DTS yang dimodifikasi—bukan parameter database. Parameter yang mungkin disesuaikan termasuk yang tercantum dalam Modifikasi parameter instans.
Penagihan
Untuk informasi selengkapnya, lihat Ikhtisar penagihan.
Buat instans pengiriman data
-
Buka halaman Tugas Sinkronisasi Data.
-
Masuk ke Konsol Data Management (DMS).
-
Di bilah navigasi atas, klik Data + AI.
-
Di panel navigasi kiri, pilih .
Catatan-
Operasi dapat berbeda tergantung pada mode dan tata letak konsol DMS. Untuk informasi selengkapnya, lihat Konsol mode sederhana dan Sesuaikan tata letak dan gaya konsol DMS.
-
Anda juga dapat membuka halaman Tugas Sinkronisasi Data di konsol DTS baru.
-
-
Klik Create Task untuk membuka halaman konfigurasi tugas.
-
Konfigurasikan database sumber dan tujuan.
Category
Parameter
Description
N/A
Task Name
DTS secara otomatis menghasilkan nama tugas. Kami menyarankan agar Anda menentukan nama deskriptif agar mudah diidentifikasi. Nama tersebut tidak harus unik.
Source Database
Select Existing Connection
Jangan memilih instans database. Untuk tugas pengiriman data, Anda harus memasukkan informasi database secara manual di bawah ini.
Database Type
Pilih Data Shipping.
Access Method
Pilih metode akses sesuai kebutuhan Anda. Pada topik ini, Public IP Address dipilih.
CatatanJika Anda memilih Express Connect, VPN Gateway, or Smart Access Gateway, Anda juga harus memilih VPC dan vSwitch tempat gateway VPN berada.
Instance Region
Pilih wilayah tempat client Anda berada.
CatatanJika wilayah tempat database Anda berada tidak ada dalam daftar, pilih wilayah terdekat secara geografis.
Destination Database
Select Existing Connection
-
Untuk menggunakan instans database yang ditambahkan ke sistem (baru dibuat atau disimpan), pilih instans database dari daftar drop-down. Informasi database akan dikonfigurasi secara otomatis.
CatatanDi konsol DMS, item konfigurasi ini bernama Select a DMS database instance..
-
Jika Anda belum menambahkan instans database ke sistem, atau tidak perlu menggunakan instans yang sudah ditambahkan, konfigurasikan informasi database berikut secara manual.
Database Type
Pilih AnalyticDB for PostgreSQL.
Access Method
Pilih Alibaba Cloud Instance.
Instance Region
Pilih wilayah tempat instans AnalyticDB for PostgreSQL tujuan berada.
Instance ID
Pilih ID instans AnalyticDB for PostgreSQL tujuan.
Database Name
Masukkan nama database pada instans AnalyticDB for PostgreSQL tujuan untuk menerima data.
Database Account
Masukkan akun instans AnalyticDB for PostgreSQL tujuan. Akun tersebut harus memiliki izin baca dan tulis. Untuk membuat akun, lihat Buat dan kelola pengguna.
Database Password
Masukkan password yang sesuai dengan akun database.
-
-
Setelah menyelesaikan konfigurasi, klik Test Connectivity and Proceed di bagian bawah halaman.
Catatan-
Pastikan blok CIDR alamat IP server DTS telah ditambahkan ke pengaturan keamanan database sumber dan tujuan agar server DTS dapat mengaksesnya. Hal ini dapat dilakukan secara otomatis atau manual. Untuk informasi selengkapnya, lihat Tambahkan blok CIDR alamat IP server DTS ke daftar putih.
-
Jika database sumber atau tujuan adalah database yang dikelola sendiri (di mana Access Method bukan Alibaba Cloud Instance), Anda juga harus mengklik Test Connectivity di kotak dialog CIDR Blocks of DTS Servers.
-
-
Konfigurasikan objek tugas.
-
Di halaman Configure Objects, konfigurasikan objek yang akan disinkronkan.
Parameter
Description
Processing Mode of Conflicting Tables
-
Precheck and Report Errors: Memeriksa apakah tabel dengan nama yang sama sudah ada di database tujuan. Jika tidak ada tabel dengan nama yang sama, pemeriksaan awal lolos. Jika ada tabel dengan nama yang sama, 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. Untuk informasi selengkapnya, lihat Map table and column names.
-
Ignore Errors and Proceed: Melewati pemeriksaan duplikasi nama tabel di database tujuan.
PeringatanMemilih Ignore Errors and Proceed dapat menyebabkan ketidakkonsistenan data dan membahayakan bisnis Anda. Misalnya:
-
Jika skema tabel sama dan suatu record di database tujuan memiliki nilai primary key atau unique key yang sama dengan record di database sumber:
-
Selama sinkronisasi penuh, DTS mempertahankan record di klaster tujuan. Record yang sesuai dari database sumber tidak disinkronkan.
-
Selama sinkronisasi inkremental, record dari database sumber menimpa record di database tujuan.
-
-
Jika skema tabel berbeda, sinkronisasi data awal mungkin gagal. Hal ini dapat mengakibatkan hanya sebagian data kolom yang disinkronkan atau kegagalan sinkronisasi total. Lakukan dengan hati-hati.
-
Capitalization of Object Names in Destination Instance
Anda dapat mengonfigurasi kebijakan sensitivitas huruf besar/kecil untuk nama objek database, tabel, dan kolom yang disinkronkan ke instans tujuan. Secara default, DTS default policy dipilih. Anda juga dapat memilih untuk menggunakan kebijakan default database sumber dan tujuan. Untuk informasi selengkapnya, lihat Kebijakan sensitivitas huruf besar/kecil untuk nama objek tujuan.
Drop data object configuration
-
Klik Add Library. Di kotak dialog New Database, masukkan nama database sumber.
Penting-
Nama database sumber harus sama dengan nama skema di instans AnalyticDB for PostgreSQL. Contoh ini menggunakan dts_deliver_test.
-
Jika database sudah ada dalam daftar dan Anda perlu menambahkan database lain, klik tombol Add di sebelah database yang sudah ada.
-
-
Klik OK.
-
Klik
di sebelah database yang baru saja Anda tambahkan untuk memperluas daftar database. -
Klik Add Table di sebelah Table. Di kotak dialog Add Table, masukkan nama tabel sumber.
PentingNama tabel sumber harus sama dengan tableName yang dikonfigurasi dalam SDK. Contoh ini menggunakan tab1,tab2,tab3. Untuk informasi selengkapnya, lihat Parameters.
-
Klik OK.
-
(Optional) Konfigurasikan pemetaan nama tabel dan kolom.
-
Klik Edit di sebelah tabel yang baru saja Anda buat.
-
Konfigurasikan pemetaan nama tabel.
Ubah Table Name.
-
Konfigurasikan pemetaan nama kolom.
Hapus centang pada kotak Sync All Columns, lalu ubah Column Name dan Map column name.
Penting-
Parameter Column Name dan Map column name sesuai dengan pengaturan di SDK. Column Name adalah nama kolom sumber dari SDK (secara spesifik, parameter name dari createField dalam file FakeSource.java), dan Map column name adalah nama kolom di instans AnalyticDB for PostgreSQL tujuan.
-
Klik ikon
untuk menambahkan lebih banyak kolom.
-
-
Setelah konfigurasi selesai, klik OK.
CatatanAnda dapat mengulangi operasi untuk menambah, mengedit, mengedit batch, atau menghapus database atau tabel sesuai kebutuhan.
-
-
-
Klik Next: Advanced Settings untuk mengonfigurasi parameter lanjutan.
Parameter
Description
Dedicated Cluster for Task Scheduling
Secara default, DTS menjadwalkan tugas pada klaster bersama, yang tidak perlu Anda pilih. Anda dapat membeli klaster khusus dengan kelas instans tertentu untuk menjalankan tugas DTS. Untuk detailnya, lihat Apa itu klaster khusus DTS?
Retry Time for Failed Connections
Setelah tugas sinkronisasi dimulai, jika koneksi ke database sumber atau tujuan gagal, DTS melaporkan error dan segera mulai mencoba koneksi ulang. Durasi percobaan ulang default adalah 720 menit. Anda juga dapat menentukan durasi percobaan ulang kustom antara 10 hingga 1.440 menit. Kami menyarankan agar Anda mengatur durasi minimal 30 menit. Jika DTS berhasil terhubung kembali ke database dalam durasi yang ditentukan, tugas sinkronisasi akan dilanjutkan secara otomatis. Jika tidak, tugas akan gagal.
Catatan-
Jika Anda memiliki beberapa instans DTS (misalnya, Instans A dan Instans B) yang berbagi sumber atau tujuan yang sama, dan Anda mengatur waktu percobaan ulang jaringan menjadi 30 menit untuk Instans A dan 60 menit untuk Instans B, maka durasi yang lebih pendek yaitu 30 menit akan digunakan untuk keduanya.
-
Karena DTS membebankan biaya berdasarkan waktu proses tugas selama periode percobaan ulang koneksi, kami menyarankan agar Anda menyesuaikan durasi percobaan ulang sesuai kebutuhan bisnis atau segera melepas instans DTS setelah instans database sumber dan tujuan dilepas.
Retry Time for Other Issues
Setelah tugas sinkronisasi dimulai, jika terjadi masalah non-koneksi lainnya pada database sumber atau tujuan (seperti eksepsi eksekusi DDL atau DML), DTS melaporkan error dan segera memulai operasi percobaan ulang berkelanjutan. Durasi percobaan ulang default adalah 10 menit. Anda juga dapat menyesuaikan durasi percobaan ulang dalam rentang 1 hingga 1.440 menit. Kami menyarankan agar Anda mengaturnya minimal 10 menit. Jika operasi terkait berhasil dalam durasi percobaan ulang yang ditetapkan, tugas sinkronisasi akan dilanjutkan secara otomatis. Jika tidak, tugas akan gagal.
PentingNilai untuk Retry Time for Other Issues harus lebih kecil daripada nilai untuk Retry Time for Failed Connections.
Enable Throttling for Incremental Data Synchronization
Anda dapat memilih apakah akan menetapkan batas laju untuk tugas sinkronisasi inkremental dengan mengatur RPS of Incremental Data Migration dan BPS of Incremental Data Migration untuk mengurangi beban pada database tujuan.
Environment Tag
Pilih tag lingkungan untuk mengidentifikasi instans sesuai kebutuhan Anda.
Configure ETL
Pilih apakah akan mengaktifkan fitur ekstrak, transformasi, dan muat (ETL). Untuk informasi selengkapnya, lihat Apa itu ETL? Nilai yang valid:
-
Yes: Mengaktifkan fitur ETL. Masukkan pernyataan pemrosesan data di editor kode. Untuk informasi selengkapnya, lihat Konfigurasikan ETL dalam tugas migrasi data atau sinkronisasi data.
-
No: Menonaktifkan fitur ETL.
Monitoring and Alerting
Pilih apakah akan mengatur peringatan dan menerima pemberitahuan peringatan sesuai kebutuhan bisnis Anda.
No: Tidak mengatur peringatan.
Yes: Konfigurasikan peringatan dengan menetapkan ambang batas peringatan dan pemberitahuan peringatan. Jika migrasi gagal atau latensi melebihi ambang batas, sistem akan mengirimkan pemberitahuan peringatan.
-
-
-
Simpan tugas dan jalankan pemeriksaan awal.
-
Untuk melihat parameter API untuk mengonfigurasi instans ini, arahkan kursor ke tombol Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters di balon info.
-
Jika Anda telah selesai melihat parameter API, klik Next: Save Task Settings and Precheck di bagian bawah halaman.
Catatan-
Sebelum pekerjaan sinkronisasi dimulai, DTS menjalankan pemeriksaan awal. Pekerjaan hanya dapat dimulai setelah semua item pemeriksaan awal lolos.
-
Jika pemeriksaan awal gagal, klik View Details untuk item yang gagal. Perbaiki masalah sesuai petunjuk, lalu jalankan pemeriksaan awal lagi.
-
Jika pemeriksaan awal mengembalikan peringatan:
-
Jika item pemeriksaan gagal dan tidak dapat diabaikan, klik View Details di sebelah item tersebut. Ikuti petunjuk untuk memperbaiki masalah, lalu jalankan pemeriksaan awal lagi.
-
Untuk item pemeriksaan yang dapat diabaikan, Anda dapat mengklik Confirm Alert Details, Ignore, OK, dan Precheck Again secara berurutan untuk melewati peringatan dan menjalankan pemeriksaan awal ulang. Jika Anda memilih untuk mengabaikan item peringatan tersebut, hal ini dapat menyebabkan masalah seperti ketidakkonsistenan data dan menimbulkan risiko bagi bisnis Anda.
-
-
-
Beli instans.
-
Saat Success Rate mencapai 100%, klik Next: Purchase Instance.
-
Di halaman Purchase, pilih metode penagihan dan kelas instans untuk instans sinkronisasi data. Tabel berikut menjelaskan parameter-parameter tersebut.
Category
Parameter
Description
New Instance Class
Billing Method
-
Subscription: Anda dikenai biaya saat membuat instans. Metode ini cocok untuk kebutuhan jangka panjang dan lebih hemat biaya dibandingkan bayar sesuai penggunaan. Semakin lama periode langganan, semakin tinggi diskonnya.
-
Pay-as-you-go: Anda dikenai biaya per jam. Metode ini cocok untuk kebutuhan jangka pendek. Anda dapat melepas instans kapan saja untuk menghemat biaya.
Number of Shards
Jumlah partisi untuk topik tujuan.
PentingJumlah shard tidak dapat diubah setelah instans dibuat. Pilih nilai ini dengan hati-hati.
Resource Group
Kelompok sumber daya tempat instans tersebut berada. Nilai default adalah default resource group. Untuk informasi selengkapnya, lihat Apa itu Resource Management?
Instance Class
DTS menyediakan berbagai kelas instans dengan tingkat kinerja berbeda. Kelas instans memengaruhi kecepatan sinkronisasi. Pilih kelas instans berdasarkan skenario bisnis Anda. Untuk informasi selengkapnya, lihat Spesifikasi instans sinkronisasi data.
Subscription Duration
Untuk metode penagihan subscription, pilih durasi instans. Anda dapat memilih langganan bulanan selama 1 hingga 9 bulan, atau langganan tahunan selama 1, 2, 3, atau 5 tahun.
CatatanOpsi ini tersedia hanya jika metode penagihan adalah Subscription.
-
-
Setelah menyelesaikan konfigurasi, baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms.
-
Klik Buy and Start. Di kotak dialog OK, klik OK.
Anda dapat melihat progres tugas di halaman Sinkronisasi Data.
-
Kirimkan data dengan SDK
-
Konfigurasikan SDK pengiriman data DTS.
-
Buka IDE seperti IntelliJ IDEA dan buat proyek.
-
Di proyek baru, temukan file Project Object Model (POM): pom.xml.
-
Tambahkan dependensi berikut ke file pom.xml:
<dependency> <groupId>com.aliyun.dts.deliver</groupId> <artifactId>dts-deliver-client</artifactId> <version>1.0.0</version> </dependency>CatatanAnda dapat menemukan dependensi Maven terbaru di halaman dts-deliver-client.
-
Unduh kode contoh dan rujuk file DtsDeliverTest.java di folder dts-deliver-test untuk mengirimkan data. Untuk kode contohnya, lihat Gunakan kode contoh.
CatatanDi file FakeSource.java, metode read adalah contoh sumber data, dan name dalam createField adalah nama kolom sumber. Anda harus memodifikasi kode sesuai kebutuhan Anda.
Di daftar Data Synchronization Tasks, klik ID instans pengiriman data target, lalu di panel navigasi kiri, klik Basic Information untuk mendapatkan parameter yang digunakan dalam kode contoh SDK.
Parameter
Description
How to obtain
ip:port
Titik akhir saluran pengiriman data.
Di bagian Shipping Channel Information, klik Copy di sebelah Public Endpoint atau VPC Endpoint.
PentingAnda hanya dapat menggunakan VPC Endpoint jika jaringan client berada dalam Virtual Private Cloud (VPC) yang sama dengan instans saat ini.
ak
ID AccessKey dan Rahasia AccessKey dari akun yang memiliki instans pengiriman data DTS.
Untuk informasi selengkapnya, lihat Buat Pasangan Kunci Akses dan Lihat Informasi AccessKey Pengguna RAM.
secret
dts_job_id
CatatanNilai yang harus dimasukkan untuk DTS_JOB_ID.getKey().
ID tugas instans pengiriman data DTS.
PentingJangan menggunakan ID instans.
Anda dapat memanggil operasi API DescribeDtsJobs untuk menanyakan ID tersebut.
CatatanDi Shipped Topic, dts_job_id adalah string di antara _vpc_ dan _data_delivery_. Misalnya, jika Shipped Topic adalah cn_hangzhou_vpc_cxti86dc11z***_data_delivery_version2, maka dts_job_id adalah cxti86dc11z***.
Topic
Topik pengiriman tujuan.
Di bagian Shipping Channel Information, klik Copy di sebelah Shipped Topic.
partition
Jumlah partisi dalam topik tujuan.
Di bagian Shipping Channel Information, lihat nilai Shards.
region
Wilayah instans pengiriman data DTS.
Di bagian Shipping Channel Information, lihat nilai Instance Region.
dbName
Nama database sumber. Ini harus sama dengan nama skema di instans AnalyticDB for PostgreSQL.
Masukkan nama sesuai kebutuhan Anda. Contoh ini menggunakan dts_deliver_test.
tableName
Nama tabel sumber. Ini harus sama dengan nama tabel yang dimasukkan pada langkah Drop data object configuration.
Masukkan nama sesuai kebutuhan Anda. Contoh ini menggunakan tab1, tab2, dan tab3.
-
-
Setelah mengonfigurasi parameter, catat waktu saat ini dan mulai SDK.
-
Ubah offset saat ini dari instans pengiriman data. Untuk informasi selengkapnya, lihat Ubah checkpoint instans sinkronisasi atau migrasi data.
CatatanSecara default, Current Offset instans pengiriman data adalah waktu saat modul Incremental Write dimulai. Anda harus mengubah offset ke waktu saat SDK dimulai.
-
Lihat data di database tujuan.