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
Aktifkan layanan DataHub dan siapkan data DataHub. Untuk informasi lebih lanjut, lihat Mulai Cepat (Contoh Sinkronisasi).
Beli instans Hologres dan buat tabel. Topik ini menggunakan tabel
lineitemsebagai 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
Masuk ke Konsol layanan DataHub. Klik topik yang telah Anda buat untuk membuka halaman detail topik.
Di pojok kanan atas halaman detail topik, klik +Sync.
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.
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.
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.