- Apa yang dimaksud dengan Database Migration Service?
- Sumber mana yang didukung?
- Tujuan mana yang didukung?
- Apakah ada dukungan lintas versi?
- Komponen data, skema, dan metadata mana yang dimigrasikan?
- Perubahan mana yang direplikasi selama migrasi berkelanjutan?
- Apa yang tidak dimigrasikan?
- Metode jaringan mana yang digunakan?
- Apa saja batasan umum?
- Apa yang dimaksud dengan Database Migration Service?
- Database Migration Service adalah layanan yang memudahkan Anda memigrasikan data ke Google Cloud. Database Migration Service membantu Anda melakukan lift-and-shift workload PostgreSQL ke Cloud SQL.
- Sumber mana yang didukung?
-
- Amazon RDS 9.6.10+, 10.5+, 11.1+, 12, 13, 14, 15, 16, 17.
- Amazon Aurora 10.11+, 11.6+, 12.4+, 13.3+, 14.6+, 15.2+, 16, 17.
- PostgreSQL yang dikelola sendiri (di lokasi atau di VM cloud apa pun yang Anda kontrol sepenuhnya) 9.4, 9.5, 9.6, 10, 11, 12, 13, 14, 15, 16, 17.
- Cloud SQL untuk PostgreSQL 9.6, 10, 11, 12, 13, 14, 15, 16, 17.
- Microsoft Azure Database untuk PostgreSQL Flexible Server: 11+
- Tujuan mana yang didukung?
-
- Cloud SQL untuk PostgreSQL 9.6, 10, 11, 12, 13, 14, 15, 16, 17.
- Apakah ada dukungan lintas versi?
- Database Migration Service mendukung migrasi PostgreSQL ke Cloud SQL di semua versi utama, dengan tujuan yang memiliki versi yang sama atau lebih tinggi daripada database sumber.
- Komponen data, skema, dan metadata mana yang dimigrasikan?
- Database Migration Service memigrasikan skema, data, dan metadata dari sumber ke tujuan. Semua
komponen data, skema, dan metadata berikut dimigrasikan sebagai bagian dari migrasi database:
Migrasi Data
- Semua skema dan semua tabel dari database yang dipilih.
- Penamaan
- Kunci utama
- Jenis data
- Posisi ordinal
- Nilai default
- Nullability
- Atribut penambahan otomatis
- Indeks sekunder
- Prosedur Tersimpan
- Functions
- Pemicu
- Dilihat
- Batasan kunci asing
- Perubahan mana yang direplikasi selama migrasi berkelanjutan?
-
Hanya perubahan DML yang otomatis diperbarui selama migrasi. Mengelola DDL agar database sumber dan
tujuan tetap kompatibel adalah tanggung jawab pengguna, dan dapat dilakukan dengan
dua cara:
- Hentikan penulisan ke sumber dan jalankan perintah DDL di sumber dan tujuan. Sebelum
menjalankan perintah DDL di tujuan, berikan peran
cloudsqlexternalsync
kepada pengguna Cloud SQL yang menerapkan perubahan DDL. Untuk mengaktifkan kueri atau mengubah data, berikan perancloudsqlexternalsync
kepada pengguna Cloud SQL yang relevan. Gunakan
pglogical.replicate_ddl_command
untuk menjalankan DDL di sumber dan tujuan pada titik yang konsisten. Pengguna yang menjalankan perintah ini harus memiliki nama pengguna yang sama di sumber dan tujuan, serta harus merupakan superuser atau pemilik artefak yang dimigrasikan (misalnya, tabel, urutan, tampilan, atau database).Berikut beberapa contoh penggunaan
pglogical.replicate_ddl_command
.Untuk menambahkan kolom ke tabel database, jalankan perintah berikut:
select pglogical.replicate_ddl_command('ALTER TABLE [schema].[table] add column surname varchar(20)', '{default}');
Untuk mengubah nama tabel database, jalankan perintah berikut:
select pglogical.replicate_ddl_command('ALTER TABLE [schema].[table] RENAME TO [table_name]','{default}');
Untuk membuat tabel database, jalankan perintah berikut:
select pglogical.replicate_ddl_command(command := 'CREATE TABLE [schema].[table] (id INTEGER PRIMARY KEY, name VARCHAR);', replication_sets := ARRAY['default'']);
select pglogical.replication_set_add_table('default', '[schema].[table]');
- Hentikan penulisan ke sumber dan jalankan perintah DDL di sumber dan tujuan. Sebelum
menjalankan perintah DDL di tujuan, berikan peran
- Apa yang tidak dimigrasikan?
-
Untuk menambahkan pengguna ke instance tujuan Cloud SQL, buka instance dan tambahkan pengguna dari tab Pengguna, atau tambahkan dari klien PostgreSQL. Pelajari lebih lanjut cara membuat dan mengelola pengguna PostgreSQL.
Objek besar tidak dapat direplikasi karena fasilitas decoding logis PostgreSQL tidak mendukung perubahan decoding pada objek besar. Untuk tabel yang memiliki OID jenis kolom yang mereferensikan objek besar, baris masih disinkronkan, dan baris baru direplikasi. Namun, mencoba mengakses objek besar di database tujuan (baca menggunakan lo_get, ekspor menggunakan lo_export, atau periksa
pg_largeobject
katalog untuk oid yang diberikan), gagal dengan pesan yang menyatakan bahwa objek besar tidak ada.Untuk tabel yang tidak memiliki kunci utama, Database Migration Service mendukung migrasi snapshot awal dan pernyataan
INSERT
selama fase pengambilan data perubahan (CDC). Anda harus memigrasikan pernyataanUPDATE
danDELETE
secara manual.Database Migration Service tidak memigrasikan data dari tampilan yang diwujudkan, hanya skema tampilan. Untuk mengisi tampilan, jalankan perintah berikut:
REFRESH MATERIALIZED VIEW view_name
.Status
SEQUENCE
(misalnya,last_value
) di tujuan Cloud SQL baru mungkin berbeda dari statusSEQUENCE
sumber. - Metode jaringan mana yang digunakan?
- Untuk membuat migrasi di Database Migration Service, konektivitas harus dibuat
antara sumber dan instance tujuan Cloud SQL. Ada berbagai metode yang didukung.
Pilih salah satu yang paling sesuai untuk beban kerja tertentu.
Metode jaringan Deskripsi Kelebihan Kekurangan Daftar IP yang diizinkan Berfungsi dengan mengonfigurasi server database sumber agar dapat menerima koneksi dari IP publik instance Cloud SQL. Jika Anda memilih metode ini, Database Migration Service akan memandu Anda melalui proses penyiapan selama pembuatan migrasi. - Mudah dikonfigurasi.
- Direkomendasikan untuk skenario migrasi berumur pendek (POC atau migrasi database kecil).
- Konfigurasi firewall mungkin memerlukan bantuan dari IT.
- Mengekspos database sumber ke IP publik.
- Koneksi tidak dienkripsi secara default. Memerlukan pengaktifan SSL di database sumber untuk mengenkripsi koneksi.
Tunnel SSH terbalik melalui VM yang dihosting di cloud Membangun konektivitas dari tujuan ke sumber melalui tunnel SSH terbalik yang aman. Memerlukan VM host bastion di project Google Cloud dan mesin (misalnya, laptop di jaringan) yang memiliki konektivitas ke sumber. Database Migration Service mengumpulkan informasi yang diperlukan pada waktu pembuatan migrasi, dan membuat skrip secara otomatis untuk menyiapkannya. - Mudah dikonfigurasi.
- Tidak memerlukan konfigurasi firewall kustom.
- Direkomendasikan untuk skenario migrasi berumur pendek (POC atau migrasi database kecil).
- Anda memiliki dan mengelola VM Bastion.
- Dapat dikenai biaya tambahan.
Peering VPC Metode ini berfungsi dengan mengonfigurasi VPC untuk berkomunikasi satu sama lain. Hal ini hanya berlaku jika sumber dan tujuan dihosting di Google Cloud. Direkomendasikan untuk migrasi yang berjalan lama atau bervolume tinggi. - SolusiGoogle Cloud .
- Mudah dikonfigurasi.
- Bandwidth tinggi
Hanya tersedia jika sumber dihosting di Google Cloud. VPN Menyiapkan tunnel VPN IPSec yang menghubungkan jaringan internal dan Google Cloud VPC melalui koneksi yang aman melalui Internet publik. Gunakan Google Cloud VPN atau solusi VPN apa pun yang disiapkan untuk jaringan internal. - Solusi konektivitas yang tangguh dan skalabel.
- Bandwidth sedang-tinggi.
- Dilengkapi fitur keamanan bawaan.
- Ditawarkan sebagai solusi Google Cloud atau dari pihak ketiga lainnya.
- Biaya tambahan.
- Konfigurasi yang tidak biasa (kecuali jika sudah diterapkan).
Cloud Interconnect Menggunakan koneksi latensi rendah dengan ketersediaan tinggi antara jaringan lokal dan Google Cloud. Bandwidth tertinggi, ideal untuk migrasi bervolume tinggi yang berjalan lama. - Biaya tambahan.
- Koneksi tidak aman secara default.
- Konfigurasi yang tidak biasa (kecuali jika sudah diterapkan).
- Apa saja batasan umum?
- Lihat Batasan umum.