Data Transmission Service (DTS) mendukung sinkronisasi data dari database PostgreSQL—seperti Database PostgreSQL yang dikelola sendiri atau instans RDS for PostgreSQL—ke instans SelectDB untuk analitik data skala besar. Topik ini menjelaskan prosedur menggunakan instans sumber RDS for PostgreSQL sebagai contoh.
Prasyarat
Anda telah membuat instans SelectDB tujuan. Ruang penyimpanan instans tujuan harus lebih besar daripada ruang penyimpanan yang digunakan oleh instans sumber RDS for PostgreSQL. Untuk informasi selengkapnya, lihat Buat instans.
Parameter
wal_levelpada instans sumber RDS for PostgreSQL diatur kelogical. Untuk informasi selengkapnya, lihat Atur parameter instans.
Peringatan
Jenis | Deskripsi |
Batasan database sumber |
|
Batasan lainnya |
|
Kasus khusus |
|
Penagihan
Jenis sinkronisasi | Harga |
Sinkronisasi skema dan sinkronisasi data penuh | Gratis. |
Sinkronisasi data inkremental | Dikenai biaya. Untuk informasi selengkapnya, lihat Ikhtisar penagihan. |
Operasi SQL yang didukung untuk sinkronisasi
Jenis operasi | Pernyataan SQL |
DML | INSERT, UPDATE, DELETE |
DDL | ADD COLUMN, DROP COLUMN |
Izin yang diperlukan untuk akun database
Database | Izin yang diperlukan | Metode pembuatan dan otorisasi |
Sumber instans RDS for PostgreSQL | Akun istimewa yang merupakan Owner dari database yang akan disinkronkan (akun yang diotorisasi). | Buat akun dan Buat database. |
Tujuan instans SelectDB | Izin akses klaster (Usage_priv) dan izin baca-tulis untuk database (Select_priv, Load_priv, Alter_priv, Create_priv, Drop_priv). |
Prosedur
Buka daftar tugas sinkronisasi di wilayah tujuan. Anda dapat menggunakan salah satu metode berikut:
Buka halaman dari Konsol DTS
Login ke Konsol Data Transmission Service (DTS).
Di panel navigasi kiri, klik Data Synchronization.
Di pojok kiri atas halaman, pilih wilayah tempat instans sinkronisasi berada.
Buka halaman 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 UI DMS.
Login ke Data Management (DMS).
Di bilah menu atas, pilih .
Di sebelah kanan Data Synchronization Tasks, pilih wilayah tempat instans sinkronisasi berada.
Klik Create Task untuk membuka halaman konfigurasi tugas.
Konfigurasikan database sumber dan tujuan.
Kategori
Konfigurasi
Deskripsi
Tidak ada
Task Name
DTS secara otomatis menghasilkan nama tugas. Kami menyarankan agar Anda menentukan nama deskriptif untuk memudahkan identifikasi. Nama tersebut tidak harus unik.
Source Database
Select Existing Connection
Jika Anda ingin 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, Anda harus mengonfigurasi informasi database berikut secara manual.
Database Type
Pilih PostgreSQL.
Access Method
Pilih Alibaba Cloud Instance.
Instance Region
Pilih wilayah tempat instans sumber RDS for PostgreSQL berada.
Replicate Data Across Alibaba Cloud Accounts
Dalam contoh ini, digunakan instans database milik Akun Alibaba Cloud saat ini. Pilih No.
Instance ID
Pilih ID instans sumber RDS for PostgreSQL.
Database Name
Masukkan nama database yang berisi objek yang akan disinkronkan di instans sumber RDS for PostgreSQL.
Database Account
Masukkan akun database instans sumber RDS for PostgreSQL. Untuk informasi tentang izin yang diperlukan, lihat Izin yang diperlukan untuk akun database.
Database Password
Masukkan kata sandi yang sesuai dengan akun database.
Destination Database
Select Existing Connection
Jika Anda ingin 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, Anda harus mengonfigurasi informasi database berikut secara manual.
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
Dalam contoh ini, digunakan instans database milik Akun Alibaba Cloud saat ini. 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 server DTS telah ditambahkan ke pengaturan keamanan database sumber dan tujuan untuk mengizinkan akses dari server DTS. Hal ini dapat dilakukan secara otomatis atau manual. Untuk informasi selengkapnya, lihat Tambahkan blok 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.
Pada halaman Configure Objects, Anda dapat mengonfigurasi objek yang akan disinkronkan.
Konfigurasi
Deskripsi
Synchronization Types
Incremental Data Synchronization dipilih secara default. Anda juga harus memilih Schema Synchronization dan Full Data Synchronization. Setelah pemeriksaan awal selesai, DTS menginisialisasi data penuh objek yang akan disinkronkan dari instans sumber ke klaster tujuan, yang berfungsi sebagai data garis dasar untuk sinkronisasi inkremental berikutnya.
PentingSaat data disinkronkan dari database PostgreSQL ke instans SelectDB, tipe data dikonversi. Jika Anda tidak memilih kotak centang Schema Synchronization, Anda harus membuat tabel model Unique atau Duplicate dengan skema yang sesuai di instans SelectDB tujuan terlebih dahulu. Untuk informasi selengkapnya, lihat Pemetaan tipe data, , 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 Petakan 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, 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. Harap berhati-hati.
Capitalization of Object Names in Destination Instance
Anda dapat mengonfigurasi kebijakan case sensitivity 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 case sensitivity untuk nama objek tujuan.
Source Objects
Di kotak Source Objects, klik objek yang akan disinkronkan, lalu klik
untuk memindahkannya ke kotak Selected Objects.CatatanAnda dapat memilih objek pada tingkat skema atau tabel.
Selected Objects
Untuk mengatur nama objek sinkronisasi di instans tujuan atau menentukan objek mana yang menerima data, klik kanan objek sinkronisasi di kotak Selected Objects dan modifikasi. Untuk informasi selengkapnya, lihat Petakan nama tabel dan kolom.
Untuk menghapus objek sinkronisasi, klik objek tersebut di kotak Selected Objects, lalu klik
untuk memindahkannya ke kotak Source Objects.Jika Anda memilih kotak centang Schema Synchronization untuk Synchronization Types dan memilih objek pada tingkat tabel, Anda dapat mengatur jumlah bucket (parameter
bucket_count). Untuk melakukannya, klik kanan tabel di kotak Selected Objects. Di bagian Parameter Settings, atur Enable Parameter Settings ke Yes, tentukan Value, lalu klik OK.
CatatanJika Anda menggunakan fitur pemetaan nama objek, sinkronisasi objek lain yang bergantung pada objek yang dipetakan dapat gagal.
Untuk mengatur klausa WHERE guna memfilter data, klik kanan tabel yang akan disinkronkan di kotak Selected Objects. Di kotak dialog yang muncul, atur kondisi filter. 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 yang muncul.
Klik Next: Advanced Settings.
Konfigurasi
Deskripsi
Dedicated Cluster for Task Scheduling
Secara default, DTS menjadwalkan tugas pada klaster bersama, dan Anda tidak perlu memilih klaster. Untuk kinerja yang lebih stabil, Anda dapat membeli klaster khusus untuk menjalankan tugas sinkronisasi DTS. Untuk informasi selengkapnya, 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 kesalahan dan segera mulai mencoba menghubungkan kembali. Durasi percobaan ulang default adalah 720 menit. Anda juga dapat menentukan durasi percobaan ulang kustom dari 10 hingga 1.440 menit. Kami menyarankan agar Anda mengatur durasi minimal 30 menit. Jika DTS berhasil menyambung kembali ke database dalam durasi yang ditentukan, tugas sinkronisasi secara otomatis dilanjutkan. Jika tidak, tugas gagal.
CatatanJika 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, durasi yang lebih pendek yaitu 30 menit akan digunakan untuk keduanya.
Karena DTS mengenakan biaya untuk waktu proses tugas selama periode percobaan ulang koneksi, kami menyarankan agar Anda menyesuaikan durasi percobaan ulang berdasarkan kebutuhan bisnis Anda atau segera merilis instans DTS setelah instans database sumber dan tujuan dirilis.
Retry Time for Other Issues
Setelah tugas sinkronisasi dimulai, jika terjadi masalah non-konektivitas lainnya pada database sumber atau tujuan (seperti pengecualian eksekusi DDL atau DML), DTS melaporkan kesalahan dan segera mulai melakukan operasi percobaan ulang terus-menerus. 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 secara otomatis dilanjutkan. Jika tidak, tugas gagal.
PentingNilai untuk Retry Time for Other Issues harus lebih kecil daripada nilai untuk Retry Time for Failed Connections.
Enable Throttling for Full Data Synchronization
Selama fase sinkronisasi penuh, DTS menggunakan sumber daya baca dan tulis dari database sumber dan tujuan, yang dapat meningkatkan beban database. Untuk mengurangi beban pada database tujuan, Anda dapat mengatur batas laju untuk tugas sinkronisasi penuh dengan mengonfigurasi parameter 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 ketika Synchronization Types diatur ke Full Data Synchronization.
Anda juga dapat menyesuaikan laju sinkronisasi penuh setelah instans sinkronisasi berjalan.
Enable Throttling for Incremental Data Synchronization
Anda juga dapat mengatur batas laju untuk tugas sinkronisasi inkremental. Untuk mengurangi tekanan pada database tujuan, atur RPS of Incremental Data Synchronization dan Data synchronization speed for incremental synchronization (MB/s).
Environment Tag
Anda dapat memilih tag lingkungan untuk mengidentifikasi instans. Pengaturan ini opsional.
Configure ETL
Pilih apakah akan mengaktifkan fitur extract, transform, and load (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
Tentukan apakah akan mengonfigurasi peringatan. Jika sinkronisasi gagal atau latensi melebihi ambang batas yang ditentukan, notifikasi akan dikirim ke kontak peringatan.
No: Tidak ada peringatan yang dikonfigurasi.
Yes: Mengatur peringatan. Anda juga perlu menentukan ambang batas peringatan dan notifikasi peringatan. Untuk informasi selengkapnya, lihat Konfigurasikan pemantauan dan peringatan selama konfigurasi tugas.
Opsional: Setelah menyelesaikan konfigurasi di atas, klik Next: Configure Database and Table Fields untuk mengatur Primary Key Column, Distribution Key, dan Engine untuk tabel tujuan.
CatatanLangkah ini hanya tersedia jika Anda memilih kotak centang Schema Synchronization untuk Synchronization Types. Anda dapat mengatur Definition Status ke All untuk memodifikasi pengaturan.
Anda dapat memilih beberapa kolom untuk membentuk kunci primer komposit untuk Primary Key Column. Anda harus memilih satu atau beberapa kolom dari Primary Key Column sebagai Distribution Key.
Untuk tabel yang tidak memiliki primary key atau kendala UNIQUE, Anda harus mengatur Engine ke duplicate. Jika tidak, tugas sinkronisasi dapat gagal atau data hilang.
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 gelembung.
Jika Anda telah selesai melihat parameter API, klik Next: Save Task Settings and Precheck di bagian bawah halaman.
CatatanSebelum 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 kembali pemeriksaan awal.
Jika pemeriksaan awal menghasilkan peringatan:
Jika item pemeriksaan gagal dan tidak dapat diabaikan, klik View Details di sebelah item tersebut. Ikuti petunjuk untuk memperbaiki masalah, lalu jalankan kembali pemeriksaan awal.
Untuk item pemeriksaan yang dapat diabaikan, Anda dapat mengklik Confirm Alert Details, Ignore, OK, dan Precheck Again secara berurutan untuk melewati peringatan dan menjalankan kembali pemeriksaan awal. Jika Anda memilih untuk mengabaikan item peringatan, hal ini dapat menyebabkan masalah seperti inkonsistensi 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. Tabel berikut menjelaskan opsi-opsi ini secara rinci.
Kategori
Parameter
Deskripsi
New Instance Class
Billing Method
Subscription: Anda membayar saat membuat instans. Ini cocok untuk kebutuhan jangka panjang dan lebih hemat biaya dibandingkan pay-as-you-go. Semakin lama durasi langganan, semakin tinggi diskonnya.
Pay-as-you-go: Anda dikenai biaya per jam. Ini cocok untuk kebutuhan jangka pendek. Anda dapat segera merilis instans setelah digunakan untuk menghemat biaya.
Resource Group Configuration
Kelompok sumber daya tempat instans tersebut berada. Default-nya adalah kelompok sumber daya default. Untuk informasi selengkapnya, lihat Apa itu Resource Management?.
Link Specification
DTS menyediakan spesifikasi sinkronisasi dengan tingkat kinerja berbeda. Spesifikasi tautan sinkronisasi memengaruhi laju sinkronisasi. Anda dapat memilih spesifikasi berdasarkan skenario bisnis Anda. Untuk informasi selengkapnya, lihat Spesifikasi tautan sinkronisasi data.
Subscription Duration
Dalam mode subscription, pilih durasi dan kuantitas untuk instans langganan. Anda dapat memilih langganan bulanan dari 1 hingga 9 bulan, atau langganan tahunan selama 1, 2, 3, atau 5 tahun.
CatatanOpsi ini hanya muncul ketika metode penagihan adalah Subscription.
Setelah menyelesaikan konfigurasi, baca dan centang 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 Data Synchronization.
Pemetaan tipe data
Kategori | Tipe data PostgreSQL | Tipe data 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) saat 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 |
|
