All Products
Search
Document Center

Realtime Compute for Apache Flink:Data bucketing

Last Updated:Aug 11, 2026

Topik ini menjelaskan kebijakan bucketing untuk tabel Fluss.

Bucketing

Bucketing adalah teknik distribusi data yang membagi data tabel menjadi beberapa unit dan mendistribusikannya ke berbagai node, sehingga memungkinkan penyimpanan dan komputasi data berkinerja tinggi. Saat membuat tabel Fluss, Anda dapat mengatur properti 'bucket.num' untuk menentukan jumlah bucket. Untuk informasi selengkapnya, lihat Manage tables.

Fluss mendukung tiga kebijakan bucketing: hash bucketing, sticky bucketing, dan round-robin bucketing.

Catatan
  • Tabel primary-key hanya dapat menggunakan hash bucketing.

  • Tabel log secara default menggunakan sticky bucketing, tetapi juga dapat menggunakan dua kebijakan bucketing lainnya.

Hash bucketing

Hash bucketing mendistribusikan data secara merata ke beberapa node untuk memanfaatkan keunggulan komputasi terdistribusi. Kebijakan ini menawarkan skalabilitas tinggi dengan mendukung penyesuaian dinamis terhadap jumlah bucket atau ukuran kluster, sehingga ideal untuk skenario pemrosesan data dalam volume besar.

Untuk menggunakan kebijakan ini, atur properti 'bucket.key' = 'col1, col2' pada tabel untuk menentukan kunci bucketing. Secara default, tabel primary-key menggunakan primary key—tidak termasuk partition key—sebagai kunci bucketing.

Sticky bucketing

Sticky bucketing mengurangi latensi penulisan dengan menulis data ke tabel log dalam batch yang lebih besar. Setiap kali batch data dikirim, kebijakan ini secara otomatis mengganti bucket tujuan. Seiring waktu, catatan data didistribusikan secara bertahap dan merata ke semua bucket. Sticky bucketing merupakan kebijakan default untuk tabel log. Tabel log menggunakan format data Apache Arrow yang mendasarinya, yang sangat efisien dalam memproses batch data besar, dan kebijakan ini memaksimalkan keunggulan performa tersebut.

Untuk mengaktifkan kebijakan ini, atur properti 'client.writer.bucket.no-key-assigner'='sticky'. Kebijakan ini tidak didukung untuk tabel primary-key.

Round-robin bucketing

Round-robin bucketing adalah kebijakan sederhana yang memilih bucket secara bergilir sebelum setiap catatan ditulis. Kebijakan ini cocok untuk skenario di mana data didistribusikan secara merata dan tidak memiliki kesenjangan data yang signifikan.

Untuk mengaktifkan kebijakan ini, atur properti 'client.writer.bucket.no-key-assigner'='round_robin'. Kebijakan ini tidak didukung untuk tabel primary-key.