全部产品
Search
文档中心

ApsaraDB for SelectDB:Migrasi data dari database Doris yang dikelola sendiri ke ApsaraDB for SelectDB

更新时间:Nov 11, 2025

Anda dapat memigrasikan data dari database Apache Doris ke instans ApsaraDB for SelectDB menggunakan Object Storage Service (OSS) atau katalog. Pilih metode migrasi berdasarkan skenario bisnis Anda. Topik ini menjelaskan cara memigrasikan data offline dari database Apache Doris ke instans ApsaraDB for SelectDB serta menyediakan panduan pemilihan metode.

Pemilihan metode

Pilih metode migrasi data berdasarkan skenario bisnis Anda. Tabel berikut menjelaskan metode yang tersedia beserta kasus penggunaannya.

Metode

Skenario

Alasan

Operasi

Ekspor dan impor melalui OSS

Data Anda disimpan di platform Alibaba Cloud, dan volume datanya besar.

  • Menghindari biaya transfer data saat migrasi.

    Catatan

    Database Doris dan instans SelectDB berada di wilayah yang sama. Migrasi menggunakan lalu lintas jaringan internal.

  • Mendukung migrasi data volume besar.

Gunakan bucket OSS untuk memigrasikan data

Katalog

Data Anda disimpan di platform Alibaba Cloud, dan volume datanya kecil.

Catatan

Ini mencakup skenario seperti data dalam kluster EMR Alibaba Cloud.

  • Menghindari biaya transfer data saat migrasi.

    Catatan

    Database Doris dan instans SelectDB berada di wilayah yang sama. Migrasi menggunakan lalu lintas jaringan internal.

  • Tidak memerlukan komponen eksternal.

Gunakan katalog untuk memigrasikan data

Topik ini menjelaskan cara menggunakan bucket OSS atau katalog untuk memigrasikan data offline dari database Doris ke SelectDB.

Gunakan bucket OSS untuk memigrasikan data

Prasyarat

  • Persyaratan OSS

    • OSS telah diaktifkan. Untuk informasi selengkapnya, lihat Aktifkan OSS.

    • Pengguna RAM yang digunakan untuk mengakses OSS memiliki izin baca dan tulis untuk objek OSS. Untuk informasi selengkapnya, lihat Izin dan kontrol akses.

  • Persyaratan kluster

    Akun database telah dibuat. Untuk informasi selengkapnya, lihat Manajemen akun.

Persiapan

Buat bucket di konsol OSS. Untuk informasi selengkapnya, lihat Buat bucket di konsol.

Penting

Pastikan bucket OSS dan instans ApsaraDB for SelectDB berada di wilayah yang sama.

Dalam topik ini, bucket diberi nama `test-selectdb`.

Langkah 1: Ekspor data sumber

  1. Masuk ke kluster sumber.

    Untuk informasi selengkapnya tentang cara masuk ke database Doris yang dikelola sendiri, lihat Menghubungkan melalui Protokol MySQL - Apache Doris.

  2. Opsional: Siapkan data sampel.

    Jika Anda sudah memiliki data untuk dimigrasikan, langkah ini dapat dilewati.

    1. Buat database.

      Jalankan pernyataan berikut untuk membuat database.

      CREATE DATABASE source_db;
    2. Buat tabel.

      Jalankan pernyataan berikut untuk membuat tabel.

      CREATE TABLE IF NOT EXISTS source_tb (
          `c1` int(11) NULL,
          `c2` string NULL,
          `c3` bigint NULL
      )
      DISTRIBUTED BY HASH(c1) BUCKETS 20
      PROPERTIES("replication_num" = "1");
    3. Masukkan data sampel.

      INSERT INTO source_tb VALUES
          (1, 'doris', 18),
          (2, 'nereids', 20),
          (3, 'pipelibe', 99999),
          (4, 'Apache', 122123455),
          (5, null, null);
    4. Verifikasi data.

      Jalankan pernyataan berikut untuk memverifikasi data sampel.

      SELECT * FROM `source_tb` limit 10;

      Hasil berikut dikembalikan.

      +--------------+--------------+--------------+
      | c1           | c2           | c3           |
      +--------------+--------------+--------------+
      | 1            | doris        | 18           |
      | 3            | pipelibe     | 99999        |
      | 5            |              |              |
      | 2            | nereids      | 20           |
      | 4            | Apache       | 122123455    |
      +--------------+--------------+--------------+
  3. Cadangkan pernyataan `CREATE TABLE` untuk tabel yang berisi data yang akan dimigrasikan.

    Anda dapat menjalankan pernyataan SHOW CREATE TABLE untuk melihat dan mencadangkan pernyataan `CREATE TABLE` untuk tabel sumber. Contoh berikut menunjukkan cara menjalankan pernyataan tersebut.

    SHOW CREATE TABLE source_tb ;

    Hasil berikut dikembalikan.

    +-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | Table           | Create Table                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
    +-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | source_tb       | CREATE TABLE `source_tb` (
                            `c1` int NULL,
                            `c2` text NULL,
                            `c3` bigint NULL
                          ) ENGINE=OLAP
                          DUPLICATE KEY(`c1`)
                          DISTRIBUTED BY HASH(`c1`) BUCKETS 20
                          PROPERTIES (
                          "file_cache_ttl_seconds" = "0",
                          "is_being_synced" = "false",
                          "storage_medium" = "hdd",
                          "storage_format" = "V2",
                          "inverted_index_storage_format" = "V2",
                          "light_schema_change" = "true",
                          "disable_auto_compaction" = "false",
                          "enable_single_replica_compaction" = "false",
                          "group_commit_interval_ms" = "10000",
                          "group_commit_data_bytes" = "134217728"
                          ); |
    +-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    Rows returned: [1], Time elapsed: [22ms]
  4. Ekspor data ke OSS.

    Jalankan perintah `EXPORT` untuk mengekspor data ke OSS.

    Kode berikut menunjukkan sintaksnya.

    EXPORT TABLE table_name
    [PARTITION (p1[,p2])]
    [WHERE]
    TO export_path
    [opt_properties]
    WITH S3
    [s3_properties];

    Tabel berikut menjelaskan parameter-parameter tersebut.

    Parameter

    Wajib

    Deskripsi

    table_name

    Ya

    Nama tabel yang akan diekspor.

    partition

    Tidak

    Partisi-partisi dari tabel yang akan diekspor.

    where

    Tidak

    Data tabel yang memenuhi kondisi tertentu untuk diekspor.

    export_path

    Ya

    Jalur ke file yang diekspor.

    Nilainya dapat berupa direktori atau kombinasi direktori dan awalan file. Misalnya, s3://path/to/my_file_.

    opt_properties

    Tidak

    Properti yang digunakan untuk menentukan parameter ekspor. Untuk informasi selengkapnya, lihat Sintaks dan parameter opt_properties.

    s3_properties

    Ya

    Properti yang digunakan untuk mengonfigurasi atribut protokol S3. Untuk informasi selengkapnya, lihat Sintaks dan parameter s3_properties.

    Kode berikut menunjukkan sintaks `opt_properties`.

    [PROPERTIES ("key"="value", ...)]

    Tabel berikut menjelaskan parameter-parameter tersebut.

    Parameter

    Wajib

    Deskripsi

    label

    Tidak

    Label pekerjaan ekspor. Jika Anda tidak menentukan parameter ini, sistem akan menghasilkan label secara acak.

    column_separator

    Tidak

    Pemisah kolom untuk data yang diekspor.

    Nilai default adalah \t. Pemisah multi-byte didukung. Parameter ini hanya berlaku untuk format file CSV.

    line_delimiter

    Tidak

    Pemisah baris untuk data yang diekspor.

    Nilai default adalah \n. Pemisah multi-byte didukung. Parameter ini hanya berlaku untuk format file CSV.

    columns

    Tidak

    Kolom-kolom dari tabel yang akan diekspor.

    format

    Tidak

    Format file untuk pekerjaan ekspor.

    Format yang didukung: parquet, orc, csv, csv_with_names, dan csv_with_names_and_types.

    Format default adalah csv.

    max_file_size

    Tidak

    Ukuran maksimum file tunggal untuk pekerjaan ekspor. Jika hasil melebihi nilai ini, hasil tersebut akan dibagi menjadi beberapa file.

    • Rentang nilai: 5 MB hingga 2 GB

    • Nilai default: 1 GB

    Ketika Anda menentukan format file ekspor sebagai ORC (yaitu, parameter format_as adalah ORC), ukuran sebenarnya dari file yang dibagi adalah ceil (max_file_size/64) × 64 MB.

    parallelism

    Tidak

    Konkurensi pekerjaan ekspor. Nilai default adalah 1.

    Pekerjaan ekspor memulai sejumlah thread yang sama dengan nilai parallelism untuk mengeksekusi pernyataan select into outfile. Jika nilai parallelism lebih besar daripada jumlah tablet dalam tabel, sistem secara otomatis mengatur parallelism ke jumlah tablet. Artinya, setiap pernyataan select into outfile bertanggung jawab atas satu tablet.

    delete_existing_files

    Tidak

    Menentukan apakah akan menghapus semua file di jalur tujuan.

    false (default): Tidak menghapus file di jalur tujuan.

    true: Menghapus semua file di direktori yang ditentukan oleh export_path, lalu mengekspor data ke direktori tersebut. Misalnya:

    • Jika "file_path" = "/user/tmp", semua file dan direktori di bawah "/user/" dihapus.

    • Jika "file_path" = "/user/tmp/", semua file dan direktori di bawah "/user/tmp/" dihapus.

    Peringatan
    • Menyetel delete_existing_files = true merupakan operasi berisiko. Gunakan hanya di lingkungan pengujian.

    • Untuk menggunakan parameter delete_existing_files, kirim tiket ke dukungan Alibaba Cloud. Tim teknis SelectDB akan menambahkan konfigurasi enable_delete_existing_files = true ke file fe.conf dan me-restart FE. Parameter delete_existing_files hanya berlaku setelah restart.

    with_bom

    Tidak

    Nilai default adalah false. Jika disetel ke true, file yang diekspor dikodekan dalam UTF-8 dengan bill of materials (BOM). Ini hanya berlaku untuk format file terkait CSV.

    timeout

    Tidak

    Periode waktu habis untuk pekerjaan ekspor. Nilai default adalah 2 jam. Satuan adalah detik.

    Kode berikut menunjukkan sintaks `s3_properties`.

    ("key"="value"[,...])

    Tabel berikut menjelaskan parameter-parameter tersebut.

    Parameter

    Wajib

    Deskripsi

    s3.endpoint

    Ya

    Titik akhir tujuan yang menggunakan protokol S3.

    Topik ini menggunakan Alibaba Cloud OSS untuk migrasi. Parameter ini adalah Endpoint yang digunakan untuk mengakses data OSS. Untuk informasi selengkapnya tentang cara mendapatkan endpoint, lihat Wilayah dan endpoint OSS.

    Penting

    Pastikan bucket OSS dan instans ApsaraDB for SelectDB Anda berada di wilayah yang sama.

    s3.access_key

    Ya

    Kunci identitas pengguna untuk tujuan yang menggunakan protokol S3.

    Topik ini menggunakan Alibaba Cloud OSS untuk migrasi. Parameter ini adalah ID AccessKey pengguna RAM yang digunakan untuk mengakses OSS.

    s3.secret_key

    Ya

    String autentikasi pengguna untuk tujuan yang menggunakan protokol S3.

    Topik ini menggunakan Alibaba Cloud OSS untuk migrasi. Parameter ini adalah Rahasia AccessKey pengguna RAM yang digunakan untuk mengakses OSS.

    s3.region

    Ya

    Wilayah tujuan yang menggunakan protokol S3.

    Topik ini menggunakan Alibaba Cloud OSS untuk migrasi. Parameter ini adalah wilayah bucket Alibaba Cloud OSS. Untuk informasi selengkapnya tentang cara mendapatkan wilayah, lihat Wilayah dan endpoint OSS.

    use_path_style

    Tidak

    Nilai default adalah false.

    SDK S3 menggunakan gaya virtual-hosted secara default.

    Beberapa sistem penyimpanan objek mungkin belum mengaktifkan atau mendukung akses gaya virtual-hosted. Anda dapat menambahkan parameter use_path_style untuk memaksa penggunaan gaya path.

    Catatan

    Tiga skema URI saat ini didukung: http://, https://, dan s3://.

    1. Jika Anda menggunakan http:// atau https://, sistem menentukan apakah akan menggunakan gaya path untuk mengakses tujuan protokol S3 berdasarkan parameter use_path_style.

    2. Jika Anda menggunakan s3://, sistem menggunakan gaya virtual-hosted untuk mengakses tujuan protokol S3.

    Kode berikut memberikan contoh.

    EXPORT TABLE  source_tb  -- Ekspor data dari tabel source_tb.
                TO "s3://test-selectdb/test/"  -- Ekspor data ke folder test di bucket OSS bernama test-selectdb.
                PROPERTIES (
                    "label" = "test_export", -- Label pekerjaan.
                    "format" = "orc",   -- Format penyimpanan file adalah ORC.
                    "max_file_size" = '2048MB', -- Ukuran pemisahan file.
                    'parallelism' = '10'  -- Konkurensi ekspor adalah 10.
                ) WITH s3 (
                    "s3.endpoint" = "oss-cn-hangzhou-internal.aliyuncs.com",  -- URL untuk mengakses bucket OSS.
                    "s3.region" = "oss-cn-hangzhou",  -- Wilayah bucket OSS.
                    "s3.secret_key"="yourAccessKeySecret",  -- Rahasia AccessKey pengguna RAM untuk mengakses OSS.
                    "s3.access_key" = "LTAI****************"  -- ID AccessKey pengguna RAM untuk mengakses OSS.
                );
  5. Verifikasi bahwa data telah diekspor.

    Anda dapat menggunakan salah satu dari dua metode berikut untuk memeriksa status ekspor data.

    • Periksa status dengan menjalankan perintah.

      Di klien yang terhubung ke Doris, jalankan pernyataan berikut untuk memeriksa status ekspor.

      SHOW export;
      • Ekspor berhasil: Jika `State` dalam hasil adalah `FINISHED`, ekspor data berhasil.

      • Ekspor gagal: Jika `State` dalam hasil adalah `CANCELLED`, ekspor data gagal. Anda dapat memeriksa bidang `ErrorMsg` untuk memecahkan masalah kegagalan tersebut.

    • Periksa status di konsol OSS.

      Masuk ke konsol OSS dan periksa apakah file telah dihasilkan di jalur ekspor yang ditentukan.

Langkah 2: Impor data ke tabel tujuan

  1. Masuk ke kluster tujuan. Untuk informasi selengkapnya, lihat Hubungkan ke instans ApsaraDB for SelectDB menggunakan DMS.

  2. Buat tabel tujuan.

  3. Buat database.

    1. Opsional: Buat database.

      Jika database tujuan sudah ada, langkah ini dapat dilewati.

      Jalankan pernyataan berikut untuk membuat database.

      CREATE DATABASE aim_db;
    2. Buat tabel.

      Jalankan pernyataan `CREATE TABLE` yang telah dicadangkan dari tabel sumber.

      Kode berikut menunjukkan pernyataan `CREATE TABLE` yang digunakan dalam topik ini.

      CREATE TABLE IF NOT EXISTS aim_tb (
          `c1` int(11) NULL,
          `c2` string NULL,
          `c3` bigint NULL
      ) ENGINE=OLAP
      DUPLICATE KEY(`c1`)
      DISTRIBUTED BY HASH(c1) BUCKETS 20
      PROPERTIES("replication_num" = "1");
  4. Impor data.

    Gunakan `S3 load` untuk mengimpor data dari OSS ke SelectDB. Untuk informasi selengkapnya tentang sintaks S3 load dan contoh tambahan, lihat OSS Load.

    Kode berikut memberikan contoh.

     LOAD LABEL label_1  -- labelname: pengidentifikasi unik acak untuk pekerjaan
                    (
                        DATA INFILE("s3://test-selectdb/test/59ab2e9dc4ec4c04-9e50e45a6fda2c8e_0.orc")  -- Jalur file data yang diekspor di OSS dari langkah sebelumnya.
                        INTO TABLE aim_tb  -- Nama tabel tempat mengimpor data.
                        FORMAT AS ORC   -- Format file yang diimpor, yang sama dengan format data yang diekspor.
                    )
                    WITH S3
                    (
                        "AWS_PROVIDER" = "OSS",
                        "AWS_REGION" = "oss-cn-hangzhou",  -- Wilayah bucket OSS.
                        "AWS_ENDPOINT" = "oss-cn-hangzhou-internal.aliyuncs.com",  -- URL untuk mengakses bucket OSS.
                        "AWS_ACCESS_KEY" = "LTAI****************",  -- ID AccessKey pengguna RAM untuk mengakses OSS.
                        "AWS_SECRET_KEY"="yourAccessKeySecret"  -- Rahasia AccessKey pengguna RAM untuk mengakses OSS.
                    )
                    PROPERTIES
                    (
                        "timeout" = "3600"   -- Periode waktu habis impor.
                    );
  5. Verifikasi impor.

    Anda dapat menggunakan salah satu dari dua metode berikut untuk memeriksa hasil impor.

    • Periksa status dengan menjalankan perintah.

      Di klien yang terhubung ke SelectDB, jalankan pernyataan berikut untuk memeriksa status impor.

      SHOW load;

      Impor berhasil: Jika `State` dalam hasil adalah `FINISHED`, impor data berhasil.

    • Periksa data di tabel tujuan. Kode berikut memberikan contoh pernyataan.

      SELECT * FROM `aim_tb` limit 10;

      Hasil berikut dikembalikan.

      +--------------+--------------+--------------+
      | c1           | c2           | c3           |
      +--------------+--------------+--------------+
      | 1            | doris        | 18           |
      | 3            | pipelibe     | 99999        |
      | 5            |              |              |
      | 2            | nereids      | 20           |
      | 4            | Apache       | 122123455    |
      +--------------+--------------+--------------+

      Data konsisten dengan data sumber dari Langkah 1: Ekspor data sumber. Impor berhasil.

Gunakan katalog untuk memigrasikan data

Prasyarat

  • Pastikan instans Doris dan instans SelectDB dapat saling berkomunikasi.

  • Versi instans SelectDB tidak boleh lebih awal dari versi instans Doris.

    Catatan

    SelectDB adalah gudang data real-time cloud-native yang dibangun di atas Doris. Untuk informasi selengkapnya tentang hubungan versi di antara keduanya, lihat Catatan rilis kernel.

  • Pahami katalog dan operasi dasarnya. Untuk informasi selengkapnya, lihat Data lakehouse.

Lingkungan contoh

Topik ini memberikan contoh cara memigrasikan data dari tabel `doris_t` di database `doris_db` instans Doris ke tabel `test_doris2SelectDB` di database `test_db` instans SelectDB. Saat melakukan migrasi, ubah parameter sesuai kebutuhan Anda. Daftar berikut menjelaskan lingkungan contoh:

  • Database tujuan: `test_db`

  • Tabel tujuan: `test_doris2SelectDB`

  • Database sumber: `doris_db`

  • Tabel data sumber: `doris_t`

Contoh persiapan data sumber

Masuk ke database Doris sumber Anda dan jalankan perintah berikut.

  1. Buat database.

    CREATE DATABASE doris_db;
  2. Buat tabel.

    CREATE TABLE doris_t
    (
        id int,
        name string,
        age int
    )
    DISTRIBUTED BY HASH(id) BUCKETS 4
    PROPERTIES("replication_num" = "1");
  3. Masukkan data.

    INSERT INTO doris_t VALUES
    (1, 'Alice', 25),
    (2, 'Bob', 30),
    (3, 'Charlie', 35),
    (4, 'David', 40),
    (5, 'Eve', 45);

Prosedur

  1. Hubungkan ke instans SelectDB. Untuk informasi selengkapnya, lihat Hubungkan ke instans ApsaraDB for SelectDB menggunakan klien MySQL.

  2. Buat katalog JDBC Doris.

    CREATE CATALOG doris_catalog PROPERTIES (
     "type"="jdbc",
     "user"="root",
     "password"="123456",
     "jdbc_url" = "jdbc:mysql://127.0.0.1:9030/doris_db",
     "driver_url" = "mysql-connector-java-8.0.25.jar",
     "driver_class" = "com.mysql.cj.jdbc.Driver"
    )

    Parameter

    Wajib

    Nilai default

    Deskripsi

    user

    Ya

    Tidak ada

    Akun database Doris.

    password

    Ya

    Tidak ada

    Kata sandi akun database Doris.

    jdbc_url

    Ya

    Tidak ada

    String koneksi JDBC. Harus berisi alamat koneksi database Doris.

    Format: jdbc:mysql://<host>:<port>/<database>

    • host: Alamat IP database Doris.

    • port: Nomor port database Doris.

    • database: Nama database yang akan diakses.

    Contoh: jdbc:mysql://127.0.0.1:9030/doris_db

    driver_url

    Ya

    Tidak ada

    Nama paket JAR driver JDBC.

    Catatan
    • Kami menyarankan Anda menggunakan mysql-connector-java-8.0.25.jar.

    • Jika Anda ingin menggunakan paket JAR lain, kirim tiket untuk konsultasi.

    driver_class

    Ya

    Tidak ada

    Nama kelas driver JDBC.

    Kami menyarankan Anda menyetelnya ke com.mysql.cj.jdbc.Driver.

    lower_case_table_names

    Catatan

    Di versi 4.0, parameter ini diganti namanya menjadi lower_case_meta_names.

    Tidak

    "false"

    Menentukan apakah akan menyinkronkan nama database dan tabel dari sumber data JDBC eksternal dalam huruf kecil.

    true: Mempertahankan pemetaan dari nama huruf kecil ke nama sebenarnya di sistem jarak jauh, yang memungkinkan Anda mengkueri database dan tabel yang tidak dalam huruf kecil. Dalam hal ini, nama database, tabel, dan kolom semuanya diubah menjadi huruf kecil.

    false: Anda tidak dapat mengkueri database dan tabel yang tidak dalam huruf kecil.

    Penting
    • Untuk SelectDB 3.0:

      • Jika parameter lower_case_table_names FE disetel ke 1 atau 2, parameter lower_case_table_names katalog harus disetel ke true.

      • Jika parameter lower_case_table_names FE disetel ke 0, parameter katalog dapat berupa true atau false.

    • Untuk SelectDB 4.0:

      • Jika parameter lower_case_table_names FE adalah 0 atau 2, nama database, tabel, dan kolom tidak diubah.

      • Jika parameter lower_case_table_names FE adalah 1, nama tabel diubah menjadi huruf kecil, tetapi nama database dan kolom tidak diubah.

    only_specified_database

    Tidak

    "false"

    Menentukan apakah hanya akan menyinkronkan database yang ditentukan.

    true: Hanya menyinkronkan database sumber data yang ditentukan dalam URL JDBC.

    false: Menyinkronkan semua database dalam URL JDBC.

    include_database_list

    Tidak

    ""

    Ketika only_specified_database=true, menentukan beberapa database untuk disinkronkan, dipisahkan dengan koma (,). Nama database bersifat case-sensitive.

    exclude_database_list

    Tidak

    ""

    Ketika only_specified_database=true, menentukan beberapa database yang tidak akan disinkronkan, dipisahkan dengan koma (,). Nama database bersifat case-sensitive.

    meta_names_mapping

    Tidak

    ""

    Jika sumber data eksternal memiliki objek dengan nama yang hanya berbeda dalam huruf besar/kecil, seperti DORIS dan doris, kesalahan akan dilaporkan karena ambiguitas saat Anda mengkueri katalog. Dalam kasus ini, konfigurasikan parameter meta_names_mapping untuk menyelesaikan konflik.

    Untuk informasi selengkapnya, lihat Pengaturan sensitivitas huruf besar/kecil.

    Penting

    Parameter ini hanya berlaku untuk SelectDB 4.0.

  3. Lihat katalog.

    SHOW CATALOGS; -- Periksa apakah CATALOG berhasil dibuat.

    Hasil berikut dikembalikan.

    +--------------+--------------+----------+-----------+-------------------------+---------------------+------------------------+
    | CatalogId    | CatalogName  | Type     | IsCurrent | CreateTime              | LastUpdateTime      | Comment                |
    +--------------+--------------+----------+-----------+-------------------------+---------------------+------------------------+
    | 436009309195 | doris_catalog | jdbc      |           | 2024-08-06 17:09:08.058 | 2024-07-19 18:04:37 |                        |
    |            0 | internal     | internal | yes       | UNRECORDED              | NULL                | Doris internal catalog |
    +--------------+--------------+----------+-----------+-------------------------+---------------------+------------------------+
  4. Opsional: Beralih ke katalog eksternal `doris_catalog`.

    Anda dapat melihat dan mengakses data di katalog eksternal `doris_catalog` dengan cara yang sama seperti mengakses data di katalog internal.

    Catatan

    Saat ini, ApsaraDB for SelectDB hanya mendukung operasi baca pada data di katalog eksternal.

    SWITCH doris_catalog;
  5. Opsional: Beralih ke katalog internal.

    Jika Anda tidak melakukan Langkah 4, langkah ini dapat dilewati.

    SWITCH internal;
  6. Opsional: Buat database.

    Jika database tujuan sudah ada, langkah ini dapat dilewati.

    CREATE database test_db;
  7. Beralih ke database tujuan.

    USE test_db;
  8. Buat tabel.

    Jika tabel tujuan sudah ada, periksa apakah tipe data kolom di tabel tujuan sesuai dengan tipe data kolom di tabel sumber Doris.

    Jika tabel tujuan belum ada, pastikan tipe data kolom di tabel tujuan sesuai dengan tipe data kolom di tabel sumber Doris saat Anda membuat tabel.

    Untuk informasi selengkapnya tentang pemetaan tipe data, lihat Pemetaan tipe.

    CREATE TABLE test_doris2SelectDB
    (
        id int,
        name string,
        age int
    )
    DISTRIBUTED BY HASH(id) BUCKETS 4
    PROPERTIES("replication_num" = "1");
  9. Migrasikan data.

    INSERT INTO test_doris2SelectDB SELECT *  FROM doris_catalog.doris_db.doris_t;
  10. Periksa status impor data.

    SELECT *  FROM test_doris2SelectDB;

Catatan tentang migrasi data inkremental

Di lingkungan produksi, data Doris terdiri dari data offline dan data inkremental. Karena data biasanya dimigrasikan dari Doris ke SelectDB untuk gudang data dan akselerasi kueri, Anda dapat menggunakan salah satu dari dua metode berikut untuk migrasi data inkremental:

  • Saat menulis data ke instans Doris, tulis salinan data tersebut ke instans SelectDB secara paralel.

  • Gunakan pekerjaan periodik untuk membaca data yang dipartisi dari instans Doris dan menulis data tersebut ke instans SelectDB.