Anda dapat memigrasikan data dari StarRocks ke ApsaraDB for SelectDB menggunakan fitur migrasi data ApsaraDB for SelectDB atau Catalog. Pilih metode yang sesuai berdasarkan volume data dan skenario bisnis Anda. Topik ini menjelaskan cara menggunakan Catalog untuk memigrasikan data offline dari StarRocks ke ApsaraDB for SelectDB.
Memilih metode migrasi
Gunakan tabel berikut untuk memilih metode migrasi terbaik sesuai skenario bisnis Anda.
Metode | Kasus penggunaan | Keuntungan | Prosedur |
Gunakan fitur migrasi data ApsaraDB for SelectDB (Direkomendasikan) | Berlaku untuk semua skenario. |
| |
catalog | Untuk data yang sudah berada di Alibaba Cloud. Catatan Ini mencakup skenario yang melibatkan kluster E-MapReduce Alibaba Cloud. |
|
Topik ini menggunakan catalog sebagai contoh untuk menjelaskan cara memigrasikan data offline dari StarRocks ke SelectDB.
Migrasikan data dengan menggunakan catalog
Prasyarat
Pastikan konektivitas antara instans StarRocks dan instans SelectDB Anda.
Semua node kluster SelectDB dan instans ApsaraDB for SelectDB berada dalam VPC yang sama. Jika berada di VPC berbeda, Anda harus terlebih dahulu menetapkan konektivitas jaringan. Untuk informasi lebih lanjut, lihat Bagaimana cara menetapkan konektivitas jaringan antara instans ApsaraDB for SelectDB dan sumber data?
Tambahkan alamat IP instans StarRocks ke daftar putih instans SelectDB ApsaraDB for SelectDB. Untuk informasi selengkapnya, lihat Konfigurasi daftar putih.
Jika instans StarRocks Anda menggunakan daftar putih, tambahkan Blok CIDR VPC tempat instans SelectDB Anda berada ke daftar putih StarRocks.
Untuk mendapatkan rentang IP VPC tempat instans SelectDB Anda berada, lihat Bagaimana cara menemukan Blok CIDR IP VPC tempat instans ApsaraDB for SelectDB saya berada?
Untuk mendapatkan Alamat IP publik instans SelectDB Anda, gunakan perintah
pingpada Titik akhir publiknyaSelectDB.
Pahami catalog dan operasi dasarnya. Untuk informasi lebih lanjut, lihat Data lakehouse.
Lingkungan contoh
Contoh ini menunjukkan cara memigrasikan data dari tabel SR_t di database starRocks_db milik StarRocks ke tabel test_SR2SelectDB di database test_db milik SelectDB. Saat melakukan migrasi, ubah parameter sesuai kebutuhan. Lingkungan contoh adalah sebagai berikut:
Database tujuan: test_db
Tabel tujuan: test_SR2SelectDB
Database sumber: starRocks_db
Tabel sumber: SR_t
Contoh: Siapkan data sumber
Login ke instans StarRocks sumber Anda dan selesaikan langkah-langkah berikut.
Buat database.
CREATE DATABASE starRocks_db;Buat tabel.
CREATE TABLE SR_t ( id int, name string, age int ) DISTRIBUTED BY HASH(id) BUCKETS 4 PROPERTIES("replication_num" = "1");Masukkan data.
INSERT INTO SR_t VALUES (1, 'Alice', 25), (2, 'Bob', 30), (3, 'Charlie', 35), (4, 'David', 40), (5, 'Eve', 45);
Prosedur
Hubungkan ke instans SelectDB. Untuk informasi lebih lanjut, lihat Hubungkan ke instans.
CatatanPerintah
SWITCHtidak berfungsi saat Anda login menggunakan Data Management Service (DMS). Hubungkan menggunakan client MySQL.Buat catalog JDBC StarRocks. Untuk informasi lebih lanjut, lihat Sumber data JDBC.
CREATE CATALOG starrocks_catalog PROPERTIES ( "type"="jdbc", "user"="root", "password"="123456", "jdbc_url" = "jdbc:mysql://127.0.0.1:3306/demo", "driver_url" = "mysql-connector-java-8.0.25.jar", "driver_class" = "com.mysql.cj.jdbc.Driver", "checksum" = "fdf55dcef04b09f2eaf42b75e61ccc9a" )Parameter
Parameter
Wajib
Nilai default
Deskripsi
user
Ya
Tidak ada
Akun untuk database StarRocks.
password
Ya
Tidak ada
Password untuk database StarRocks.
jdbc_url
Ya
Tidak ada
String koneksi JDBC. Harus berisi alamat koneksi database StarRocks.
driver_url
Ya
Tidak ada
Nama paket JAR driver JDBC.
CatatanGunakan
mysql-connector-java-8.0.25.jar.Untuk menggunakan paket JAR berbeda, kirim tiket untuk dukungan.
driver_class
Ya
Tidak ada
Nama kelas driver JDBC.
Atur parameter ini ke
com.mysql.cj.jdbc.Driver.lower_case_table_names
(Diganti nama menjadi lower_case_meta_names di versi 4.0)
Tidak
"false"
Menentukan apakah akan menyinkronkan nama database dan tabel dari sumber data JDBC eksternal dalam huruf kecil.
true: Memungkinkan Anda mengkueri database dan tabel yang namanya tidak dalam huruf kecil dengan mempertahankan pemetaan dari nama huruf kecil ke nama aktual di sistem remote. Dalam kasus ini, nama database, tabel, dan kolom semuanya dikonversi ke huruf kecil.
false: Anda tidak dapat mengkueri database dan tabel yang namanya tidak dalam huruf kecil.
PentingUntuk SelectDB 3.0:
Jika parameter
lower_case_table_namesFE diatur ke1atau2, Anda harus mengatur parameterlower_case_table_namescatalog ketrue.Jika parameter
lower_case_table_namesFE diatur ke0, parameter catalog dapat diatur ketrueataufalse.
Untuk SelectDB 4.0:
Jika parameter
lower_case_table_namesFE diatur ke0atau2, nama database, tabel, dan kolom tidak dikonversi.Jika parameter
lower_case_table_namesFE diatur ke1, nama tabel dikonversi ke huruf kecil, tetapi nama database dan kolom tidak.
only_specified_database
Tidak
"false"
Menentukan apakah hanya akan menyinkronkan database yang ditentukan.
true: Hanya menyinkronkan database yang ditentukan dalam URL JDBC.
false: Menyinkronkan semua database dalam URL JDBC.
include_database_list
Tidak
""
Saat
only_specified_database=true, menentukan database yang akan disinkronkan. Pisahkan beberapa database dengan koma (,). Nama database bersifat case-sensitive.exclude_database_list
Tidak
""
Saat
only_specified_database=true, menentukan database yang akan dikecualikan dari sinkronisasi. Pisahkan beberapa database dengan koma (,). Nama database bersifat case-sensitive.meta_names_mapping
Tidak
""
Jika sumber data eksternal memiliki nama yang hanya berbeda dalam kapitalisasi, seperti DORIS dan doris, mengkueri catalog dapat menyebabkan error karena ambiguitas. Dalam kasus ini, konfigurasikan parameter
meta_names_mappinguntuk menyelesaikan konflik.Untuk informasi lebih lanjut, lihat Pengaturan sensitivitas kapitalisasi.
PentingParameter ini hanya berlaku untuk SelectDB 4.0.
Lihat catalog.
SHOW CATALOGS; -- Periksa apakah catalog berhasil dibuat.Hasil berikut dikembalikan.
+--------------+--------------+----------+-----------+-------------------------+---------------------+------------------------+ | CatalogId | CatalogName | Type | IsCurrent | CreateTime | LastUpdateTime | Comment | +--------------+--------------+----------+-----------+-------------------------+---------------------+------------------------+ | 436009309195 | SR_catalog | jdbc | | 2024-08-06 17:09:08.058 | 2024-07-19 18:04:37 | | | 0 | internal | internal | yes | UNRECORDED | NULL | Doris internal catalog | +--------------+--------------+----------+-----------+-------------------------+---------------------+------------------------+(Opsi) Beralih ke catalog eksternal SR_catalog.
Anda dapat melihat dan mengakses data di catalog eksternal SR_catalog seperti halnya catalog internal.
CatatanSaat ini, Alibaba Cloud SelectDB hanya mendukung operasi baca pada data di catalog eksternal.
SWITCH SR_catalog;(Opsi) Beralih ke catalog internal.
Jika Anda tidak melakukan Langkah 4, lewati langkah ini.
SWITCH internal;(Opsi) Buat database.
Jika Anda telah membuat database tujuan, lewati langkah ini.
CREATE database test_db;Beralih ke database tujuan.
USE test_db;Buat tabel.
Jika Anda sudah memiliki tabel tujuan, pastikan tipe kolom di tabel tujuan sesuai dengan tipe kolom di data sumber StarRocks.
Jika Anda belum memiliki tabel tujuan, pastikan tipe kolom sesuai dengan tipe kolom di data sumber StarRocks saat membuat tabel.
Untuk informasi lebih lanjut tentang pemetaan kolom, lihat Pemetaan tipe.
CREATE TABLE test_SR2SelectDB ( id int, name string, age int ) DISTRIBUTED BY HASH(id) BUCKETS 4 PROPERTIES("replication_num" = "1");Migrasikan data.
INSERT INTO test_SR2SelectDB SELECT * FROM doris_catalog.SR_db.SR_t;Periksa status impor data.
SELECT * FROM test_SR2SelectDB;
Migrasikan data inkremental
Data StarRocks di lingkungan produksi mencakup data offline dan data inkremental. Kasus penggunaan umum untuk memigrasikan data dari StarRocks ke SelectDB adalah menyalin data ke gudang data untuk akselerasi kueri. Untuk memigrasikan data inkremental, pertimbangkan salah satu metode berikut:
Saat menghasilkan data untuk SelectDB, Anda dapat secara bersamaan menulis salinan data tersebut ke SelectDB.
Baca data partisi dari StarRocks secara berkala dan tulis ke SelectDB.