All Products
Search
Document Center

Realtime Compute for Apache Flink:Penyimpanan backend status

Last Updated:Mar 07, 2026

Topik ini menjelaskan parameter tuning untuk backend status tingkat enterprise, GeminiStateBackend.

Informasi latar belakang

Pada sebagian besar skenario, GeminiStateBackend menggunakan fitur tuning adaptifnya untuk menyesuaikan parameter secara otomatis sehingga Anda tidak perlu mengonfigurasinya secara manual. Cukup sesuaikan beberapa konfigurasi dasar sesuai dengan skenario bisnis Anda. Untuk informasi selengkapnya, lihat Konfigurasi dasar. Pada skenario tertentu, Anda dapat mengaktifkan konfigurasi khusus untuk tuning yang ditargetkan, seperti berikut:

  • Untuk menyeimbangkan penggunaan memori dan performa, gunakan konfigurasi memori. Untuk informasi selengkapnya, lihat Konfigurasi memori.

  • Jika ruang disk lokal habis, gunakan konfigurasi pemisahan komputasi-penyimpanan (compute-storage separation). Untuk informasi selengkapnya, lihat Konfigurasi pemisahan komputasi-penyimpanan.

  • Jika terjadi bottleneck performa pada operator Join, gunakan konfigurasi pemisahan key-value. Untuk informasi selengkapnya, lihat Konfigurasi pemisahan key-value.

Catatan

Untuk ikhtisar backend status tingkat enterprise dan metode konfigurasinya, lihat Pengenalan backend status tingkat enterprise dan Setel parameter terkait State.

Konfigurasi dasar

Parameter

Deskripsi

Tipe data

Nilai default

Catatan

table.exec.state.ttl

Waktu hidup (TTL) untuk status pekerjaan SQL.

Long

  • Ververica Runtime (VVR) 4.0.12 dan versi lebih baru: 1,5 hari.

  • Versi VVR sebelum 4.0.12: kosong, artinya status tidak kedaluwarsa.

Unitnya adalah milidetik. Misalnya, nilai 129600000 berarti TTL-nya adalah 1,5 hari. Parameter ini tidak dapat digunakan bersamaan dengan state.backend.gemini.ttl.ms.

Catatan

Atur nilai yang pendek sesuai kebutuhan.

state.backend.gemini.ttl.ms

TTL untuk status pekerjaan DataStream atau Python.

Long

(tidak ada)

Unitnya adalah milidetik. Misalnya, nilai 129600000 berarti TTL-nya adalah 1,5 hari. Parameter ini tidak dapat digunakan bersamaan dengan table.exec.state.ttl.

Catatan

Atur nilai yang pendek sesuai kebutuhan.

state.backend.gemini.savepoint.external-sort.local-storage.enabled

Menentukan apakah data temporary yang dihasilkan selama snapshot pekerjaan standar disimpan di disk lokal.

Boolean

false

Nilai yang valid:

  • false (default): Data temporary disimpan pada sistem file terdistribusi (DFS).

  • true: Data temporary disimpan di disk lokal. Ini mengurangi interaksi dengan DFS dan mempercepat pembuatan snapshot. Jika disk lokal Anda memiliki cukup ruang untuk data temporary (penggunaan disk di bawah 30%), atur parameter ini ke true.

Catatan
  • Parameter ini hanya didukung di VVR 4.0 dan versi lebih baru.

  • Jika pembuatan snapshot standar lambat, pertimbangkan untuk mengaktifkan parameter ini.

Konfigurasi memori

Catatan

Parameter konfigurasi memori berikut didukung di VVR 4.0 dan versi lebih baru.

Parameter

Deskripsi

Tipe data

Nilai default

Catatan

state.backend.gemini.memory.managed

Menentukan apakah GeminiStateBackend secara otomatis mengalokasikan memori berdasarkan managed memory.

Boolean

true

Nilai yang valid:

  • true: Sistem secara otomatis menghitung memori untuk setiap backend berdasarkan managed memory dan jumlah slot tugas.

  • false: Ukuran memori untuk setiap backend diatur ke jumlah nilai parameter state.backend.gemini.total.writebuffer.size dan state.backend.gemini.offheap.size.

    Untuk menyeimbangkan resource memori dan performa, atur parameter ini ke false dan konfigurasikan ukuran WriteBuffer dan Offheap secara terpisah.

Catatan
  • Pertahankan nilai default.

  • Nilai default adalah true untuk VVR 4.0.12 dan versi lebih baru, dan false untuk versi sebelum VVR 4.0.12.

state.backend.gemini.total.writebuffer.size

Total ukuran memori yang digunakan oleh WriteBuffer.

String

128 MB

Parameter ini hanya berlaku jika state.backend.gemini.memory.managed diatur ke false. Jika tidak, total ukuran memori untuk WriteBuffer dihitung secara otomatis berdasarkan managed memory.

Saat mengonfigurasi parameter ini, Anda harus menambahkan akhiran unit. Unit yang valid adalah B, KB, MB, dan GB.

Catatan
  • Unit tidak case-sensitive.

  • Diperbolehkan adanya spasi antara angka dan unit.

state.backend.gemini.offheap.size

Ukuran memori off-heap yang digunakan oleh GeminiStateBackend.

Catatan

Memori off-heap yang digunakan oleh Gemini ini tidak termasuk bagian yang digunakan oleh WriteBuffer.

String

(tidak ada)

Parameter ini hanya berlaku jika state.backend.gemini.memory.managed diatur ke false. Jika tidak, ukuran memori off-heap yang digunakan oleh GeminiStateBackend dihitung secara otomatis berdasarkan managed memory.

Saat mengonfigurasi parameter ini, Anda harus menambahkan akhiran unit. Unit yang valid adalah B, KB, MB, dan GB.

Catatan
  • Secara default, parameter ini tidak dikonfigurasi.

  • Unit tidak case-sensitive.

  • Diperbolehkan adanya spasi antara angka dan unit.

Catatan

Konfigurasi dasar untuk Checkpoint dan StateBackend di Apache Flink juga berlaku untuk GeminiStateBackend. Untuk informasi selengkapnya, lihat Checkpoints and State Backends.

Konfigurasi pemisahan komputasi-penyimpanan

Catatan

Parameter konfigurasi pemisahan komputasi-penyimpanan berikut didukung di VVR 4.0.11 dan versi lebih baru.

Parameter

Deskripsi

Tipe data

Nilai default

Catatan

state.backend.gemini.file.cache.type

Mode pemisahan komputasi-penyimpanan.

String

  • VVR 4.0.11: INFINITE

  • VVR 4.0.12 dan versi lebih baru: LIMITED

Nilai yang valid:

  • INFINITE: Menonaktifkan pemisahan komputasi-penyimpanan. Data status hanya disimpan secara lokal.

  • LIMITED: Data status pertama kali disimpan secara lokal. Ketika batas disk lokal terlampaui, data status disimpan pada DFS.

    Jika ruang disk lokal Anda habis karena data status terlalu besar, atur parameter ini ke LIMITED. Selain itu, konfigurasikan parameter state.backend.gemini.file.cache.preserved-space berdasarkan batas disk lokal Anda.

    Catatan

    Nilai-nilai tersebut case-sensitive.

state.backend.gemini.file.cache.preserved-space

Ruang disk tersisa yang tersedia untuk data status pada satu TaskManager.

String

2 GB

Ketika ruang bebas aktual kurang dari nilai ini, GeminiStateBackend menyimpan data status pada DFS untuk mengatasi keterbatasan penyimpanan lokal.

Saat mengonfigurasi parameter ini, Anda harus menambahkan akhiran unit. Unit yang valid adalah B, KB, MB, dan GB.

Catatan
  • Unit tidak case-sensitive.

  • Diperbolehkan adanya spasi antara angka dan unit.

Catatan

Saat Anda menggunakan Object Storage Service (OSS) sebagai sistem file terdistribusi, kit pengembangan perangkat lunak (SDK) OSS Client menulis seluruh file ke disk lokal sebelum mengunggahnya. Hal ini dapat menyebabkan penggunaan ruang disk yang tidak terduga. Misalnya, saat Flink membuat savepoint, satu StateBackend menghasilkan satu file besar yang tidak terkompresi secara lokal. Dalam skenario ini, pemisahan komputasi-penyimpanan tidak efektif. Sebagai alternatif, Anda dapat meningkatkan konkurensi untuk mengurangi ukuran status pada satu node.

Konfigurasi pemisahan key-value

Catatan

Parameter konfigurasi pemisahan key-value berikut didukung di VVR 4.0.12 dan versi lebih baru.

Parameter

Deskripsi

Tipe data

Nilai default

Catatan

state.backend.gemini.kv.separate.mode

Mode pemisahan key-value.

String

  • VVR 4.0.12 dan versi 4.0.x berikutnya: DISABLE

  • VVR 6.0.1 dan versi lebih baru: SPECIFIED_TABLE_ENABLE

Nilai yang valid:

  • DISABLE: Menonaktifkan pemisahan key-value.

  • GLOBAL_ENABLE: Mengaktifkan pemisahan key-value.

  • SPECIFIED_TABLE_ENABLE: Mesin secara otomatis mengaktifkan atau menonaktifkan pemisahan key-value berdasarkan karakteristik operator pekerjaan.

    Catatan

    Nilai ini didukung di VVR 6.0.1 dan versi lebih baru.

Catatan
  • Nilai-nilai tersebut case-sensitive.

  • Pada versi VVR 4.0.x, jika Anda menemukan bahwa pekerjaan Join memiliki tingkat keberhasilan join yang rendah dan ukuran value yang besar, atur parameter ini ke GLOBAL_ENABLE untuk performa yang lebih baik.

    Perkirakan tingkat keberhasilan join dari rasio Records Received terhadap Records Sent pada node Join.

  • Pada VVR 6.0.1 dan versi lebih baru, pertahankan nilai default. Mesin SQL secara otomatis mengaktifkan pemisahan key-value berdasarkan karakteristik operator pekerjaan.

state.backend.gemini.kv.separate.value.size.threshold

Saat pemisahan key-value diaktifkan, ini adalah ambang batas ukuran value yang memicu pemisahan key-value.

Integer

200

Sebuah record yang mencapai ambang batas ini akan menyimpan key dan valuenya secara terpisah. Rentang nilai yang direkomendasikan adalah 150 hingga 1000. Sesuaikan parameter ini berdasarkan tingkat keberhasilan join. Tingkat keberhasilan join yang lebih tinggi memungkinkan nilai parameter yang lebih besar.

Unitnya adalah byte.

Catatan

Pada VVR 6.0.1 dan versi lebih baru, jika Anda telah mengaktifkan mode tuning adaptif, mesin secara dinamis menyesuaikan parameter ini berdasarkan karakteristik data. Anda tidak perlu mengonfigurasinya secara eksplisit.

Konfigurasi tuning adaptif

Catatan

Parameter konfigurasi tuning adaptif berikut didukung di VVR 4.0.12 dan versi lebih baru.

Parameter

Deskripsi

Tipe data

Nilai default

Catatan

state.backend.gemini.auto-tune.mode

Mode tuning adaptif.

String

ACTIVE

Nilai yang valid:

  • DISABLED: Menonaktifkan fitur ini.

  • MONITORING: GeminiStateBackend terus memantau status berjalan dan memberikan saran tuning dalam log, tetapi tidak menyesuaikan parameter secara otomatis.

  • ACTIVE (default): GeminiStateBackend terus memantau status berjalan dan menyesuaikan parameter secara otomatis. Ini hanya berlaku untuk beberapa parameter terkait Gemini yang tidak dikonfigurasi dalam flink-conf.yaml.

  • FORCEFUL: GeminiStateBackend terus memantau status berjalan, menyesuaikan parameter secara otomatis, dan menimpa beberapa parameter terkait Gemini yang dikonfigurasi dalam flink-conf.yaml.

Catatan
  • Nilai-nilai tersebut tidak case-sensitive.

  • Pertahankan nilai default.

state.backend.gemini.auto-tune.burst.start.x

Periode waktu untuk menggunakan mode performa-utama dalam tuning adaptif.

String

(tidak ada)

Huruf `x` dalam nama parameter adalah angka apa pun. `start.x` berkorespondensi dengan `end.x`. Anda dapat menggunakannya untuk mengatur beberapa periode waktu. Format nilai parameter adalah yyyy-MM-dd HH:mm:ss.

Jika Anda memerlukan Transaction Per Second (TPS) yang lebih tinggi daripada efisiensi keseluruhan, konfigurasikan kedua parameter ini. Selama periode waktu yang ditentukan, GeminiStateBackend menggunakan kebijakan TPS-utama. Kebijakan ini mengonsumsi lebih banyak resource, seperti CPU atau memori, untuk mencapai TPS yang lebih tinggi.

Catatan
  • Secara default, parameter ini tidak dikonfigurasi.

  • Waktu akhir harus lebih lambat dari waktu mulai.

  • Mengatur parameter ini menyebabkan konsumsi resource yang lebih tinggi. Pertahankan pengaturan default, yaitu tidak mengonfigurasi parameter ini.

state.backend.gemini.auto-tune.burst.end.x