Arsitektur gudang data tradisional seperti Lambda dan Kappa menghadapi tiga tantangan utama: biaya pengembangan dan pemeliharaan tinggi akibat kerangka kerja batch dan streaming yang terpisah, inefisiensi penyimpanan karena salinan data ganda, serta masalah konsistensi dari logika dan skema yang tidak selaras di berbagai lapisan. Untuk mengatasi tantangan ini, Realtime Compute for Apache Flink memperkenalkan tabel materialized, yang secara otomatis menurunkan skema tabel berdasarkan kesegaran data (dari harian hingga setiap beberapa menit) dan pernyataan query untuk membuat pipeline data yang terus diperbarui. Fitur ini menyatukan logika pemrosesan batch dan aliran, menghilangkan salinan data redundan, serta memastikan logika pemrosesan data dan skema tabel yang konsisten dari ujung ke ujung, sehingga menyederhanakan pemeliharaan gudang data waktu nyata.
Konsep inti
Cara kerja tabel materialized
Saat membuat tabel materialized, Anda harus secara eksplisit mendefinisikan parameter FRESHNESS dan klausa AS <select_statement>. Mesin Flink secara otomatis menurunkan skema untuk tabel materialized berdasarkan hasil query, dan mendaftarkan skema tersebut dalam katalog. Ia juga menciptakan pekerjaan penyegaran streaming atau batch berdasarkan nilai FRESHNESS.
Asumsikan kesegaran tabel materialized C diatur menjadi 30 menit. Ketika sumbernya, tabel materialized A, diperbarui, Flink mencoba menyegarkan tabel materialized C sedekat mungkin dalam waktu 30 menit. Kesegaran tabel materialized hilirnya, seperti E dan F, harus merupakan kelipatan positif dari kesegaran tabel materialized C, seperti 60 atau 90 menit. Meningkatkan nilai kesegaran, seperti dari X menit menjadi Y jam (dan dibatasi hingga 1 hari), mengurangi konsumsi sumber daya dengan mengurangi frekuensi penyegaran.
Skenario
Dengan menyatukan pemrosesan batch dan aliran, tabel materialized memberikan keuntungan teknis dan biaya yang signifikan untuk kasus penggunaan berikut:
Mengisi ulang data historis.
Data akhir kadang-kadang bisa sebagian terdistorsi karena masalah seperti latensi transmisi data. Secara tradisional, memperbaiki data historis seringkali memerlukan pekerjaan batch. Tabel materialized menyediakan kemampuan penyegaran sesuai permintaan yang memungkinkan Anda memicu penyegaran secara manual untuk tabel materialized tertentu dan semua tabel materialized dependen hilir.
Menyatukan logika pemrosesan data dan skema tabel.
Dalam arsitektur Lambda, data historis dan waktu nyata disimpan di sistem terpisah, sehingga sulit untuk menyelaraskan logika pemrosesan mereka dan skema tabel yang menampung data. Dengan tabel materialized, hanya satu salinan data Anda yang disimpan, menghilangkan kebutuhan untuk join dan komputasi kompleks. Fitur ini tidak hanya meningkatkan efisiensi penyimpanan tetapi juga menyelaraskan logika pemrosesan batch dan aliran serta menyatukan skema tabel yang menampung data historis dan waktu nyata.
Membangun dasbor dinamis dengan kesegaran data yang dapat disesuaikan.
Dasbor dinamis seringkali memerlukan tingkat kesegaran data yang bervariasi di berbagai skenario bisnis. Tabel materialized memenuhi kebutuhan ini dengan memungkinkan Anda menyesuaikan interval penyegaran, dari harian hingga setiap beberapa detik, dengan memodifikasi nilai kesegaran. Pendekatan ini menghilangkan kebutuhan untuk membangun dan memelihara pipeline waktu nyata terpisah.
Gunakan tabel materialized
Referensi | Deskripsi |
Topik ini menjelaskan cara membuat tabel materialized, mengisi ulang data historis, mengubah kesegaran data untuk tabel materialized, dan melihat garis keturunan data dari tabel materialized. | |
Mulai menggunakan tabel materialized: Bangun danau data terintegrasi batch-aliran | Topik ini menjelaskan cara menggunakan tabel materialized dan tabel Apache Paimon untuk membangun danau data terintegrasi batch-aliran. Ini juga mencakup cara menyesuaikan kesegaran tabel materialized untuk beralih dari mode eksekusi batch ke mode streaming, memungkinkan pembaruan data waktu nyata. |
Referensi
Apache Paimon adalah platform penyimpanan danau terpusat yang memungkinkan Anda memproses data dalam mode batch dan streaming. Anda dapat menggunakan tabel Apache Paimon di Realtime Compute for Apache Flink untuk dengan cepat membangun danau data berdasarkan layanan seperti Object Storage Service (OSS). Untuk informasi lebih lanjut, lihat Gunakan Apache Paimon untuk membangun solusi danau data streaming.