OceanBase
English日本語简体中文
ドキュメントホーム
製品
エコシステム
リリース

データベース

OceanBase CloudOceanBaseデータベース

データベース

OceanBase CloudOceanBaseデータベース
OceanBase CloudOceanBaseデータベース

OceanBaseデータベース

KV - V4.4.2
  • OBKVの概要
  • OBKVのアーキテクチャ
  • OBKV-Table
    • OBKV-Table概要
      • OBKV-Tableの概要
      • OBKV-Tableのコア機能
      • OBKV-Tableデプロイの概要
    • シンプルなKey-Valueストレージのクイックスタート(Java)
    • OBKV-Table Javaクライアントを使ったアプリケーション開発
      • OBKV-Table Java開発ガイド
      • OBKV-Table開発の準備
      • OBKV-Table Javaクライアントを使用してクラスタに接続する
      • OBKV-Table操作例
        • OBKV-Tableへのデータ書き込み
        • OBKV-Tableによるデータのクエリ
        • OBKV-Tableでのデータ更新
        • OBKV-Tableによるデータの削除
      • OBKV-Table Javaクライアントのパラメータ設定
    • OBKV-Table管理
      • OBKV-Table管理の概要
      • OBKV-Tableの高可用性
      • OBKV-Tableのセキュリティ権限
      • OBKV-Tableモニタリングメトリクス
    • OBKV-Tableリファレンス
      • OBKV-Tableのデータモデル
      • OBKV-Tableの操作タイプ
      • OBKV-Tableがサポートするデータ型
      • OBKV-Table全文インデックス
      • OBKV-Tableのグローバルインデックスの使用範囲と例
      • OBKV-Tableの期限切れデータ削除
      • OBKV-Tableのグループコミット
      • OBKV-Tableの弱い整合性読み取りと最寄りデータセンターからの読み取り
      • OBKV-Table関連ビュー
    • OBKV-Table よくある質問
  • OBKV-HBase
    • OBKV-HBaseの概要
    • OBKV-HBaseのコア機能
    • OBKV-HBaseのデプロイ
    • OBKV-HBaseによるアプリケーション開発
      • OBKV-HBase アプリケーション開発の概要
      • OBKV-HBase Javaクライアントを使用したクラスタへの接続
      • HBaseの業務コードをOBKV-HBaseに移行する
      • OBKV-HBase データ操作の例
    • OBKV-HBase 移行ガイド
    • OBKV-HBase管理
      • OBKV-HBase管理の概要
      • OBKV-HBaseの高可用性
      • OBKV-HBaseのセキュリティ権限
      • OBKV-HBaseモニタリングメトリクス
    • OBKV-HBaseクエリの最適化
    • OBKV-HBaseの性能テスト
    • OBKV-HBaseリファレンス
      • OBKV-HBaseデータモデル
      • OBKV-HBaseのデータスキーマ
      • HBaseとの互換インターフェース
      • HBaseと互換性のあるフィルター
      • OBKV-HBaseの自動パーティション分割
      • OBKV-HBaseにおける期限切れデータの削除
      • OBKV-HBaseの弱い整合性読み取りと最寄りデータセンターからの読み取り
      • OBKV-HBase関連ビュー
    • OBKV-HBaseエコシステム統合
      • Flink連携
        • Flinkコネクタを使用してOBKV-HBaseにデータを同期する
        • ネイティブFlinkによるOBKV-HBaseへのアクセス
      • HiveによるOBKV-HBaseへのアクセス
      • SparkによるOBKV-HBaseへのアクセス
  • OBKVリリースノート
    • OBKV Enterprise版

PDF をダウンロード

ドキュメントフィードバック
  1. ドキュメントセンター
  2. OceanBaseデータベース
  3. KV
  4. V4.4.2

OBKV-Tableのグループコミット

最終更新:2026-09-30 06:35:08

サポート範囲
使用方法
モニタリング
制限事項

グループコミットは、OBKVの単一操作リクエストを対象とするパフォーマンス最適化機能です。サーバー側で複数のリクエストをまとめ、バッチとして計算・書き込み・読み取りを実行することで、トランザクション処理やストレージへの呼び出し回数を減らします。

サポート範囲

現在のグループコミットは、Tableモデルで以下の単一操作をサポートしています:

  • get
  • put
  • insert
  • delete
  • replace
  • update
  • insert_or_update
  • increment
  • append

Tableモデルの単一操作に関する詳細は、OBKV-Table Javaクライアントがサポートするインターフェースを参照してください。

使用方法

使用方法は、サーバー側で対応するパラメータを設定して有効にするだけです。グループコミットが有効になると、インターフェースの動作や使い方は従来と変わりませんが、パフォーマンスが向上することが期待されます。

グループコミット機能では、kv_group_commit_batch_size と kv_group_commit_rw_mode の2つのパラメータを提供し、その有効化と無効化を制御します。具体的な説明は以下の通りです:

  • パラメータ kv_group_commit_batch_size

    1回のバッチにまとめるリクエスト数を指定します。デフォルト値の1ではグループコミットが無効になり、1より大きい値で有効になります。設定値は、グループコミットを利用する単一操作のパフォーマンスに影響します。パラメータ kv_group_commit_batch_size の詳細については、kv_group_commit_batch_sizeを参照してください。

    設定方法は以下の通りです:

    // デフォルト値で、グループコミット操作を無効にします
    alter system set kv_group_commit_batch_size = 1 tenant=<tenant_name>;
    // グループコミットのbatch_sizeを10に設定します
    alter system set kv_group_commit_batch_size = 10 tenant=<tenant_name>;
    
  • パラメータ kv_group_commit_rw_mode

    特定のシナリオでは、ユーザーは特定の操作でのみグループコミット機能を有効にし、他の操作では無効にしたい場合があります。例えば、読み書きトラフィックが均等でないシナリオでは、読み取りが少なく書き込みが多い場合、読み取りリクエストがバッチにまとまるまでの待ち時間が長くなり、結果として読み取りリクエストの応答遅延が生じることがあります。このような場合、書き込み操作のみをグループコミットで行うことができます。kv_group_commit_rw_mode はグループコミットが有効な場合にのみ適用され、デフォルトでは ALL が指定されており、すべての操作がグループコミットをサポートすることを意味します。READ は読み取り操作のみがグループコミットをサポートすることを意味し、WRITE は書き込み操作のみがグループコミットをサポートすることを意味します。パラメータ kv_group_commit_rw_mode の詳細については、kv_group_commit_rw_modeを参照してください。

    設定方法は以下の通りです:

    // デフォルト値で、すべての操作タイプがグループコミットをサポートすることを意味します
    alter system set kv_group_commit_rw_mode = 'ALL' tenant=<tenant_name>;
    // 読み取り操作のみがグループコミットをサポートすることを意味します
    alter system set kv_group_commit_rw_mode = 'READ' tenant=<tenant_name>;
    

    パラメータ kv_group_commit_rw_mode の各値が表す操作は以下の通りです:

    • ALL が表す操作:Tableモデルのすべての単一操作。
    • WRITE が表す操作:get を除く操作。
    • READ が表す操作:get。

モニタリング

グループコミットには、対応するモニタリングビュー (G)V$OB_KV_GROUP_COMMIT_STATUS が提供されています。有効な場合、グループコミット関連のビューをクエリすることで、該当するリクエストのグループコミット状態情報を確認できます。グループコミットでは、異なるタイプの操作が異なるグループに分類され、各グループにはKV操作リクエストを格納するためのリクエストキューがあります。ワーカースレッドはリクエストキューから指定された batch_size のリクエストを取り出し、バッチ操作を構成して一括実行した後、応答を返します。

  • システムテナントでは、GV$OB_KV_GROUP_COMMIT_STATUS はすべてのOBKVテナントのグループコミット状態情報にアクセスできます。ビュー GV$OB_KV_GROUP_COMMIT_STATUS の詳細については、GV$OB_KV_GROUP_COMMIT_STATUS を参照してください。V$OB_KV_GROUP_COMMIT_STATUS は、現在のobserverノード上のすべてのテナントのグループコミット状態情報を記録します。ビュー V$OB_KV_GROUP_COMMIT_STATUS の詳細については、V$OB_KV_GROUP_COMMIT_STATUS を参照してください。
  • 通常テナントでは、GV$OB_KV_GROUP_COMMIT_STATUS は自身のテナントのグループコミット状態情報のみにアクセスできます。ビュー GV$OB_KV_GROUP_COMMIT_STATUS の詳細については、GV$OB_KV_GROUP_COMMIT_STATUS を参照してください。V$OB_KV_GROUP_COMMIT_STATUS は、現在のobserverノード上の自身のテナントのグループコミット状態情報のみにアクセスできます。ビュー V$OB_KV_GROUP_COMMIT_STATUS の詳細については、V$OB_KV_GROUP_COMMIT_STATUS を参照してください。

制限事項

  • マイナーコンパクションが発生する場合、グループコミットの性能はディスクのI/O性能に制約されます。ディスクI/Oがボトルネックになると、グループコミットの性能が低下します。

  • 負荷が低いシナリオでは、グループコミット機能を有効にすることは推奨されません。例えば、16C32Gのテナント仕様では、CPU負荷が60%を下回る場合、書き込み操作において、batch_sizeを5未満に設定すると一定の最適化が見られますが、10を超えるとパフォーマンスが低下します。読み取り操作においては、有効にしても全体的なパフォーマンス向上は顕著ではありません。

前のトピック

OBKV-Tableの期限切れデータ削除
前へ

次のトピック

OBKV-Tableの弱い整合性読み取りと最寄りデータセンターからの読み取り
次へ
このページの内容
サポート範囲
使用方法
モニタリング
制限事項