全部产品
Search
文档中心

AnalyticDB:Konfigurasikan migrasi data otomatis dari kluster Amazon Redshift ke instance AnalyticDB for PostgreSQL

更新时间:Jun 26, 2025

Alibaba Cloud menyediakan alat migrasi data otomatis yang mendukung konversi DDL untuk membantu Anda mengonfigurasi migrasi data otomatis dari Amazon Redshift ke AnalyticDB for PostgreSQL.

Prasyarat

  • Kluster Amazon Redshift telah dibuat.

  • Amazon S3 diaktifkan dan sebuah peran sementara Identity and Access Management (IAM) dibuat untuk layanan tersebut.

  • Peran IAM diberikan izin Amazon S3 dan Amazon Redshift.

  • Informasi berikut ditambahkan ke hubungan kepercayaan peran IAM, dan perubahan akan berlaku dalam sekitar 10 menit:

    {
            "Effect": "Allow",
            "Principal": {
                  "Service": "redshift.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
    }
  • Peran IAM dikaitkan dengan Amazon Redshift.

  • Sebuah instance AnalyticDB for PostgreSQL dan sebuah Object Storage Service (OSS) bucket dibuat di wilayah yang sama.

Pemilihan spesifikasi

Bagian ini menjelaskan cara memilih spesifikasi untuk instance AnalyticDB for PostgreSQL berdasarkan spesifikasi kluster Amazon Redshift sumber.

Kluster Amazon Redshift terdiri dari leader node dan beberapa compute nodes.

  • Leader node: bertindak sebagai node koordinator dalam instance AnalyticDB for PostgreSQL. Node pemimpin berkomunikasi dengan klien, menganalisis dan mengembangkan rencana eksekusi query, serta melakukan operasi basis data.

  • Compute node: bertindak sebagai sekumpulan node komputasi dalam instance AnalyticDB for PostgreSQL. Setiap node komputasi dalam kluster Amazon Redshift dibagi menjadi irisan. Setiap irisan node bertindak sebagai node komputasi dalam instance AnalyticDB for PostgreSQL dan melakukan komputasi untuk penyimpanan data dan query.

Saat membuat instance AnalyticDB for PostgreSQL, Anda dapat memilih spesifikasi node instance berdasarkan spesifikasi setiap irisan node dalam kluster Amazon Redshift sumber.

Contoh

Kluster Amazon Redshift terdiri dari empat node komputasi. Setiap node komputasi terdiri dari dua irisan node. Spesifikasi setiap irisan node adalah 2 core, 16 GB memori, dan 1 TB penyimpanan.

Saat membuat instance AnalyticDB for PostgreSQL, Anda dapat mengatur jumlah node komputasi menjadi 8, spesifikasi node menjadi 2 core dan 16 GB memori, dan penyimpanan per node menjadi 1.000 GB.

Catatan
  • Untuk informasi tentang cara membuat instance AnalyticDB for PostgreSQL, lihat Buat instance.

  • Kami merekomendasikan Anda mengatur tipe penyimpanan ke Enhanced SSD (ESSD) karena ESSD memberikan kinerja I/O yang lebih baik daripada disk ultra.

Prosedur

Langkah 1: Ekspor dan konversi pernyataan DDL

Gunakan alat adbpg-redshift-migration.jar untuk mengekspor pernyataan DDL dari Amazon Redshift dan mengonversinya ke format yang kompatibel dengan AnalyticDB for PostgreSQL. Jalankan perintah contoh berikut untuk mengekspor dan mengonversi pernyataan DDL. Ganti nilai parameter dengan yang sebenarnya.

java -jar adbpg-redshift-migration.jar -d redshift -h r-red.cjbgr.cn-north-1.redshift.amazonaws.com.cn -p 5439 -U awsuser -w Lrz**** --transform
Penting

Sebelum menjalankan perintah, konfigurasikan aturan grup keamanan untuk virtual private cloud (VPC) tempat kluster Amazon Redshift berada untuk memastikan bahwa alamat IP alat migrasi dapat diakses oleh port layanan kluster Amazon Redshift.

Parameter

  • -d: jenis database untuk mengunduh atau mengonversi pernyataan DDL. Atur nilainya menjadi redshift.

  • -h: titik akhir kluster Amazon Redshift, yang dapat diperoleh dari parameter JDBC URL di konsol Amazon Redshift. Misalnya, jika nilai parameter JDBC URL adalah jdbc:redshift://r-red.cjbgr.cn-north-1.redshift.amazonaws.com.cn:5439/dev, maka r-red.cjbgr.cn-north-1.redshift.amazonaws.com.cn adalah titik akhir.

  • -p: nomor port Amazon Redshift. Atur nilainya menjadi 5439.

  • -U: nama superuser kluster Amazon Redshift. Dalam banyak kasus, pengguna awsuser yang ditentukan selama pembuatan kluster digunakan.

  • -w: kata sandi superuser kluster Amazon Redshift.

  • --transform: melakukan unduhan dan konversi DDL. Pernyataan DDL yang diunduh disimpan dalam file bernama ddl_dump_20250227174322.txt, di mana string numerik mewakili timestamp unduhan. Pernyataan DDL yang dikonversi disimpan dalam file bernama ddl_transform_20250227202402.txt, di mana string numerik mewakili timestamp konversi.

Setelah Anda membuat basis data, skema, dan pengguna pada instance AnalyticDB for PostgreSQL untuk menyimpan data Amazon Redshift, periksa apakah pernyataan DDL dalam ddl_transform_20250227202402.txt siap digunakan. Jika ya, jalankan pernyataan tersebut pada instance AnalyticDB for PostgreSQL untuk membuat skema tabel yang sesuai.

Langkah 2: Konfigurasikan unggah data otomatis dari Amazon Redshift ke Amazon S3

Jalankan perintah contoh berikut untuk mengunggah data dari Amazon Redshift ke Amazon S3. Ganti nilai parameter dengan yang sebenarnya. Setelah unggahan data selesai, dua file akan dihasilkan: succeed_transfer_tables_20250228144558.txt (berisi tabel yang diunggah) dan failed_transfer_tables_20250228144558.txt (berisi tabel yang gagal).

java -jar adbpg-redshift-migration.jar -d redshift -h host-info -p 5432 -U dbuser -w Lrz**** -o s3 -b dbuser-bj --iam-account account-info --iam-role role-info --root-dir rootdir --format parquet --use-iam --china-region --jobs 8 -f tablelist.txt --upload

Parameter

  • -o: layanan penyimpanan cloud yang digunakan untuk menyimpan data Amazon Redshift. Atur nilainya menjadi Amazon S3.

  • -b: nama bucket Amazon S3.

  • --iam-account: ID akun peran IAM. Dalam banyak kasus, nilai parameter memiliki 12 digit, yang dapat diperoleh dari Amazon Resource Name (ARN) peran IAM. Contoh: 123456789012 dalam arn:aws-cn:iam::123456789012:role/lrz2.

  • --iam-role: nama peran IAM. Contoh: lrz2 dalam arn:aws-cn:iam::123456789012:role/lrz2.

  • --root-dir: direktori root Amazon S3.

  • --format: format ekspor data, yang bisa berupa CSV, PARQUET, atau JSON. Pembatas baris dalam file CSV tidak dapat dimodifikasi. Kami merekomendasikan Anda menggunakan format PARQUET, yang merupakan format data default untuk alat adbpg-redshift-migration dan memungkinkan ekspor data yang cepat dan aman.

  • --use-iam: menggunakan peran IAM untuk mengunggah data.

  • --china-region: opsional. Tentukan parameter ini hanya jika Anda mengunggah data di wilayah di dalam Tiongkok.

  • --jobs: mengunggah data secara paralel.

  • -f: nama file yang berisi nama tabel yang akan diunggah. Setiap baris dalam file hanya mencakup satu nama tabel dalam format database.schema.table. Anda dapat menggunakan --full untuk mengunggah semua tabel dalam kluster Amazon Redshift.

  • --upload: melakukan operasi unggah.

Langkah 3: Migrasikan data dari Amazon S3 ke OSS

Setelah data tabel diunggah ke Amazon S3, gunakan Alibaba Cloud Data Online Migration untuk memigrasikan data dari Amazon S3 ke OSS.

Langkah 4: Konfigurasikan impor data otomatis dari OSS ke AnalyticDB for PostgreSQL

Setelah data dimigrasikan ke OSS, jalankan perintah contoh berikut untuk mengimpor data dari OSS ke AnalyticDB for PostgreSQL. Ganti nilai parameter dengan yang sebenarnya.

Penting

Sebelum menjalankan perintah berikut, ajukan tiket untuk meminta izin superuser.

java -jar adbpg-redshift-migration.jar -d adbpg -h gp-2ze312*******o-master.gpdb.rds.aliyuncs.com -p 5432 -U dbuser -w Lrz**** -o oss -e oss-cn-beijing-internal.aliyuncs.com -i "LTAI5tP*******rCrdj" -k "4k3ntmvK*******M2mqjQcuOy" -b dbuser-bj --root-dir rootdir --format parquet --jobs 8 -f tablelist.txt --download

Parameter

  • -d: jenis database untuk mengunduh atau mengonversi pernyataan DDL. Atur nilainya menjadiadbpg.

  • -h: titik akhir instance AnalyticDB for PostgreSQL. Anda dapat memperoleh titik akhir publik instance di konsol AnalyticDB for PostgreSQL.

  • -p: nomor port AnalyticDB for PostgreSQL. Atur nilainya menjadi 5432.

  • -U: nama akun awal instance AnalyticDB for PostgreSQL.

  • -w: kata sandi akun awal instance AnalyticDB for PostgreSQL.

  • -o: layanan penyimpanan cloud yang digunakan untuk menyimpan data. Atur nilainya menjadi OSS.

  • -e: titik akhir bucket OSS yang menyimpan data.

  • -i: ID AccessKey yang digunakan untuk mengakses OSS.

  • -k: Rahasia AccessKey yang digunakan untuk mengakses OSS.

  • -b: nama bucket OSS bucket.

  • --root-dir: direktori root OSS.

  • -f: nama file yang berisi nama tabel yang akan diunduh. Setiap baris dalam file hanya mencakup satu nama tabel dalam format database.schema.table. Dalam banyak kasus, Anda dapat menggunakan file yang dihasilkan selama unggahan. Contoh: succeed_transfer_tables_20250228144558.txt.

  • --new-name-file: nama file yang berisi nama tabel AnalyticDB for PostgreSQL yang sesuai. Jika nama tabel dalam AnalyticDB for PostgreSQL berbeda dari yang ada di Amazon Redshift, Anda harus menentukan parameter ini. Setiap baris dalam file hanya mencakup satu nama tabel dalam format database.schema.table. Nama tabel dalam file ini memiliki korespondensi satu-satu dengan yang ada dalam file yang ditentukan oleh parameter -f.

  • --download: melakukan operasi unduhan.

Referensi

Untuk informasi tentang migrasi data manual, lihat Migrasikan data secara manual dari kluster Amazon Redshift ke instance AnalyticDB for PostgreSQL.