AnalyticDB untuk PostgreSQL mendukung berbagai metode untuk memindahkan data masuk dan keluar dari instans Anda serta menjaga sinkronisasi dengan database hulu. Halaman ini membantu Anda memilih metode yang tepat berdasarkan sistem sumber, volume data, dan kebutuhan latensi.
Pilih metode
Pemilihan metode didasarkan pada tiga faktor: asal data, volume data yang perlu dipindahkan, dan frekuensi pemindahan.
| Faktor | Opsi |
|---|---|
| Jenis sumber | File, database relasional, gudang data, kluster Hadoop, database cloud |
| Kebutuhan latensi | Migrasi satu kali — metode batch; Sinkronisasi berkelanjutan — Data Transmission Service (DTS) |
Disarankan untuk sebagian besar kasus penggunaan: Gunakan tabel eksternal OSS (fitur gpossext) untuk pemuatan massal skala besar — semua node komputasi membaca dari OSS secara paralel, sehingga sangat efisien untuk pemuatan massal. Untuk sinkronisasi berkelanjutan dari database cloud seperti ApsaraDB RDS for MySQL, gunakan DTS.
Jika Anda ingin menjalankan kueri terhadap data eksternal tanpa memuatnya: Tabel eksternal OSS dan tabel eksternal Hadoop (gphdfs) mendukung analitik federasi — Anda dapat menjalankan kueri terhadap data yang tetap berada di OSS atau HDFS tanpa memindahkannya secara fisik ke AnalyticDB untuk PostgreSQL.
Muat data ke AnalyticDB untuk PostgreSQL
Tulis data
| Metode | Kapan digunakan | Serverless |
|---|---|---|
| INSERT ON CONFLICT | Upsert baris berdasarkan primary key — ketika baris yang dimasukkan bertentangan dengan primary key yang sudah ada, baris yang ada diperbarui alih-alih menyebabkan error. | Tidak |
| COPY ON CONFLICT | Muat file secara massal ketika konflik constraint diperkirakan terjadi — memperluas pernyataan COPY standar untuk menangani konflik tanpa menghentikan seluruh proses impor. | Tidak |
| Client SDK | Bangun pipeline penulisan kustom yang memerlukan throughput tinggi — SDK menangani pemrosesan paralel secara internal, memberikan performa tulis yang jauh lebih tinggi dibandingkan COPY atau INSERT, tanpa perlu manajemen kolam koneksi atau cache. | Ya |
Impor data tabel
| Metode | Kapan digunakan | Serverless |
|---|---|---|
| Tabel eksternal OSS (gpossext) | Impor set data besar dari Object Storage Service (OSS) — semua node komputasi membaca dari OSS secara paralel, menjadikannya opsi berkecepatan tinggi untuk pemuatan massal. | Ya |
| Data Integration | Sinkronisasi batch data dari sumber heterogen di berbagai lingkungan jaringan — fitur inti DataWorks dengan beragam konektor sumber. Lihat jenis sumber data dan plugin yang didukung. | Ya |
\copy command | Impor file teks langsung dari mesin lokal Anda — cocok untuk set data kecil di mana koneksi client tunggal sudah mencukupi. | Ya |
| Tabel eksternal Hadoop (gphdfs) | Akses atau migrasikan data dari kluster Hadoop menggunakan protokol gphdfs — mendukung analitik federasi tanpa memindahkan data secara fisik. | Ya |
Migrasikan data gudang
AnalyticDB untuk PostgreSQL V6.0 dibangun di atas Greenplum 6.0 dan menggunakan API yang sama dengan Greenplum Community Edition, sehingga menyederhanakan migrasi dari sistem yang kompatibel.
| Sumber | Metode | Catatan | Serverless |
|---|---|---|---|
| Greenplum yang dikelola sendiri | Tabel eksternal atau pengalihan ulang aplikasi | V6.0 mendukung komputasi vektor dan pemrosesan transaksi dengan beberapa node koordinator. Baik aplikasi maupun data dapat dimigrasikan. | Tidak (tabel eksternal didukung) |
| Teradata | Migrasi SQL | Kompatibel dengan sintaksis Teradata. | Tidak (tabel eksternal didukung) |
| Amazon Redshift | Ekspor lalu impor | Unload data dari Redshift dan impor ke AnalyticDB untuk PostgreSQL. | Tidak (tabel eksternal didukung) |
| Oracle (aplikasi) | Migrasi SQL | Kompatibel dengan sintaksis Oracle. | Tidak (tabel eksternal didukung) |
| Oracle (via DTS) | Data Transmission Service (DTS) | Gunakan DTS untuk migrasi otomatis dan terkelola. | Ya |
Ekspor data dari AnalyticDB untuk PostgreSQL
| Metode | Kapan digunakan | Serverless |
|---|---|---|
| Tabel eksternal OSS (gpossext) | Ekspor set data besar ke OSS secara paralel — mendukung kompresi GZIP untuk mengurangi ukuran file dan biaya penyimpanan. | Ya |
\copy command | Ekspor hasil kueri ke file lokal di mesin Anda. | Ya |
Sinkronisasi data dari database lain
Dari database cloud
Semua metode dalam bagian ini menggunakan DTS untuk menyinkronkan data dari database cloud ke AnalyticDB untuk PostgreSQL.
| Sumber | Panduan | Serverless |
|---|---|---|
| ApsaraDB RDS for MySQL | Sinkronisasi dari ApsaraDB RDS for MySQL | Ya |
| ApsaraDB RDS for SQL Server | Sinkronisasi dari ApsaraDB RDS for SQL Server | Ya |
| ApsaraDB RDS for PostgreSQL | Sinkronisasi dari ApsaraDB RDS for PostgreSQL | Ya |
| PolarDB for MySQL | Sinkronisasi dari PolarDB for MySQL | Ya |
Dari database yang dikelola sendiri
DTS mendukung sinkronisasi inkremental real-time untuk sebagian besar sumber yang dikelola sendiri. Untuk migrasi open-source tanpa DTS, gunakan rds_dbsync.
| Sumber | Panduan | Alat | Serverless |
|---|---|---|---|
| MySQL pada Elastic Compute Service (ECS) | Sinkronisasi dari MySQL berbasis ECS | DTS | Ya |
| MySQL melalui Express Connect, VPN Gateway, atau Smart Access Gateway | Sinkronisasi dari MySQL melalui jaringan pribadi | DTS | Ya |
| SQL Server (dikelola sendiri) | Sinkronisasi dari SQL Server yang dikelola sendiri | DTS | Ya |
| SQL Server pada ECS | Sinkronisasi dari SQL Server pada ECS | DTS | Ya |
| PostgreSQL (dikelola sendiri) | Sinkronisasi dari PostgreSQL yang dikelola sendiri | DTS | Ya |
| Oracle (dikelola sendiri) | Sinkronisasi dari Oracle yang dikelola sendiri | DTS | Ya |
| Db2 for LUW | Sinkronisasi dari Db2 for LUW | DTS | Ya |
| MySQL (open source) | Migrasikan data MySQL dengan rds_dbsync — fitur mysql2pgsql terhubung ke kedua database, membaca dari sumber, dan mengalirkan data ke tujuan menggunakan COPY, tanpa penyimpanan perantara. | rds_dbsync | Tidak |
| PostgreSQL (open source) | Migrasikan data PostgreSQL dengan rds_dbsync — fitur pgsql2pgsql memigrasikan tabel antara AnalyticDB untuk PostgreSQL, Greenplum Database, dan PostgreSQL. | rds_dbsync | Tidak |