All Products
Search
Document Center

DataWorks:Menggunakan tabel dinamis Hologres

Last Updated:Mar 14, 2026

Tabel dinamis Hologres adalah fitur canggih yang secara otomatis melakukan pembaruan data inkremental dan mempercepat kueri. Katalog data DataWorks menyediakan antarmuka visual intuitif untuk mengelola tabel dinamis Hologres. Anda dapat menggunakan DataWorks untuk membuat, mengonfigurasi, memantau, dan mengelola tabel dinamis tanpa menulis pernyataan Data Definition Language (DDL) yang kompleks, sehingga menyederhanakan pengembangan aplikasi data real-time dan near-real-time.

Batasan

Persiapan

Memulai cepat: Membuat tabel dinamis dengan refresh otomatis

Panduan memulai cepat ini menunjukkan cara membuat tabel dinamis non-partisi. Tabel tersebut secara otomatis dan inkremental mengagregasi data pesanan dari tabel sumber orders serta memastikan data diperbarui dalam waktu lima menit.

Langkah 1: Menyiapkan data

Sebelum memulai, siapkan tabel sumber di database Hologres Anda. Untuk mengaktifkan pembaruan inkremental, tabel sumber harus memiliki binary logging (binlog) yang diaktifkan. Jalankan pernyataan SQL berikut di node SQL Hologres DataWorks atau klien Hologres apa pun untuk membuat tabel pesanan bernama orders:

-- Membuat tabel sumber dan mengaktifkan Binlog untuk mendukung pembaruan inkremental
CREATE TABLE orders (
    order_id INT PRIMARY KEY,
    user_id INT,
    user_name TEXT,
    price FLOAT,
    order_time TIMESTAMPTZ
) WITH (
    binlog_level = 'replica', -- Kunci: Mengaktifkan Binlog
    binlog_ttl = '86400'      -- Periode retensi Binlog dalam detik, misalnya satu hari
);

-- Memasukkan beberapa data awal
INSERT INTO orders VALUES 
(1, 101, 'Alice', 99.9, NOW()),
(2, 102, 'Bob', 19.5, NOW()),
(3, 101, 'Alice', 25.0, NOW());

Langkah 2: Buka wizard pembuatan tabel dinamis

  1. Buka halaman Workspaces di konsol DataWorks. Di bilah navigasi atas, pilih wilayah yang diinginkan. Temukan ruang kerja yang sesuai dan pilih Shortcuts > Data Studio di kolom Actions.

  2. Di panel navigasi sebelah kiri, klik ikon image untuk membuka modul Data Catalog.

  3. Di area Data Catalog, temukan instans Hologres target, buka folder-folder tersebut, klik ikon image di sebelah Dynamic Table, lalu buka halaman pembuatan tabel dinamis.

    Catatan
    • Jika Anda menggunakan ruang kerja dalam mode standar, instans Development dan instans Production akan tercantum di bawah Data Catalog Hologres. Buat dan uji tabel dinamis Hologres terlebih dahulu di database development. Setelah Anda memastikan bahwa tabel tersebut berfungsi sesuai harapan, buatlah di lingkungan produksi.

    • Dalam ruang kerja yang menggunakan mode standar, tabel dinamis yang Anda buat di database development tidak disinkronkan secara otomatis ke database production. Untuk melakukan kueri dan menggunakan tabel-tabel tersebut di database production, Anda harus membuat tabel dinamis Hologres yang sama di database production.

Langkah 3: Menentukan logika kueri dan melakukan precompile (langkah kunci)

Setelah membuka halaman pembuatan tabel dinamis, masukkan logika kueri dan lakukan precompile.

  1. Masukkan informasi dasar:

    • Dynamic Table Name: Masukkan nama tabel unik, seperti dt_user_orders_agg.

    • Description: Masukkan tujuan tabel, misalnya "Statistik agregat pesanan berdasarkan pengguna".

  2. Tulis SQL pembangkit data: Di tab Data Generation SQL pada area Field Information, tulis kueri SELECT yang menentukan logika data tabel dinamis.

    Penting

    Masukkan hanya pernyataan SELECT itu sendiri. Jangan sertakan perintah DDL CREATE DYNAMIC TABLE. Sistem secara otomatis mengurai konfigurasi dan menampilkan pernyataan DDL lengkap di sebelah kanan.

    SELECT 
        user_id,
        user_name,
        COUNT(*) AS order_count,
        SUM(price) AS total_price
    FROM public.orders
    GROUP BY user_id, user_name;
  3. Prakompilasi kode:

    Setelah menulis kode, klik tombol Precompile di atas editor SQL. Precompilation adalah fitur inti yang berinteraksi secara real-time dengan engine Hologres untuk melakukan tugas-tugas berikut:

    • Validasi sintaks: Memeriksa apakah pernyataan SELECT Anda memenuhi standar SQL.

    • Menyimpulkan mode refresh: Menganalisis logika kueri dan properti tabel sumber untuk menentukan mode refresh yang didukung (otomatis, inkremental, atau penuh).

    • Mengurai field: Jika sintaks benar, sistem secara otomatis mengurai field output, tipe data, dan detail lain dari tabel dinamis.

    Umpan balik precompilation:

    • Berhasil: Sistem menunjukkan bahwa sintaks benar dan mencantumkan mode refresh yang didukung. Anda kemudian dapat melanjutkan konfigurasi.

    • Gagal: Jika SQL salah atau logika tidak memenuhi persyaratan untuk tabel dinamis, sistem memberikan pesan error yang jelas. Perbaiki SQL berdasarkan pesan tersebut dan lakukan precompile lagi.

  4. (Opsional) Lihat dan edit detail field:

    • Setelah precompilation berhasil, klik tab Field Details.

    • Di sini, Anda dapat melihat semua field, tipe data, dan properti non-null yang diurai oleh sistem. Anda juga dapat menambahkan komentar untuk setiap field di kolom Description guna meningkatkan keterbacaan metadata.

Anda tidak perlu mengonfigurasi partisi atau parameter lanjutan di sini. Untuk deskripsi parameter, lihat Lampiran: Deskripsi konfigurasi.

Langkah 4: Konfigurasi kebijakan refresh data

Setelah precompilation berhasil, Anda dapat mengonfigurasi pengaturan di panel Refresh Policy di sisi kanan halaman.

Catatan

Untuk informasi selengkapnya tentang parameter, lihat Mode dan sumber daya refresh Hologres.

  1. Basic Parameters:

    • Table Type: Karena tidak ada field partisi yang dipilih, sistem secara otomatis mengidentifikasi tabel sebagai Non-partitioned Table.

    • Refresh Policy: Pilih Incremental Refresh untuk mencapai sinkronisasi data dengan latensi rendah.

    • Refresh Trigger Method: Pilih Hologres Auto-refresh.

    • Automatically Refresh Data: Pertahankan nilai default, Yes.

    • Data Freshness: Atur menjadi 5 menit. Parameter ini menentukan latensi data maksimum. Sistem secara dinamis memicu refresh berdasarkan data masuk untuk memastikan latensi antara tabel dinamis dan tabel sumber selalu dalam rentang 5 menit.

    • Incremental Refresh Consumption Mode for Base Table: Pilih stream. Ini adalah mode konsumsi stream latensi rendah yang direkomendasikan.

    • Hologres Computing Resource: Pilih Serverless Resources. Ini mencegah tugas refresh menggunakan sumber daya instans berharga Anda dan mencapai isolasi sumber daya.

  2. Advanced Parameters (Opsional): Bagian ini digunakan untuk mengatur parameter GUC khusus. Biasanya Anda dapat mempertahankan pengaturan default. Untuk informasi selengkapnya, lihat Parameter GUC.

Langkah 5: Publikasikan

  1. Setelah memastikan semua konfigurasi benar, klik tombol Publish di bagian atas halaman.

  2. Pada kotak dialog konfirmasi yang muncul, klik Publish sekali lagi.

Anda telah berhasil membuat dan mempublikasikan tabel dinamis Hologres. Saat data baru dimasukkan atau diperbarui di tabel sumber orders, hasil agregasi di tabel dinamis dt_user_orders_agg akan diperbarui secara otomatis dalam waktu sekitar lima menit.

Contoh lanjutan: Membuat tabel dinamis berpartisi harian

Contoh ini menunjukkan cara membuat tabel dinamis berpartisi. Tabel tersebut mengagregasi pengguna baru setiap hari dari tabel pendaftaran pengguna dan secara otomatis membuat serta mengelola partisi.

Langkah 1: Menyiapkan data

Pertama, Anda memerlukan tabel sumber bernama users yang mencatat informasi pendaftaran pengguna. Tabel ini harus berisi field timestamp untuk partisi dan juga harus memiliki binlog yang diaktifkan.

-- Membuat tabel pendaftaran pengguna dan mengaktifkan Binlog
CREATE TABLE users (
    user_id INT PRIMARY KEY,
    user_name TEXT,
    region TEXT,
    registration_time TIMESTAMPTZ  -- Waktu pendaftaran pengguna, tipe TIMESTAMPTZ
) WITH (
    binlog_level = 'replica',
    binlog_ttl = '86400'
);

-- Memasukkan beberapa data uji. Ganti tanggal dengan timestamp data saat ini.
INSERT INTO users VALUES 
(1, 'Alice', 'CN-Hangzhou', '2026-02-27 10:00:00+08'),
(2, 'Bob', 'CN-Shanghai', '2026-02-27 14:30:00+08'),
(3, 'Charlie', 'CN-Beijing', (NOW() - INTERVAL '1 day')::TIMESTAMPTZ);

Langkah 2: Buka wizard pembuatan tabel dinamis

  1. Buka halaman Workspaces di konsol DataWorks. Di bilah navigasi atas, pilih wilayah yang diinginkan. Temukan ruang kerja yang sesuai dan pilih Shortcuts > Data Studio di kolom Actions.

  2. Di panel navigasi sebelah kiri, klik ikon image untuk membuka modul Data Catalog.

  3. Di area Data Catalog, temukan instans Hologres target, buka folder-folder tersebut, lalu klik ikon image di sebelah Dynamic Table untuk membuka halaman Create Dynamic Table.

Langkah 3: Menentukan logika kueri dan melakukan precompile

  1. Masukkan informasi dasar:

    • Dynamic Table Name: dwd_user_new_user_detail_di

    • Description: Statistik detail pengguna baru harian

  2. Tulis SQL pembangkit data:

    Tulis pernyataan SQL yang mengekstrak semua catatan pengguna dari tabel users. Anda tidak perlu secara manual memfilter berdasarkan waktu di klausa WHERE karena mekanisme partisi tabel dinamis menangani hal ini secara otomatis.

    SELECT 
        user_id,
        user_name,
        region,
        registration_time, -- Field waktu asli yang presisi dapat dipertahankan untuk kueri
        CAST(registration_time AS DATE) AS ds -- [Inti] Mengonversi timestamp ke tipe DATE untuk digunakan sebagai kunci partisi
    FROM public.users;
  3. Lakukan precompile kode: Klik tombol Precompile. Setelah precompilation berhasil, sistem mengurai informasi field.

Langkah 4: Pilih field partisi (langkah kunci)

Ini adalah langkah kunci untuk membuat tabel berpartisi.

  • Di area Partition Field Information, klik daftar drop-down Partition Field.

  • Pilih field baru ds sebagai field partisi.

Setelah memilih field partisi, DataWorks secara otomatis mengidentifikasi ini sebagai tabel berpartisi dan menampilkan item konfigurasi terkait partisi.

Langkah 5: Konfigurasi partisi dan kebijakan refresh

Catatan

Untuk informasi selengkapnya tentang parameter, lihat Properti partisi Hologres.

  1. Partition Configurations:

    • Partition Property: Secara otomatis ditampilkan sebagai Logical Partition.

    • Partition Format: Pilih yyyy-mm-dd. Format ini sesuai dengan format kunci partisi ds, yang bertipe DATE.

    • Partition Refresh Scope: Atur menjadi 7 day.

    • Partition Management > Partition Expiration: Atur menjadi 30 day.

  2. Refresh Policy Configurations:

    • Refresh Policy: Pilih Auto-refresh.

    • Refresh Trigger Method: Pilih Hologres Auto-refresh.

    • Data Freshness: Atur menjadi 10 minutes.

    • Hologres Computing Resource: Pilih Serverless Resources.

Langkah 6: Publikasikan

Klik tombol Publish di bagian atas halaman.

Langkah selanjutnya dan validasi

  1. Lihat partisi: Setelah tabel dipublikasikan, buka tabel dwd_user_new_user_detail_di. Anda akan melihat sub-tabel partisi yang dibuat berdasarkan tanggal, seperti 2026-02-27.

  2. Validasi data:

    • Buat node SQL Hologres dan masukkan data baru untuk hari ini ke tabel users:

      INSERT INTO users VALUES (4, 'David', 'CN-Shenzhen', '2026-02-27 18:00:00+08');
    • Tunggu sekitar 10 menit, lalu gunakan kunci partisi baru ds untuk menjalankan kueri yang lebih efisien:

      -- Metode kueri efisien: Filter langsung pada kunci partisi
      -- Untuk verifikasi langsung, Anda dapat merefresh tabel secara manual: REFRESH DYNAMIC TABLE dwd_user_new_user_detail_di PARTITION (ds = '2026-02-27');
      SELECT * FROM dwd_user_new_user_detail_di WHERE ds = '2026-02-27';

      Anda akan melihat bahwa pengguna baru 'David' telah berhasil ditambahkan ke partisi hari ini.

      image

Menampilkan, memantau, dan mengelola tabel dinamis

Tabel dinamis bersifat aktif, sehingga pemantauan status operasionalnya sangat penting.

  1. Buka halaman detail: Di daftar tabel dinamis di katalog data, klik tabel dt_user_orders_agg yang telah Anda buat.

  2. Lihat informasi statis

    • Details: Lihat informasi skema tabel, seperti daftar field, tipe data, dan primary key.

    • Basic Information: Tinjau konfigurasi inti tabel, seperti pemilik, logika refresh data (SQL), dan kebijakan refresh.

    • DDL: Lihat dan salin pernyataan DDL lengkap yang digunakan untuk membuat tabel dinamis. Ini berguna untuk migrasi atau replikasi.

  3. Pantau informasi output (halaman operasi dan pemeliharaan inti)

    Beralih ke tab Output Information. Ini adalah halaman utama untuk memantau status operasional tabel dinamis.

    • Tombol aksi:

      • Convert to Full Table: Mengubah secara permanen mode refresh tabel menjadi Full Refresh dan menghentikan refresh otomatis. Opsi ini hanya terlihat dalam mode refresh Auto atau Incremental.

      • Pause Refresh / Resume Refresh: Menghentikan atau melanjutkan sementara refresh otomatis oleh Hologres.

      • Manual Refresh: Memicu tugas refresh secara manual untuk segera memperbarui data.

    • Data Refresh in Progress: Jika tugas refresh sedang berjalan, informasi real-time-nya ditampilkan di sini, seperti PID, Query ID, status, dan durasi.

    • Output History: Mencatat riwayat setiap tugas refresh. Ini sangat berharga untuk troubleshooting.

      • Query ID: ID unik dari tugas refresh historis. Anda dapat menggunakannya untuk troubleshooting mendalam di Hologres.

      • Refresh Mode: Misalnya, Incremental Refresh.

      • Status: Status akhir tugas (Success/Failed).

      • Duration (s): Total waktu yang dibutuhkan oleh tugas.

      • Data Consumption Latency (s): (Hanya untuk mode inkremental) Mengukur latensi pemrosesan data tabel dinamis.

      • Computing Resources...: Mencatat sumber daya yang dikonsumsi oleh tugas, yang berguna untuk analisis biaya dan optimasi performa.

Memodifikasi dan menghapus tabel dinamis

  • Memodifikasi tabel dinamis: Temukan tabel dinamis di katalog data dan klik tombol Edit di pojok kanan atas halaman detail untuk membuka halaman edit. Sebagian besar item konfigurasi dapat dimodifikasi. Untuk informasi tentang parameter mana yang dapat diubah, lihat Alter dynamic table.

  • Menghapus tabel dinamis: Di daftar tabel dinamis di katalog data, klik kanan tabel target dan pilih Delete.

Lampiran: Deskripsi konfigurasi

1. Informasi dasar, informasi field, dan field partisi

  • Informasi Field (SQL): Menentukan kueri SELECT untuk sumber data tabel dinamis. Precompilation adalah langkah wajib.

  • Field Partisi:

    • Tidak dipilih: Membuat tabel non-partisi.

    • Pilih field bertipe waktu/tanggal: Membuat tabel berpartisi. Sistem secara otomatis beralih ke mode konfigurasi tabel berpartisi.

2. Konfigurasi refresh data (Inti)

Konfigurasi umum
  • Kebijakan Pembaruan

    • Auto-refresh: (Direkomendasikan) Hologres secara otomatis menentukan apakah akan menggunakan refresh inkremental atau penuh, menyeimbangkan performa dan kemudahan penggunaan.

    • Incremental Refresh: Memaksa hanya menggunakan refresh inkremental. Cocok untuk skenario yang membutuhkan kefresh-an data tinggi.

    • Full Refresh: Menghitung ulang seluruh data pada setiap refresh. Cocok untuk tabel sumber tanpa primary key atau Binlog, atau untuk logika kueri kompleks.

Metode pemicu refresh

Saat ini, hanya Hologres Auto-refresh yang didukung.

  • Automatically Refresh Data: Saklar utama.

  • Data Freshness: Menentukan latensi data maksimum yang dapat diterima. Ini adalah pemicu inti untuk refresh otomatis.

  • Incremental Refresh Consumption Mode for Base Table: Menentukan cara Binlog dikonsumsi. stream adalah mode default dan direkomendasikan.

  • Hologres Computing Resource:

    • Serverless Resources: (Direkomendasikan) Menggunakan sumber daya Serverless Hologres untuk melakukan refresh. Ini tidak menggunakan sumber daya komputasi instans sendiri dan mencapai isolasi sumber daya.

    • This Instance's Resources (local): Menggunakan sumber daya komputasi instans sendiri. Jika instans bertipe gudang virtual (V4.0+), Anda dapat memilih kelompok komputasi tertentu.

3. Konfigurasi partisi (Hanya terlihat untuk tabel berpartisi)

Saat Anda memilih field partisi, item konfigurasi berikut ditambahkan. Semua tabel dinamis baru merupakan partisi logis.

  • Format Partisi: (Wajib) Menentukan cara menghasilkan partisi berdasarkan nilai field partisi. Misalnya, jika tipe field adalah TIMESTAMPTZ dan format diatur ke yyyy-mm-dd, partisi harian akan dibuat.

  • Cakupan Refresh Partisi: Menentukan rentang partisi aktif untuk refresh otomatis. Misalnya, jika diatur ke "7 hari terakhir", Hologres hanya akan merefresh partisi dari tujuh hari terakhir. Partisi yang lebih lama tidak lagi direfresh secara otomatis, sehingga menghemat sumber daya.

  • Manajemen Partisi (secara default terlipat):

    • Kedaluwarsa Partisi: Mengatur siklus hidup (TTL) untuk partisi. Partisi yang kedaluwarsa akan dihapus secara otomatis.

    • Periode retensi data panas untuk partisi: Bersama dengan penyimpanan berjenjang untuk data panas dan dingin, ini menentukan durasi data partisi disimpan di penyimpanan panas (SSD).

4. Pengaturan lanjutan (Properti tabel)

Ini adalah properti fisik yang diterapkan pada tabel dinamis itu sendiri, mirip dengan pengaturan untuk tabel Hologres standar.

Parameter

Deskripsi

Storage Mode

Hologres mendukung tiga mode penyimpanan: Column Store, Row Store, dan Row-Column Hybrid Store. Mode default adalah Column Store. Untuk informasi selengkapnya, lihat Format penyimpanan tabel: column store, row store, dan row-column hybrid store.

  • Penyimpanan kolom cocok untuk kueri kompleks dalam berbagai skenario OLAP.

  • Penyimpanan baris cocok untuk skenario kueri key-value (KV) berbasis primary key.

  • Penyimpanan hibrida baris-kolom cocok untuk skenario di mana penyimpanan kolom dan baris keduanya dapat digunakan.

Table Group

Pilih nama Table Group yang dihasilkan saat Anda membuat tabel internal di sumber data Hologres. Untuk informasi selengkapnya, lihat Mengelola kelompok tabel.

Storage Policy

Hologres mendukung dua kebijakan penyimpanan: Penyimpanan Standar (Hot Storage) dan penyimpanan Akses Jarang (Cold Storage).

  • Penyimpanan panas, juga dikenal sebagai penyimpanan panas all-SSD, adalah kebijakan penyimpanan default di Hologres. Ini memenuhi persyaratan akses data berlatensi rendah dan berkinerja-tinggi. Untuk sebagian besar skenario, penyimpanan Standar adalah pilihan paling efektif dan hemat biaya.

  • Penyimpanan dingin, juga dikenal sebagai penyimpanan dingin all-HDD, memenuhi kebutuhan penyimpanan data yang jarang diakses dengan biaya rendah. Cocok untuk dataset sangat besar yang tidak sensitif terhadap latensi atau tidak sering diakses.

Untuk informasi selengkapnya, lihat Penyimpanan Berjenjang Data Panas dan Dingin.

Table Data Lifecycle

Atur waktu maksimum masa hidup data kustom untuk tabel dinamis.

Binlog

Pilih untuk mengaktifkan (replica) atau menonaktifkan (none) langganan ke log biner Hologres. Secara default, fitur ini dinonaktifkan. Untuk informasi selengkapnya, lihat Berlangganan Binlog Hologres.

Binlog Lifecycle

Anda dapat mengatur siklus hidup penyimpanan maksimum untuk log biner Hologres hanya setelah mengaktifkan langganan dengan mengatur Binlog ke replica. Untuk informasi selengkapnya, lihat Berlangganan Binlog Hologres.

Field Properties

Atur properti field. Ini termasuk memilih Distribution Column, Segment Column, Clustering Column, Bitmap Column, dan Dictionary Encoding Column untuk Field Name. Konfigurasikan properti berdasarkan deskripsi di halaman. Untuk informasi selengkapnya, lihat Mengelola tabel internal.