全部产品
Search
文档中心

Hologres:Sinkronisasi DataHub Real-time

更新时间:Mar 03, 2026

Sinkronisasi data dari DataHub ke Hologres sangat ideal untuk skenario yang memerlukan analitik data real-time, pemantauan waktu nyata, laporan real-time, dan pemrosesan struktur data kompleks. Kombinasi kemampuan DataHub dan Hologres meningkatkan efisiensi serta akurasi dalam pemrosesan dan analisis data. Topik ini menjelaskan cara membuat tugas sinkronisasi data DataHub dan menyediakan jawaban atas pertanyaan umum (FAQ).

Informasi latar belakang

DataHub menyediakan fitur sinkronisasi data yang berfungsi sebagai data sink maupun sumber. Anda dapat menggunakan fitur ini untuk menyinkronkan data dari suatu topik ke produk Alibaba Cloud lainnya secara real-time atau Near Real-Time, sehingga memungkinkan aliran data antar produk. Untuk informasi lebih lanjut mengenai fitur sinkronisasi data DataHub, lihat Ikhtisar.

Tabel berikut menjelaskan pemetaan tipe data antara DataHub dan Hologres.

DataHub

Hologres

Project

Database

Topic

Table

Skema dan Strategi Sinkronisasi

Skema Sinkronisasi

Skema Sinkronisasi

Deskripsi

Penyisipan baris per baris

Masukkan data dari database sumber ke database target baris demi baris. Ini berlaku untuk skenario di mana Anda menyinkronkan seluruh data DataHub ke Hologres.

Playback

Analisis dan eksekusi ulang log operasi database binary logging (Binlog) untuk menerapkan perubahan dari database sumber ke database target, sehingga menjamin konsistensi data. Ini berlaku untuk skenario di mana DTS menyinkronkan data ke DataHub, lalu data DataHub disinkronkan ke Hologres, dengan DataHub bertindak sebagai Binlog.

Catatan

Saat DTS menyinkronkan data ke DataHub, kolom tambahan ditambahkan ke kolom data untuk mencatat informasi operasi. Penamaan kolom tambahan ini dalam sinkronisasi DTS ke DataHub berbeda antara aturan lama dan baru. Untuk informasi lebih lanjut, lihat Ubah Aturan Kolom Tambahan untuk Sinkronisasi Data.

Strategi Sinkronisasi

Strategi Sinkronisasi

Deskripsi

Overwrite (replace)

Jika terjadi konflik primary key saat penulisan data, data baru akan menimpa data lama dan ditulis, sehingga menjamin konsistensi data antara database target dan sumber.

Ignore (ignore)

Jika terjadi konflik primary key saat penulisan data, abaikan data baru. Artinya data tidak diperbarui, mencegah impor data duplikat dan penimpaan, serta menjaga integritas data di database target.

Catatan

  • Anda hanya dapat menyinkronkan data bertipe TUPLE dari DataHub ke Hologres.

  • Sebelum menulis data ke tabel partisi, Anda harus membuat tabel anak di Hologres. Untuk informasi lebih lanjut, lihat CREATE PARTITION TABLE.

  • Setiap tugas sinkronisasi mengonsumsi sejumlah koneksi tertentu. Jumlah koneksi yang dikonsumsi oleh suatu tugas sama dengan jumlah shard dalam topik DataHub.

Persiapan

  1. Aktifkan layanan DataHub dan siapkan data DataHub. Untuk informasi lebih lanjut, lihat Mulai Cepat (Contoh Sinkronisasi).

  2. Beli instans Hologres dan buat tabel. Topik ini menggunakan tabel lineitem sebagai contoh. Untuk informasi lebih lanjut, lihat Beli Instans Hologres dan Buat Tabel di Hologres Menggunakan HoloWeb.

    Tabel berikut menjelaskan pemetaan tipe data antara DataHub dan Hologres.

    DataHub

    Hologres

    TINYINT

    SMALLINT

    SMALLINT

    SMALLINT

    INTEGER

    INTEGER

    BIGINT

    BIGINT

    FLOAT

    REAL

    DOUBLE

    DOUBLE PRECISION

    DECIMAL

    DECIMAL

    STRING

    TEXT

    BOOLEAN

    BOOLEAN

    TIMESTAMP

    TIMESTAMPTZ

    Berikut adalah contoh pernyataan pembuatan tabel.

    BEGIN;
    CREATE TABLE lineitem ( 
    L_ORDERKEY BIGINT NOT NULL,
    L_PARTKEY BIGINT NOT NULL,
    L_SUPPKEY BIGINT NOT NULL,
    L_LINENUMBER BIGINT NOT NULL,
    L_QUANTITY DECIMAL(20,10),
    L_EXTENDEDPRICE DECIMAL(20,10),
    L_DISCOUNT DECIMAL(20,10),
    L_TAX DECIMAL(20,10),
    L_RETURNFLAG TEXT,
    L_LINESTATUS TEXT,
    L_SHIPDATE TIMESTAMPTZ,
    L_COMMITDATE TIMESTAMPTZ,
    L_RECEIPTDATE TIMESTAMPTZ,
    L_SHIPINSTRUCT TEXT,
    L_SHIPMODE TEXT,
    L_COMMENT TEXT
    );
    CALL set_table_property('lineitem', 'orientation', 'column');
    COMMIT;

Buat Tugas Sinkronisasi

  1. Masuk ke Konsol layanan DataHub. Klik topik yang telah Anda buat untuk membuka halaman detail topik.

  2. Di pojok kanan atas halaman detail topik, klik +Sync.

  3. Klik Hologres dan konfigurasikan parameter pada halaman Create Connector.

    Parameter

    Deskripsi

    Instance

    ID instans Hologres. Buka Konsol Manajemen Hologres untuk mendapatkan Instance ID.

    Database

    Nama database Hologres yang menerima data DataHub.

    Table

    Nama tabel Hologres, lineitem, yang menerima data DataHub.

    Primary Key Conflict Policy

    Kebijakan pembaruan data saat terjadi konflik primary key. Nilai:

    • replace (default): Jika terjadi konflik primary key saat penulisan data, data baru akan menimpa data lama.

    • ignore: Jika terjadi konflik primary key saat penulisan data, abaikan data baru. Artinya data tidak diperbarui, dan data lama tetap dipertahankan.

    Untuk informasi lebih lanjut mengenai strategi sinkronisasi data, lihat Strategi Sinkronisasi.

    Synchronization Scenario

    Skema penggunaan untuk sinkronisasi data. Nilai:

    • default (default): Penyisipan baris per baris.

    • dts: Pilih parameter ini jika Anda mengaktifkan aturan kolom tambahan baru saat DTS menyinkronkan data ke DataHub.

    • dts_old: Pilih parameter ini jika Anda tidak mengaktifkan aturan kolom tambahan baru saat DTS menyinkronkan data ke DataHub.

    Untuk informasi lebih lanjut mengenai skema sinkronisasi data, lihat Skema Sinkronisasi.

    Import Fields

    Bidang yang akan diimpor ke Hologres. Impor beberapa atau semua bidang sesuai kebutuhan.

    Authentication Mode

    Default adalah AccessKey.

    AccessKey ID

    ID AccessKey untuk mengakses instans Hologres. Klik Manajemen AccessKey untuk mendapatkan ID AccessKey pengguna.

    AccessKey Secret

    AccessKey Secret untuk mengakses instans Hologres. Klik Manajemen AccessKey untuk mendapatkan AccessKey Secret.

    Timestamp Unit

    Unit waktu sinkronisasi. Nilai:

    • MICROSECOND: Mikrodetik, nilai default.

    • MILLISECOND: Milidetik.

    • KEDUA: Kedua.

  4. Klik Create untuk menyinkronkan data dari DataHub ke Hologres.

    Setelah membuat konektor, Anda dapat melihat status sinkronisasi data real-time pada tab Sync Tasks di halaman detail topik.

  5. Kueri data di Hologres.

    Hubungkan ke tool pengembangan untuk instans Hologres guna mengkueri data yang telah disinkronkan ke Hologres secara real-time. Untuk informasi lebih lanjut mengenai cara menghubungkan ke Hologres, lihat Hubungkan ke Hologres. Anda dapat mengeksekusi pernyataan kueri contoh berikut.

    SELECT COUNT(*) FROM lineitem;

FAQ

Bagian ini menjelaskan error umum yang mungkin terjadi saat Anda menggunakan Hologres dan memberikan solusi untuk membantu Anda memecahkan masalah tersebut.

  • Pertanyaan 1

    • Pesan error

      ErrorMessage: Import field not found in dest schema.
    • Penyebab

      • Bidang impor yang ditentukan dalam tugas sinkronisasi tidak ada di tabel Hologres.

      • Skema sinkronisasi untuk tugas diatur ke default, tetapi bidang impor mencakup kolom tambahan yang dihasilkan saat DTS menyinkronkan data ke DataHub.

    • Solusi

      • Buat ulang tabel Hologres dan tambahkan bidang impor yang hilang. Atau, ubah tugas sinkronisasi untuk menghapus bidang impor yang tidak ada di tabel Hologres.

      • Buat ulang tugas sinkronisasi dan atur skema sinkronisasi ke dts atau dts_old.

  • Pertanyaan 2

    • Pesan error

      ErrorMessage: Column type not match with Holo column.
    • Penyebab

      Tipe data suatu bidang dalam topik DataHub tidak sesuai dengan tipe data bidang yang bersesuaian di tabel Hologres.

    • Solusi

      Berdasarkan pemetaan tipe data, buat ulang tabel Hologres dengan tipe bidang yang benar.

  • Pertanyaan 3

    • Pesan error

      ErrorMessage: Not import column xxx not allow null and no default value.
    • Penyebab

      Beberapa bidang di tabel Hologres tidak termasuk dalam bidang impor tugas sinkronisasi. Namun, bidang-bidang tersebut dikonfigurasi dengan properti `NOT NULL` dan tidak memiliki nilai default.

    • Solusi

      Buat ulang tabel Hologres. Untuk bidang yang tidak termasuk dalam bidang impor tugas sinkronisasi, jangan konfigurasi properti `NOT NULL` atau tetapkan nilai default untuknya.