All Products
Search
Document Center

Hologres:Pengenalan tabel dinamis

Last Updated:Oct 10, 2026

Hologres Dynamic Table adalah arsitektur pemrosesan data deklaratif yang secara otomatis memproses dan menyimpan hasil agregasi dari satu atau beberapa tabel dasar. Fitur ini mencakup kebijakan penyegaran data bawaan yang dapat dikonfigurasi, memungkinkan penerusan data otomatis dari tabel dasar ke Dynamic Table sehingga memenuhi kebutuhan pengembangan terpadu, penerusan data otomatis, dan pemrosesan data yang tepat waktu.

Kapan menggunakan Dynamic Table

Dynamic Table cocok digunakan ketika:

  • Anda ingin mengotomatiskan transformasi data tanpa menulis kode penjadwalan kustom.

  • Anda ingin menghindari pelacakan dependensi data dan pengelolaan jadwal refresh secara manual.

  • Anda perlu merangkai beberapa tabel untuk transformasi data dalam suatu pipeline—misalnya, membangun lapisan data warehouse detail (DWD) → data warehouse service (DWS) → application data service (ADS) secara otomatis.

  • Workload Anda tidak memerlukan kesegaran data real-time yang ketat, dan ketepatan waktu tingkat menit atau jam sudah cukup.

  • Anda ingin mengonsolidasikan arsitektur Lambda ke dalam satu mesin dengan antarmuka SQL terpadu.

Keunggulan

  • Arsitektur gudang data yang disederhanakan: Mode refresh penuh dan inkremental mendukung transformasi data offline maupun near-real-time. Berdasarkan penyimpanan terpadu Hologres, Dynamic Table langsung melayani berbagai skenario aplikasi—kueri online analytical processing (OLAP), layanan online, dan workload AI—menggunakan satu mesin, satu komputasi, dan satu pernyataan SQL. Pendekatan ini menggantikan arsitektur Lambda serta mengurangi biaya pengembangan dan operasi serta pemeliharaan (O&M).

  • Automatic data warehouse layering: Dynamic Table secara otomatis memicu refresh berdasarkan kesegaran data tabel dasar, memungkinkan penerusan data otomatis dari lapisan operation data store (ODS) → DWD → DWS → ADS.

  • Efisiensi ETL yang lebih baik: Refresh inkremental hanya memproses data baru dari tabel dasar pada setiap eksekusi, sehingga mengurangi volume data yang dihitung per siklus extract, transform, and load (ETL). Resource tidak perlu aktif terus-menerus seperti pada komputasi stream. Refresh otomatis yang dipicu oleh kesegaran data mengurangi biaya komputasi.

  • Biaya pengembangan dan O&M yang lebih rendah: Semua mode refresh menggunakan antarmuka SQL terpadu. Dynamic Table secara otomatis mengelola tugas refresh dan dependensi hierarkis antar-lapisan, menyederhanakan alur kerja pengembangan dan O&M yang kompleks.

Konsep utama

  • Tabel dasar: Sumber data untuk Dynamic Table. Dapat berupa satu tabel internal atau eksternal, atau penggabungan beberapa tabel. Jenis tabel dasar yang didukung bervariasi tergantung mode refresh. Untuk informasi selengkapnya, lihat Fitur dan batasan Dynamic Table yang didukung.

  • Kueri: Kueri yang ditentukan saat membuat Dynamic Table. Kueri ini mendefinisikan cara data tabel dasar diproses, mirip dengan proses ETL. Jenis kueri yang didukung bervariasi tergantung mode refresh. Untuk informasi selengkapnya, lihat Fitur dan batasan Dynamic Table yang didukung.

  • Refresh: Ketika data di tabel dasar berubah, Dynamic Table harus direfresh agar mencerminkan perubahan tersebut. Dynamic Table secara otomatis menjalankan tugas refresh di latar belakang berdasarkan waktu mulai dan interval refresh yang dikonfigurasi. Untuk informasi selengkapnya tentang pemantauan dan pengelolaan tugas refresh, lihat Mengelola tugas refresh Dynamic Table.

Cara kerja

Data dari tabel dasar ditulis ke Dynamic Table melalui proses refresh, mengikuti alur pemrosesan data yang didefinisikan oleh kueri Dynamic Table. Bagian berikut menjelaskan prinsip teknis di balik Dynamic Table, mencakup mode refresh, resource komputasi, penyimpanan data, dan indeks tabel.

Mode refresh

Dynamic Table mendukung dua mode refresh: penuh dan inkremental. Prinsip teknis yang mendasarinya berbeda tergantung mode refresh yang dikonfigurasi.

Full refresh

Full refresh memproses ulang seluruh data pada setiap eksekusi dan menimpa Dynamic Table dengan hasil lengkap yang dihitung dari tabel dasar, mirip dengan operasi INSERT OVERWRITE. Proses ini dapat menghasilkan volume data Binlog yang besar dan menyebabkan overhead penyimpanan tambahan yang signifikan. Untuk informasi selengkapnya tentang batasan dan cara menonaktifkan Binlog, lihat INSERT OVERWRITE.

Incremental refresh

Incremental refresh hanya membaca data baru dari tabel dasar pada setiap eksekusi. Fitur ini menghitung hasil akhir berdasarkan status agregasi antara dan data inkremental, lalu memperbarui Dynamic Table. Dibandingkan full refresh, incremental refresh memproses lebih sedikit data per eksekusi, sehingga meningkatkan ketepatan waktu sekaligus mengurangi penggunaan resource komputasi.

Prinsip teknis

Saat Anda membuat Dynamic Table dengan incremental refresh, sistem membaca data inkremental dari tabel dasar menggunakan metode Stream atau Binlog. Sistem kemudian membuat tabel status berorientasi kolom di latar belakang, yang menyimpan status agregasi antara dari kueri. Mesin DPI mengoptimalkan encoding dan penyimpanan status antara ini untuk mempercepat pembacaan dan pembaruan. Data inkremental diagregasi dalam mikro-batch di memori dan digabungkan dengan tabel status. Hasil agregasi terbaru kemudian ditulis ke Dynamic Table menggunakan metode BulkLoad.

Pemilihan antara Stream dan Binlog

Metode Prinsip Kinerja baca Catatan
Stream (direkomendasikan) Mendeteksi perubahan data di tingkat file untuk menghitung data inkremental tabel dasar. Lebih dari 10x lebih tinggi dibanding Binlog. Lebih mudah digunakan. Tidak mencatat perubahan inkremental secara terpisah—tidak ada overhead penyimpanan tambahan dan tidak memerlukan manajemen siklus hidup log biner. Tidak mendukung tabel berorientasi baris sebagai tabel dasar.
Binlog Logging biner mencatat perubahan Data Manipulation Language (DML) pada tabel dasar dan menyimpannya sebagai log biner di latar belakang. Sistem membaca log biner untuk mendeteksi perubahan data. Lebih rendah. Menimbulkan overhead penyimpanan tambahan. Memerlukan manajemen siklus hidup penyimpanan log biner (TTL); jika tidak, penggunaan penyimpanan akan terus bertambah seiring perubahan data.

Catatan penggunaan

  • Terdapat batasan tertentu pada tabel dasar yang didukung oleh incremental refresh. Untuk informasi selengkapnya, lihat Fitur dan batasan Dynamic Table yang didukung.

  • Tabel status bawaan untuk incremental refresh menempati sebagian storage space. Sistem menetapkan TTL untuk membersihkan data secara berkala. Gunakan fungsi yang disediakan untuk melihat ukuran penyimpanan tabel status. Untuk informasi selengkapnya, lihat Mengelola tabel status.

Pilih mode refresh

Gunakan kriteria berikut untuk memilih mode refresh:

Kondisi Mode yang direkomendasikan
Kueri menggunakan operator yang didukung dan tabel dasar bukan berorientasi baris Incremental
Persentase besar data berubah per refresh, atau kueri mencakup operator yang tidak didukung Full
Pemuatan awal atau memastikan konsistensi data lintas lapisan Full (sekali saja)

Resource komputasi

Tugas refresh dapat menggunakan resource dari instans saat ini atau resource Serverless:

  • Resource Serverless (default): Di Hologres V3.1 dan versi lebih baru, Dynamic Table baru menggunakan resource Serverless secara default. Untuk kueri kompleks atau volume data besar, resource Serverless meningkatkan stabilitas refresh dan menghindari resource contention antar-tugas dalam instans. Resource komputasi untuk satu tugas refresh dapat disesuaikan secara independen.

  • Resource instans saat ini: Tugas refresh berbagi resource dengan tugas lain dalam instans, yang dapat menyebabkan resource contention selama jam sibuk.

Penyimpanan data

Penyimpanan data Dynamic Table sama dengan tabel standar, menggunakan mode hot storage secara default. Untuk mengurangi biaya penyimpanan, pindahkan data yang jarang dikueri ke cold storage.

Indeks tabel

Mengkueri Dynamic Table secara langsung setara dengan mengkueri hasil agregasi, yang secara signifikan meningkatkan kinerja kueri. Seperti tabel standar, Dynamic Table mendukung indeks tabel seperti row store atau column store, Distribution Key, dan Clustering Key. Mesin DPI melakukan inferensi indeks yang sesuai berdasarkan kueri Dynamic Table. Tetapkan indeks tambahan untuk lebih meningkatkan kinerja kueri.

image

Perbandingan dengan materialized view

Dynamic Table vs. materialized view real-time Hologres

Hologres memperkenalkan materialized view yang dikelola SQL di V1.3. Dynamic Table memperluas kemampuan ini secara signifikan.

Fitur Hologres Dynamic Table Materialized view real-time Hologres
Jenis tabel dasar Tabel internal; Tabel eksternal (MaxCompute, Paimon, OSS); Dynamic Table; Tampilan Satu tabel internal
Operasi tabel dasar Write, Update, Delete Penulisan append-only
Prinsip refresh Refresh asinkron (penuh atau inkremental) Sinkron
Ketepatan waktu refresh Tingkat menit atau jam Real-time
Jenis kueri Agregasi tabel tunggal; Penggabungan multi-tabel; JOIN tabel dimensi; OLAP kompleks (fungsi jendela, CTE, RB, dll.)
Catatan

Jenis kueri yang didukung bervariasi tergantung mode refresh. Untuk informasi selengkapnya, lihat Fitur dan batasan Dynamic Table yang didukung.

Dukungan operator terbatas (fungsi AGG, RB, dll.)
Mode kueri Kueri Dynamic Table secara langsung Kueri materialized view secara langsung; Penulisan ulang kueri

Dynamic Table vs. materialized view asinkron

Platform lain menawarkan fitur serupa dengan Dynamic Table, seperti materialized view asinkron di produk OLAP dan Snowflake Dynamic Table.

Fitur Hologres Dynamic Table Materialized view asinkron produk OLAP Snowflake Dynamic Table
Jenis tabel dasar Tabel internal; Tabel eksternal (MaxCompute, Paimon, OSS); Dynamic Table; Tampilan
Catatan

Jenis kueri yang didukung bervariasi tergantung mode refresh. Untuk informasi selengkapnya, lihat Fitur dan batasan Dynamic Table yang didukung.

Tabel internal; Tabel eksternal (Hive, Hudi, Iceberg, dll.); Materialized view; Tampilan Tabel internal; Dynamic Table; Tampilan
Mode refresh Penuh; Inkremental Penuh; Refresh berdasarkan partisi atau rentang waktu tertentu Penuh; Inkremental
Ketepatan waktu refresh Tingkat menit atau jam Tingkat jam Tingkat jam atau menit
Jenis kueri Agregasi tabel tunggal; Penggabungan multi-tabel; JOIN tabel dimensi; OLAP kompleks (fungsi jendela, CTE, RB, dll.) Agregasi tabel tunggal; Penggabungan multi-tabel; JOIN tabel dimensi; OLAP kompleks (fungsi jendela, CTE, dll.) Agregasi tabel tunggal; Penggabungan multi-tabel; JOIN tabel dimensi; OLAP kompleks (fungsi jendela, CTE, dll.)
Mode kueri Kueri Dynamic Table secara langsung Kueri materialized view secara langsung; Penulisan ulang kueri Kueri Dynamic Table secara langsung
Pemantauan/O&M Antarmuka visualisasi DataWorks dan HoloWeb; Metrik pemantauan lengkap Metrik pemantauan lengkap Antarmuka visualisasi

Kasus penggunaan

Dynamic Table secara otomatis menyelesaikan transformasi dan penyimpanan data, mendukung percepatan data sekaligus meningkatkan ketepatan waktu bisnis.

Peningkatan arsitektur Lambda

Arsitektur Lambda menggunakan beberapa komponen produk untuk memenuhi persyaratan ketepatan waktu yang berbeda, menghasilkan arsitektur redundan, definisi data tidak konsisten, pemeliharaan sulit, dan redundansi penyimpanan. Dynamic Table mendukung transformasi data batch dan pemrosesan near-real-time. Dikombinasikan dengan penyimpanan terpadu Hologres—yang mendukung kueri OLAP dan kueri titik key-value (KV)—fitur ini mencakup berbagai skenario aplikasi dalam satu produk, menyederhanakan arsitektur, serta mengurangi kompleksitas pengembangan dan biaya penyimpanan.

image

Pemrosesan data near-real-time

Untuk tabel dasar besar yang memerlukan pemrosesan ETL kompleks, pelapisan gudang data merupakan pendekatan standar. Dynamic Table memiliki pemrosesan data otomatis bawaan, sehingga mempermudah penerapan pelapisan di Hologres.

Bangun lapisan DWD → DWS → ADS di Hologres menggunakan Dynamic Table:

  • Gunakan incremental refresh antar-lapisan. Ini memastikan lebih sedikit data diproses di setiap lapisan, mengurangi perhitungan berulang, dan meningkatkan kecepatan sinkronisasi. Kirim tugas refresh ke Serverless Computing untuk lebih meningkatkan ketepatan waktu dan stabilitas.

  • Lakukan full refresh sekali saja untuk memastikan konsistensi data lintas lapisan. Kirim juga tugas full refresh ke Serverless Computing.

  • Setiap lapisan dapat dikueri langsung di Hologres, memberikan pelapisan gudang data yang jelas dengan visibilitas dan kemampuan pakai ulang di setiap tingkat.

image

Akselerasi lakehouse

Tabel dasar Dynamic Table dapat berasal dari tabel Hologres, gudang data seperti MaxCompute, atau data lake seperti OSS dan Paimon. Refresh penuh atau inkremental pada data ini mendukung berbagai kebutuhan kueri dan eksplorasi dengan persyaratan ketepatan waktu yang berbeda.

  • Kueri laporan periodik: Untuk skenario pengamatan periodik dengan volume data kecil atau kueri sederhana, gunakan full atau incremental refresh. Refresh secara periodik hasil agregasi dan analisis dari data lakehouse ke Dynamic Table. Lapisan aplikasi mengkueri Dynamic Table secara langsung untuk mengambil hasil yang telah dihitung sebelumnya, mempercepat kueri laporan.

  • Dasbor dan laporan real-time: Untuk skenario dengan persyaratan ketepatan waktu lebih tinggi, gunakan incremental refresh. Refresh hasil agregasi dan analisis dari Paimon atau data real-time ke Dynamic Table, memungkinkan analisis near-real-time.

image

Menggantikan penjadwalan periodik offline

Dalam skenario pemrosesan offline khas, volume data besar dan siklus komputasi panjang. Pendekatan umum menjalankan pemrosesan T+H (misalnya, setiap 30 menit) dari DWD ke DWS ke ADS, ditambah pipeline offline terpisah T+1 untuk memproses data beberapa hari terakhir demi akurasi. Hal ini menghasilkan komputasi redundan, pemborosan resource, dan duplikasi data. Tugas terjadwal juga dapat memblokir pekerjaan downstream jika gagal selesai tepat waktu.

Dengan Dynamic Table, gunakan incremental refresh T+H untuk setiap lapisan dari DWD ke DWS ke ADS. Beberapa pekerjaan digabung menjadi satu pekerjaan komputasi inkremental. Dynamic Table menangani penjadwalan secara otomatis, menghilangkan kebutuhan untuk memelihara pekerjaan penjadwalan eksternal. Hanya data inkremental yang dihitung setiap kali, sehingga menghilangkan komputasi redundan, mempercepat perhitungan, mencegah backlog tugas, dan secara signifikan mengurangi penggunaan resource komputasi.

image

Langkah selanjutnya