Topik ini menjelaskan cara menggunakan Data Transmission Service (DTS) untuk menyinkronkan data dari kluster PolarDB for PostgreSQL ke instans SelectDB. Proses ini berguna untuk analitik data skala besar.
Prasyarat
Anda telah membuat instans SelectDB tujuan. Instans tujuan harus memiliki ruang disk lebih besar daripada jumlah yang digunakan oleh kluster sumber PolarDB for PostgreSQL. Untuk informasi selengkapnya, lihat Buat instans.
Anda telah mengatur parameter wal_level pada kluster sumber PolarDB for PostgreSQL ke logical. Untuk informasi selengkapnya, lihat Atur parameter kluster.
Catatan
Jenis | Deskripsi |
Batasan database sumber |
|
Batasan lainnya |
|
Penagihan
| Jenis sinkronisasi | Biaya konfigurasi tugas |
| Schema synchronization dan full data synchronization | Gratis. |
| Incremental data synchronization | Dikenai biaya. Untuk informasi selengkapnya, lihat Ikhtisar penagihan. |
Operasi SQL yang didukung
Jenis operasi | Pernyataan SQL |
DML | INSERT, UPDATE, DELETE |
DDL | ADD COLUMN, DROP COLUMN |
Izin untuk akun database
Database | Izin yang diperlukan | Cara membuat akun dan memberikan izin |
Kluster sumber PolarDB for PostgreSQL | Akun istimewa yang memiliki database yang akan disinkronkan. | |
Instans SelectDB tujuan | Izin akses kluster (Usage_priv) dan izin akses database (Select_priv, Load_priv, Alter_priv, Create_priv, dan Drop_priv). |
Prosedur
Buka halaman daftar tugas sinkronisasi data di wilayah tujuan. Anda dapat 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 Konsol mode sederhana dan Sesuaikan tata letak dan gaya Konsol DMS.
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
Tidak ada
Task Name
DTS secara otomatis menghasilkan nama tugas. Kami menyarankan Anda menentukan nama deskriptif agar mudah diidentifikasi. 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 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 PolarDB for PostgreSQL.
Access Method
Pilih Alibaba Cloud Instance.
Instance Region
Pilih wilayah tempat kluster sumber PolarDB for PostgreSQL berada.
Replicate Data Across Alibaba Cloud Accounts
Contoh ini menggunakan instans database di bawah Akun Alibaba Cloud saat ini. Pilih No.
Instance ID
Pilih ID kluster sumber PolarDB for PostgreSQL.
Database Name
Masukkan nama database yang berisi objek yang akan disinkronkan di kluster sumber PolarDB for PostgreSQL.
Database Account
Masukkan akun database kluster sumber PolarDB for PostgreSQL. Untuk persyaratan izin, lihat Izin untuk akun database.
Database Password
Masukkan password yang sesuai dengan akun database tersebut.
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 menggunakan instans database di bawah Akun Alibaba Cloud saat ini. Pilih No.
Instance ID
Pilih ID instans SelectDB tujuan.
Database Account
Masukkan akun database instans SelectDB tujuan. Untuk persyaratan izin, lihat Izin untuk akun database.
Database Password
Masukkan password yang sesuai dengan akun database tersebut.
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, baik secara otomatis maupun manual, untuk mengizinkan akses dari server DTS. Untuk informasi selengkapnya, lihat Tambahkan daftar putih alamat IP server DTS.
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 precheck 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 kluster PolarDB for PostgreSQL ke SelectDB, tipe data dikonversi. Jika Anda tidak memilih Schema Synchronization, Anda harus membuat tabel di instans SelectDB tujuan menggunakan model Unique atau Duplicate yang sesuai. 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, precheck 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 Pemetaan skema, tabel, dan kolom.
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. Harap berhati-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 Kebijakan huruf besar/kecil untuk nama objek tujuan.
Source Objects
Di kotak Source Objects, klik objek, lalu klik
untuk memindahkannya ke kotak Selected Objects.CatatanAnda dapat memilih objek pada level skema, tabel, dan kolom.
Selected Objects
Untuk mengatur nama objek sinkronisasi di instans tujuan, klik kanan objek di kotak Selected Objects untuk mengubahnya. Untuk informasi selengkapnya, lihat Pemetaan nama objek.
Untuk menghapus objek sinkronisasi, klik objek di kotak Selected Objects, lalu klik
untuk memindahkannya ke kotak Source Objects.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 area Parameter Settings, atur Enable Parameter Settings ke Yes. Atur Value sesuai kebutuhan, lalu klik OK.
CatatanJika Anda menggunakan fitur pemetaan nama objek, objek lain yang bergantung pada objek yang dipetakan mungkin gagal disinkronkan.
Untuk mengatur kondisi WHERE guna memfilter data untuk tabel, klik kanan tabel di kotak Selected Objects dan atur kondisi filter di kotak dialog yang muncul. Untuk informasi selengkapnya, lihat Atur kondisi filter.
Untuk memilih operasi SQL untuk sinkronisasi inkremental, klik kanan objek sinkronisasi di kotak Selected Objects dan pilih operasi yang diinginkan dari kotak dialog.
Klik Next: Advanced Settings.
Konfigurasi
Deskripsi
Dedicated Cluster for Task Scheduling
Secara default, DTS menjadwalkan tugas pada kluster bersama, sehingga Anda tidak perlu memilih. Untuk stabilitas tugas yang lebih baik, Anda dapat membeli kluster khusus untuk menjalankan tugas sinkronisasi DTS. Untuk informasi selengkapnya, lihat Apa itu kluster khusus DTS?.
Retry Time for Failed Connections
Jika koneksi ke database sumber atau tujuan gagal setelah tugas sinkronisasi dimulai, DTS melaporkan error 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 menyarankan 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 mengenakan biaya berdasarkan runtime tugas selama retry koneksi, kami menyarankan Anda menyesuaikan waktu retry berdasarkan 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-konektivitas di database sumber atau tujuan, seperti error eksekusi DDL atau DML, DTS melaporkan error dan segera mulai operasi retry berkelanjutan. Durasi retry default adalah 10 menit. Anda juga dapat menyesuaikan waktu retry ke nilai antara 1 hingga 1.440 menit. Kami menyarankan 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 full data synchronization, DTS mengonsumsi sumber daya baca dan tulis dari database sumber dan tujuan, yang dapat meningkatkan beban mereka. Anda dapat mengatur batas laju untuk tugas full data synchronization 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 full data synchronization 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
Jika diperlukan, Anda dapat memilih environment tag untuk mengidentifikasi instans. Tidak perlu memilih untuk contoh ini.
Configure ETL
Menentukan apakah akan mengaktifkan fitur extract, transform, and load (ETL). Untuk informasi selengkapnya, lihat Apa itu ETL? Nilai yang valid:
Yes: mengonfigurasi fitur ETL. Anda dapat memasukkan pernyataan pemrosesan data di editor kode. Untuk informasi selengkapnya, lihat Konfigurasi ETL dalam tugas migrasi data atau sinkronisasi data.
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 Konfigurasi pemantauan dan peringatan selama konfigurasi tugas.
Opsional: Klik Next: Configure Database and Table Fields untuk mengatur Primary Key Column, Distribution Key, dan Engine untuk tabel di database tujuan.
CatatanLangkah ini hanya tersedia jika Anda memilih Schema Synchronization untuk Synchronization Types. Anda dapat mengatur Definition Status ke All untuk melakukan modifikasi.
Anda dapat memilih beberapa kolom sebagai composite primary key di bidang Primary Key Column. Anda harus memilih satu atau beberapa kolom dari Primary Key Column untuk berfungsi sebagai Distribution Key.
Untuk tabel yang tidak memiliki primary key maupun UNIQUE constraint, Anda harus mengatur Engine ke duplicate. Jika tidak, sinkronisasi dapat gagal atau data hilang.
Simpan tugas dan lakukan precheck.
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 pekerjaan sinkronisasi dimulai, precheck dilakukan. Pekerjaan hanya dapat dimulai setelah lolos precheck.
Jika precheck gagal, klik View Details di sebelah item yang gagal, selesaikan masalah sesuai petunjuk, lalu jalankan kembali precheck.
Jika terdapat peringatan selama precheck:
Jika item pemeriksaan gagal dan tidak dapat diabaikan, klik View Details di sebelah item tersebut. Kemudian, ikuti petunjuk untuk memperbaiki masalah dan jalankan kembali precheck.
Untuk item pemeriksaan yang dapat diabaikan, klik Confirm Alert Details, Ignore, OK, dan Precheck Again secara berurutan untuk melewati peringatan dan menjalankan kembali precheck. Mengabaikan peringatan untuk item pemeriksaan dapat menyebabkan masalah seperti ketidakkonsistenan data dan menimbulkan risiko bagi bisnis Anda.
Beli instance.
Saat Success Rate mencapai 100%, klik Next: Purchase Instance.
Pada halaman Purchase, pilih metode penagihan dan spesifikasi link untuk instans sinkronisasi data. Untuk informasi selengkapnya, lihat tabel berikut.
Kategori
Parameter
Deskripsi
New Instance Class
Billing Method
Subscription: Anda membayar saat membuat instans. Ini cocok untuk kebutuhan jangka panjang, lebih terjangkau daripada pay-as-you-go, dan menawarkan diskon lebih besar untuk durasi langganan yang lebih lama.
Pay-as-you-go: Ditagih per jam. Ini cocok untuk kebutuhan jangka pendek. Anda dapat melepas 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 Apa itu Resource Management?.
Link Specification
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 Spesifikasi link sinkronisasi data.
Subscription Duration
Dalam mode subscription, pilih durasi dan jumlah 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 kluster PolarDB for PostgreSQL | Tipe data instans SelectDB |
NUMERIC | SMALLINT | SMALLINT |
INTEGER | INT | |
BIGINT | BIGINT | |
DECIMAL | DECIMAL | |
NUMERIC | DECIMAL | |
REAL | DOUBLE | |
DOUBLE | DOUBLE | |
SMALLSERIAL | SMALLINT | |
SERIAL | INT | |
BIGSERIAL | BIGINT | |
MONETARY | MONEY | STRING |
CHARACTER |
| VARCHAR Penting Untuk mencegah kehilangan data, data tipe CHAR(n) dan VARCHAR(n) dikonversi ke VARCHAR(4*n) setelah disinkronkan ke instans SelectDB.
|
TEXT | STRING | |
BINARY | BYTEA | STRING |
DATE AND TIME | TIMESTAMP [(P)] [WITHOUT TIME ZONE] | DATETIMEV2 |
TIMESTAMP [(P)] WITH TIME ZONE | DATETIMEV2 | |
DATE | DATEV2 | |
TIME [(P)] [WITHOUT TIME ZONE] | VARCHAR(50) | |
TIME [(P)] WITH TIME ZONE | VARCHAR(50) | |
INTERVAL [FIELDS] [(P)] | STRING | |
BOOLEAN | BOOLEAN | BOOLEAN |
GEOMETRIC |
| STRING |
NETWORK ADDRESS |
| STRING |
TEXT SEARCH | TSVECTOR | STRING |
XML | XML | STRING |
JSON | JSON | JSON |
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 |
|
