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

ヒープ組織テーブルでサポートされていないインターフェース
単一操作
基本単一操作
複合単一操作
バッチ操作
クエリ
インデックス
Filter
集計

OBKV-Tableは、単一操作、バッチ操作、クエリ操作の3種類をサポートしています。

ヒープ組織テーブルでサポートされていないインターフェース

ヒープ組織テーブルは、以下のインターフェースをサポートしていません:

  • put
  • batchPut
  • update
  • batchUpdate
  • increment
  • batchIncrement
  • append
  • batchAppend
  • delete
  • get
  • batchGet
  • delete
  • batchDelete
  • checkAndInsUp
  • checkAndInsUpBatch

単一操作

単一操作の各インターフェースは、最大で1件のレコードを操作します。単一操作では、必ずRowkeyを設定する必要があります。

基本単一操作

操作
説明
insert insertは単一行データ挿入を行い、主キー列を指定する必要があります。
1. その行が存在しない場合、その行を挿入します。
2. 存在する場合、挿入に失敗します。
put putは上書きを行い、主キー列を指定する必要があります。
1. その行が存在しない場合、その行を挿入します。
2. 存在する場合、既存の行を上書きします。
get getは単一行データ取得を行い、主キー列を指定する必要があります。
クエリ列(Select Column)が指定されていない場合、デフォルトですべての列をクエリします。
update updateは単一行データ更新を行い、主キー列を指定する必要があります。同時に条件更新も可能で、主キー以外の列に条件を指定し、条件を満たす場合にのみ更新操作を実行します。
delete deleteは単一行データ削除を行い、主キー列を指定する必要があります。また、条件削除も可能で、主キー以外の列に条件を指定し、条件を満たす行を削除します。

複合単一操作

操作
機能
insertOrUpdate insertOrUpdateは挿入または更新を行います。
1. 主キー列を指定する必要があります。該当行が存在しない場合、その行を挿入します。
2. 存在する場合、既存の行を更新します。
increment incrementは整数型列に値を加算する操作です。主キー列と、値を加算する列を指定する必要があります。incrementでは条件を指定することもでき、条件を満たす行に対してのみincrement操作が実行されます:
1. 指定した行が存在しない場合、その行を挿入し、incrementを行う列の初期値を加算値に設定します。
2. その行が存在し、incrementを行う列の現在の値がNULLの場合、その列の値を加算値に更新します。
append appendは文字型列に文字列を追加する操作です。主キー列と、文字列を追加する列を指定する必要があります。appendでも条件を指定することができ、条件を満たす行に対してのみappend操作が実行されます:
1. 指定した行が存在しない場合、その行を挿入し、appendを行う列の初期値を追加文字列に設定します。
2. その行が存在し、appendを行う列の現在の値がNULLの場合、その列の値を追加文字列に更新します。
checkAndInsertup checkAndInsertupは条件付き更新を行います。
1. checkExistパラメータがtrueの場合、条件に合致する行が存在する場合は、指定されたInsertUp操作を実行します。存在しない場合は、何もしません。
2. checkExistパラメータがfalseの場合、条件に合致する行が存在しない場合は、指定されたInsertUp操作を実行します。存在する場合は、何もしません。
3. rollbackWhenCheckFailedパラメータがtrueの場合、checkに失敗した場合、ObTableException例外をスローします。例外のmessageは[-10518][OB_KV_CHECK_FAILED][Check failed in checkAndInsUp]です。

バッチ操作

OBKV-Tableは、上記の基本単一操作および複合単一操作のバッチをサポートしています:

  1. 1つのBatch内ですべて同一の操作を実行することができます。例:一括挿入。
  2. 1つのBatch内で上記に列挙された異なる単一操作を混在させて実行することができます。

クエリ

OBKV-Tableにおいて、クエリと単一操作の意味上の違いは、クエリが複数のデータにアクセスできるのに対し、単一操作は最大でも1つのデータにしかアクセスできないことです。典型的なクエリには、主に以下の部分が含まれます:

  1. Select:ビジネスシナリオで実際に必要な列。不要な列を過剰に返さないように選択することを推奨します。そうでない場合、CPU/メモリ/ネットワークリソースを消費します。
  2. ScanRange:クエリの範囲。
  3. Index:使用するインデックスを明示的に指定します。
  4. Filter:クエリのフィルタ条件。
  5. Limit:クエリで返すデータ件数。

インデックス

OBKV-Tableはローカルインデックスとグローバルインデックスをサポートしています。

インデックスとクエリ

  • インデックスはクエリ内でのみ使用できます。
  • インデックスに基づく行クエリでは、ベーステーブルのすべての列にアクセスできます。しかし、クエリの列がインデックスに存在しない場合は、ベーステーブルに追加でアクセスする必要があり、コストがかかります。インデックスを設計する際は、ビジネスの実際のクエリシナリオを十分に考慮する必要があります。
  • インデックスを使用する場合は、明示的に指定する必要があります。

ローカルインデックスとグローバルインデックス

ローカルインデックスとグローバルインデックスの主な違いは以下のとおりです:

  • パーティションキーがベーステーブルと一致するかどうか:一致する場合はローカルインデックス、一致しない場合はグローバルインデックスです。
  • インデックスのメンテナンスコストが異なる:データを1件書き込む際、ローカルインデックスではパーティションキーが同じため、書き込むベーステーブルの行とインデックスの行は同一ノード上にあり、単一ノード内のトランザクションとなります。グローバルインデックスでは、ベーステーブルの行とインデックスの行が分散アーキテクチャでは同一ノード上にある可能性が低く、分散トランザクションとなる可能性が高く、コストが高くなります。

注意点:

  • グローバルインデックスの使用は推奨されません。グローバルインデックスはサーバー側で分散トランザクションを発生させるため、レイテンシやスループットに大きな影響を与えます。
  • ローカルインデックスを計画する際には、インデックスのメンテナンスコストも重要な検討事項です。例えば、インデックスを作成すると、ベーステーブルとインデックステーブルの両方を同時にメンテナンスする必要があり、ストレージへの書き込み量が増加し、レイテンシとスループットに影響を与え、ストレージ使用量にも影響します。

Filter

論理演算子

OBKV-Tableがサポートする論理演算子は以下のとおりです:

演算子
説明
オプション値
AND 論理積。2つのFilterを満たす必要があります。 operator.AND
OR 論理和。2つのFilterのうち、いずれか一方を満たせばよいです。 operator.OR

比較演算子

OBKV-Tableがサポートする比較演算子は以下のとおりです:

演算子
説明
サポートする型
> より大きい OBKV-Tableでサポートされているデータ型を参照
>= 以上
< より小さい
<= 以下
!= 等しくない
= 等しい
IS NULL NULLである NULL型のみサポート
IS NOT NULL NULLではない

集計

OBKV-Tableがサポートする集計関数は以下のとおりです:

関数
説明
パラメータタイプ
結果タイプ
COUNT 件数 任意型 BIGINT
SUM 合計 整数型/浮動小数点数型 BIGINT/DOUBLE
MAX 最大値 数値型、文字型、日付型、またはその他比較可能な型のデータ列 パラメータと同じ
MIN 最小値 数値型、文字型、日付型、またはその他比較可能な型のデータ列 パラメータと同じ
AVG 平均値 整数型/浮動小数点数型 BIGINT/DOUBLE

注意

  • OBKV-Tableの集計操作は、フィルター関数に基づく特殊なクエリであり、集計関数の意味に従って特定の結果を返します。大量の生データを返すものではありません。
  • OBKV-Tableの集計操作は大量のデータをスキャンし、多くのI/Oリソースを消費します。慎重に使用してください。

前のトピック

OBKV-Tableのデータモデル
前へ

次のトピック

OBKV-Tableがサポートするデータ型
次へ
このページの内容
ヒープ組織テーブルでサポートされていないインターフェース
単一操作
基本単一操作
複合単一操作
バッチ操作
クエリ
インデックス
Filter
集計