すべてのプロダクト
Search
ドキュメントセンター

Realtime Compute for Apache Flink:GeminiStateBackend の設定

最終更新日:Aug 28, 2026

本トピックでは、エンタープライズレベルの状態バックエンドストレージ GeminiStateBackend を使用する際に設定可能なチューニングパラメーターについて説明します。

背景情報

ほとんどのシナリオでは、GeminiStateBackend は適応的パラメーターチューニング機能に基づいてパラメーター設定を自動的に調整するため、手動での設定は不要です。ビジネスシナリオに応じて、特定の基本設定を調整するだけで済みます。詳細については、「基本パラメーター」をご参照ください。特定のシナリオでは、パラメーターを設定してパフォーマンスをさらに最適化できます。本トピックでは、次のシナリオにおける特定のパラメーター設定について説明します。

  • メモリリソースとパフォーマンスを調整したい場合は、メモリ関連のパラメーターを設定します。詳細については、「メモリ関連パラメーター」をご参照ください。

  • ローカルディスクの領域が不足している場合は、計算ストレージ分離のパラメーターを設定します。詳細については、「計算ストレージ分離のパラメーター」をご参照ください。

  • JOIN 演算子にパフォーマンスのボトルネックがある場合は、キーバリュー分離のパラメーターを設定します。詳細については、「キーバリュー分離のパラメーター」をご参照ください。

説明

エンタープライズレベルの状態ストレージの詳細については、「GeminiStateBackend」をご参照ください。エンタープライズレベルの状態ストレージの設定方法の詳細については、「状態セットの管理」をご参照ください。

基本パラメーター

パラメーター

説明

データ型

デフォルト値

備考

table.exec.state.ttl

SQL デプロイメントにおける状態データの TTL。

LONG

デフォルト値は 129600000 で、1.5 日に相当します。

単位:ミリ秒。たとえば、このパラメーターを 129600000 に設定すると、状態データの TTL は 1.5 日になります。このパラメーターは、state.backend.gemini.ttl.ms パラメーターと同時に使用することはできません。

説明

ビジネス要件に基づいて、このパラメーターに小さい値を設定することを推奨します。

TTL を変更した後にスナップショットからジョブを復元した場合、新しい TTL 設定は新しく書き込まれたデータにのみ有効になります。既存のデータには、引き続き古い TTL 設定が適用されます。

state.backend.gemini.ttl.ms

DataStream デプロイメントまたは Python デプロイメントにおける状態データの TTL。

LONG

(なし)

単位:ミリ秒。たとえば、このパラメーターを 129600000 に設定すると、状態データの TTL は 1.5 日になります。このパラメーターは、table.exec.state.ttl パラメーターと同時に使用することはできません。

説明

ビジネス要件に基づいて、このパラメーターに小さい値を設定することを推奨します。

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

セーブポイント作成時に生成される一時データをローカルディスクに保存するかどうかを指定します。

ブール値

false

有効値:

  • false:一時データは分散ファイルシステム (DFS) に保存されます。これはデフォルト値です。

  • true:一時データはローカルディスクに保存され、DFS へのアクセスを最小限に抑え、セーブポイントの作成を高速化します。ローカルディスクのストレージ使用率が 30% 未満で、一時データを保存するのに十分な領域がある場合は、このパラメーターを true に設定することを推奨します。

説明
  • セーブポイントの作成速度が遅い場合は、このパラメーターを設定することを推奨します。

メモリ関連パラメーター

パラメーター

説明

データ型

デフォルト値

備考

state.backend.gemini.memory.managed

GeminiStateBackend が管理メモリに基づいてメモリを自動的に割り当てるかどうかを指定します。

ブール値

true

有効値:

  • true:システムは、管理メモリとタスクスロット数に基づいて、各バックエンドのメモリサイズを自動的に計算します。

  • false:各バックエンドのメモリサイズは、state.backend.gemini.total.writebuffer.size パラメーターと state.backend.gemini.offheap.size パラメーターの値の合計に設定されます。

    このパラメーターを false に設定し、WriteBuffer とオフヒープメモリによって占有されるメモリの合計サイズを指定することで、メモリリソースとパフォーマンスを調整できます。

説明
  • デフォルト値を使用することを推奨します。

  • このパラメーターのデフォルト値は true です。

state.backend.gemini.total.writebuffer.size

WriteBuffer によって占有されるメモリの合計サイズ。

文字列

128 MB

このパラメーターは、state. backend. gemini. memory. managed パラメーターが false に設定されている場合に有効になります。それ以外の場合、WriteBuffer によって占有されるメモリの合計サイズは、管理メモリに基づいて自動的に計算されます。

このパラメーターを設定する際は、値に単位を追加する必要があります。単位は B、KB、MB、または GB が使用できます。

説明
  • 単位の大文字と小文字は区別されません。

  • 値と単位の間にスペースが必要です。

state.backend.gemini.offheap.size

GeminiStateBackend によって使用されるオフヒープメモリのサイズ。

説明

GeminiStateBackend によって使用されるオフヒープメモリには、WriteBuffer によって占有されるメモリは含まれません。

文字列

(なし)

このパラメーターは、state. backend. gemini. memory. managed パラメーターが false に設定されている場合に有効になります。 それ以外の場合、GeminiStateBackend によって使用されるオフヒープメモリのサイズは、マネージドメモリに基づいて自動的に計算されます。

このパラメーターを設定する際は、値に単位を追加する必要があります。単位は B、KB、MB、または GB が使用できます。

説明
  • デフォルトでは、このパラメーターは設定されていません。

  • 単位の大文字と小文字は区別されません。

  • 値と単位の間にスペースが必要です。

説明

Apache Flink のチェックポイントと状態バックエンドの基本設定は、GeminiStateBackend にも適用されます。詳細については、「チェックポイントと状態バックエンド」をご参照ください。

計算ストレージ分離のパラメーター

パラメーター

説明

データ型

デフォルト値

備考

state.backend.gemini.file.cache.type

計算ストレージ分離モード。

文字列

デフォルト値は LIMITED です。

有効値:

  • INFINITE:計算ストレージ分離は無効になります。状態データはローカルディスクにのみ保存されます。

  • LIMITED:状態データは優先的にローカルディスクに保存されます。ローカルディスク領域が不足している場合、状態データは分散ファイルシステム (DFS) に保存されます。

    大量の状態データによってローカルディスク領域が不足している場合は、このパラメーターを LIMITED に設定し、ローカルディスクの制限に基づいて state.backend.gemini.file.cache.preserved-space パラメーターを設定できます。

    説明

    このパラメーターの値は、大文字と小文字が区別されます。

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

TaskManager 上で確保しておくべきディスク空き容量。

文字列

2 GB

実際の利用可能なディスク領域がこのパラメーターの値より小さい場合、GeminiStateBackend は状態データを DFS に保存して、ローカルディスクの容量不足を回避します。

このパラメーターを設定する際は、値に単位を追加する必要があります。単位は B、KB、MB、または GB が使用できます。

説明
  • 単位の大文字と小文字は区別されません。

  • 値と単位の間にスペースが必要です。

説明

Object Storage Service (OSS) クライアント SDK は、ファイルをアップロードする前に、ファイルからローカルディスクにデータを書き込みます。したがって、OSS を DFS として使用すると、予期しないディスク領域の使用が発生する可能性があります。Flink がセーブポイントを作成するとき、単一の状態バックエンドは 1 つのファイルしか生成しません。その結果、大きな非圧縮ファイルが生成され、そのファイルがディスク領域を占有します。このシナリオでは、計算ストレージ分離機能は失敗します。この問題を解決するには、並列度を上げて、単一ノード上の状態データのサイズを削減する必要があります。

キーバリュー分離のパラメーター

パラメーター

説明

データ型

デフォルト値

備考

state.backend.gemini.kv.separate.mode

キーバリュー分離モード。

文字列

デフォルト値は SPECIFIED_TABLE_ENABLE です。

有効値:

  • DISABLE:キーバリュー分離は無効になります。

  • GLOBAL_ENABLE:キーバリュー分離は有効になります。

  • SPECIFIED_TABLE_ENABLE:エンジンは、デプロイメント内のオペレーターの特性に基づいて、キーバリュー分離を自動的に有効または無効にします。

説明
  • このパラメーターの値は、大文字と小文字が区別されます。

  • デフォルト値を使用することを推奨します。SQL エンジンは、デプロイメント内のオペレーターの特性に基づいて、キーバリュー分離を自動的に有効にします。

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

キーバリュー分離が有効になった後、キーバリュー分離をトリガーする値サイズのしきい値。

INTEGER

200

値がこのしきい値に達したレコードのキーと値は、個別に保存されます。推奨値の範囲は 150 から 1000 です。JOIN 操作の成功率に基づいて、このパラメーターの値を調整できます。JOIN 操作の成功率が高い場合は、このパラメーターに大きな値を設定できます。

単位:バイト。

説明

適応的パラメーターチューニングモードが有効な場合、エンジンはデータ特性に基づいてこのパラメーターを動的に調整します。このパラメーターを明示的に設定する必要はありません。

適応的パラメーターチューニングのパラメーター

パラメーター

説明

データ型

デフォルト値

備考

state.backend.gemini.auto-tune.mode

適応的パラメーターチューニングモード。

文字列

ACTIVE

有効値:

  • DISABLED:適応的パラメーターチューニングは無効になります。

  • MONITORING:GeminiStateBackend はデプロイメントの状態を継続的に監視し、ログでパラメーターチューニングの提案を提示します。GeminiStateBackend はパラメーター設定を自動的に調整しません。

  • ACTIVE:GeminiStateBackend はデプロイメントの状態を継続的に監視し、flink-conf.yaml ファイルで設定されていない GeminiStateBackend 関連のパラメーターの設定を自動的に調整します。これはデフォルト値です。

  • FORCEFUL:GeminiStateBackend はデプロイメントの状態を継続的に監視し、flink-conf.yaml ファイルで設定されている GeminiStateBackend 関連のパラメーターを含むパラメーターの設定を自動的に調整します。

説明
  • このパラメーターの値は、大文字と小文字を区別しません。

  • デフォルト値を使用することを推奨します。

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

適応的パラメーターチューニングが有効な場合に、パフォーマンス優先モードが使用される期間。

文字列

(なし)

パラメーター名の x は、数値に置き換えることができます。 start. x は end. x に対応します。 この 2 つのパラメーターを設定して、複数の期間を指定できます。 パラメーターの値は、yyyy-MM-dd HH: mm: ss 形式です。

パフォーマンス要件よりも秒間トランザクション数 (TPS) の要件が高い場合は、これら 2 つのパラメーターを設定できます。GeminiStateBackend は、これらのパラメーターで指定された期間中に TPS 優先ポリシーを使用して、より高い TPS を実現します。ただし、これら 2 つのパラメーターを設定すると、より多くのリソースが消費されます。リソースとは、CPU コアとメモリを指します。

説明
  • デフォルトでは、これらのパラメーターは設定されていません。

  • state.backend.gemini.auto-tune.burst.end.x で指定する時刻は、state.backend.gemini.auto-tune.burst.start.x で指定した時刻より後である必要があります。

  • これらのパラメーターを設定すると、より多くのリソースが消費されます。したがって、これらのパラメーターを設定しないことを推奨します。

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