ClickHouse

Data Source: External ClickHouseEnterprise Edition+

Pengenalan

ClickHouse dapat dihubungkan ke NocoBase sebagai database eksternal. Setelah terhubung, NocoBase akan membaca tabel data, bidang, dan tampilan dari ClickHouse, lalu menggunakannya sebagai tabel data dalam sumber data eksternal.

ClickHouse lebih cocok untuk kueri analitis, analisis log, statistik metrik, dan penyajian laporan. Berbeda dari database transaksional, ClickHouse tidak cocok digunakan sebagai sumber data untuk sering menambah, mengedit, dan menghapus catatan bisnis di NocoBase.

Item konfigurasiKeterangan
Versi yang didukungClickHouse >= 20.2.
Versi komersialDidukung oleh Edisi Enterprise.
Plugin terkait@nocobase/plugin-data-source-external-clickhouse.
Metode koneksiMenggunakan port yang kompatibel dengan MySQL milik ClickHouse.
Rekomendasi penggunaanTerutama untuk melihat, memfilter, membuat statistik, dan menyajikan laporan.

Skenario yang sesuai untuk menggunakan ClickHouse eksternal:

  • Menghubungkan data analitis seperti log, pelacakan peristiwa, metrik, dan pengendalian risiko
  • Membangun dasbor operasional, laporan statistik, atau halaman kueri di NocoBase
  • Menyediakan akses kueri hanya-baca bagi pengguna bisnis untuk mengurangi akses langsung ke klien database
  • Menerapkan kontrol izin dan visualisasi pada data ClickHouse yang sudah ada
Perhatian

ClickHouse disarankan digunakan sebagai sumber data analisis hanya-baca di NocoBase. Jangan menggunakannya sebagai sumber data untuk menulis tabel bisnis biasa, dan tidak disarankan mengonfigurasi operasi penambahan, pengeditan, atau penghapusan pada halaman.

Instalasi plugin

Plugin ini merupakan plugin komersial. Untuk metode aktivasi selengkapnya, lihat: Panduan aktivasi plugin komersial

Menambahkan sumber data

Di 「Manajemen sumber data」, klik 「Add new」, pilih ClickHouse, lalu isi informasi koneksi. 20260709211117

Konfigurasi koneksi umum adalah sebagai berikut:

KonfigurasiKeterangan
Data source nameNama identifikasi sumber data, yang digunakan untuk referensi dalam blok halaman, izin, alur kerja, dan API. Tidak dapat diubah setelah dibuat.
Data source display nameNama sumber data yang ditampilkan di antarmuka. Disarankan menggunakan nama yang mudah dipahami oleh pengguna bisnis, misalnya 「Database log ClickHouse」 atau 「Database metrik」.
Host / PortAlamat host ClickHouse dan port yang kompatibel dengan MySQL. Jangan isi port HTTP atau port TCP native.
DatabaseNama database ClickHouse yang akan dihubungkan.
Username / PasswordNama pengguna dan kata sandi untuk menghubungkan ke ClickHouse. NocoBase hanya dapat membaca objek yang boleh diakses oleh akun ini, dan tidak akan memberikan izin atau membaca objek pribadi akun lain.
Table prefixAwalan nama tabel. Setelah dikonfigurasi, NocoBase hanya membaca tabel data yang cocok dengan awalan ini dan membuat nama tabel tanpa awalan tersebut di NocoBase.
Use SSLApakah akan mengaktifkan SSL. Biasanya perlu diaktifkan saat menghubungkan ke ClickHouse Cloud atau lingkungan koneksi aman.
Enabled the data sourceApakah akan mengaktifkan sumber data ini. Setelah dinonaktifkan, konfigurasi sumber data tetap dipertahankan, tetapi blok halaman, izin, alur kerja, dan API tidak dapat lagi membaca datanya.
Tips

Plugin ClickHouse terhubung melalui protokol yang kompatibel dengan MySQL. Sebelum melakukan konfigurasi, pastikan layanan ClickHouse telah mengaktifkan port yang kompatibel dengan MySQL, dan jaringan, firewall, serta izin akun mengizinkan NocoBase mengaksesnya.

Cakupan koneksi

Halaman ClickHouse tidak menyediakan tabel pilihan 「Collections」. Cakupan koneksi terutama dikendalikan oleh Database, izin akun koneksi, dan Table prefix.

Jika terdapat banyak tabel di ClickHouse, disarankan menyiapkan database, akun, atau awalan nama tabel khusus untuk NocoBase, dan hanya mengekspos tabel yang perlu dilihat dan dianalisis oleh aplikasi saat ini.

Perhatian

Satu sumber data eksternal dapat menghubungkan maksimal 500 tabel data atau tampilan sekaligus. Jika terdapat banyak objek di ClickHouse, disarankan mempersempit cakupan terlebih dahulu melalui database, izin akun, atau Table prefix.

Sinkronisasi dan konfigurasi bidang

Struktur tabel ClickHouse eksternal dikelola dari sisi database. NocoBase tidak akan membuat bidang, mengubah tipe bidang, atau menghapus bidang nyata di ClickHouse eksternal.

Saat struktur tabel di ClickHouse berubah, Anda dapat menjalankan 「Sync from database」 di sumber data untuk membaca ulang metadata tabel dan bidang. Sinkronisasi akan memperbarui informasi tabel data, bidang, kunci utama, kunci unik, dan pemetaan tipe bidang yang tersimpan di NocoBase, tetapi tidak akan menghapus tabel atau data nyata di ClickHouse.

Setelah bidang disinkronkan, Anda dapat mengonfigurasi judul bidang, tipe bidang (Field type), dan komponen bidang (Field interface) di NocoBase. Jika perlu membuat bidang relasi NocoBase, metadata relasi juga disimpan di NocoBase dan tidak akan secara otomatis menambahkan bidang foreign key nyata ke tabel ClickHouse.

Pemetaan tipe bidang

NocoBase mengonversi tipe bidang ClickHouse ke gaya yang kompatibel dengan MySQL, lalu memetakannya ke Field type dan Field interface yang sesuai. Anda dapat menyesuaikan cara tampilan antarmuka dalam konfigurasi bidang.

Pemetaan umum adalah sebagai berikut:

Tipe bidang ClickHouseNocoBase Field typeField interface yang tersedia
Int8Int16Int32UInt8UInt16UInt32integerunixTimestampsortInteger、Sort、Unix timestamp、Select、Radio group。
Int64UInt64bigIntunixTimestampsortInteger、Sort、Unix timestamp、Created at、Updated at。
Float32Float64floatNumber、Percent。
DecimaldecimaldoubleNumber、Percent、Currency。
StringFixedStringtextstringInput、Textarea、Markdown、URL。
DateDate32dateOnlyDate。
DateTimeDateTime64datetimeNoTzdatetimeTzdateDate、Time、Created at、Updated at。
UUIDstringuuidInput、UUID。
BoolBooleanintegerbooleansortCheckbox、Switch、Integer。
ArrayjsonarrayJSON。
Nullable(...)Dipetakan berdasarkan tipe bidang internalBergantung pada tipe bidang internal.
LowCardinality(...)Dipetakan berdasarkan tipe bidang internalBergantung pada tipe bidang internal.
Perhatian

Sebagian tipe analitis atau tipe bertingkat di ClickHouse mungkin tidak dapat langsung dipetakan menjadi bidang bisnis biasa. Jika menemukan tipe bidang yang tidak didukung, Anda dapat terlebih dahulu membuat tampilan atau tabel kueri yang sesuai untuk ditampilkan di ClickHouse, lalu menghubungkannya ke NocoBase.

Kunci utama dan pengenal unik catatan

Kunci pengurutan dan kunci partisi ClickHouse tidak selalu sama dengan pengenal unik bisnis. Untuk tabel data yang digunakan dalam tampilan blok halaman, tetap disarankan menyiapkan bidang yang dapat mengidentifikasi catatan secara unik.

Jika yang dihubungkan adalah tabel atau tampilan tanpa bidang unik, Anda perlu mengatur 「Record unique key」 secara manual dalam konfigurasi tabel data. Jika tidak tersedia pengenal unik yang dapat digunakan, blok halaman mungkin tidak dapat menampilkan detail catatan dengan benar dan tidak cocok untuk mengonfigurasi operasi pengeditan atau penghapusan.

20260709211300 20260709211239

Tautan terkait