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-HBaseの性能テスト

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

ツールの説明
前提条件
環境の準備
プロジェクトの取得
Web UIの使用
サービスの起動
手順
コマンドラインの使用
主要パラメータ一覧
YCSB共通パラメータ
OBKV-HBase接続パラメータ
OBKV-HBaseテストパラメータ
結果の解釈
よくある質問
詳細ドキュメントインデックス

本記事では、YCSBツールを使用してOBKV-HBaseの性能テストを行う方法について説明します。YCSB-OBKVは、YCSB (Yahoo! Cloud Serving Benchmark) フレームワークに基づくOBKVの性能テストツールです。OBKVインターフェースの読み書き性能ベンチマークテストに使用されます。

ツールの説明

  • GitHubリポジトリ:oceanbase/YCSB(obkvブランチ)
  • サポートされているテストモデル:OBKV-HBaseとOBKV-Table。本記事では、OBKV-HBaseのテスト方法についてのみ説明します。
  • 使用方法(2つのうち1つを選択):
    • Web UI(グラフィカルインターフェース):初心者向けで、視覚化された操作WEBインターフェースを提供します。サポートするテスト方法は比較的固定されています。
    • コマンドライン(CLI):テストマシンと外部ネットワークが異なるシナリオや、より多くのカスタムテスト動作をサポートします。
  • サポートされている操作タイプ:
    • load(データロード)
    • put(書き込み)
    • read(読み取り)
    • scan(スキャン)
    • batch_put(バッチ書き込み)
    • batch_read(バッチ読み取り)

前提条件

環境の準備

  • JAVA 8+
  • Maven 3.x
  • デプロイ済みのOBKV-HBaseクラスタ(ODPアドレスまたは直接接続configUrlが必要)

プロジェクトの取得

プロジェクトを取得するには、以下の2つの方法があります。どちらか1つを選択してください:

  1. リポジトリのクローン

    # リポジトリをクローンし、obkvブランチに切り替える
    git clone -b obkv https://github.com/oceanbase/YCSB.git
    cd YCSB
    

    プロジェクトのディレクトリ構造は以下のとおりです:

    YCSB/
    ├── obkv-hbase/       # OBKV-HBaseテストモジュール
    ├── obkv-table/       # OBKV-Tableテストモジュール
    ├── webui/            # Web UIモジュール
    ├── core/             # YCSBコアフレームワーク
    ├── deploy.sh         # ワンクリックデプロイスクリプト(コンパイル/起動/停止/再起動)
    └── docs/             # 詳細ドキュメント
    
  2. 圧縮ファイルのダウンロード

    obkvブランチをクリックして、GitHubから圧縮ファイルをダウンロードします。

    Web UI起動

Web UIの使用

サービスの起動

# 初回起動(すべてのモジュールを自動コンパイルしてWebサービスを起動)
./deploy.sh start --rebuild

# 以降の起動(JARが既に存在する場合、直接起動)
./deploy.sh start

# サービス管理コマンド
./deploy.sh status          # 実行状態の確認
./deploy.sh logs --follow   # ログのリアルタイム表示
./deploy.sh stop            # サービスの停止
./deploy.sh restart         # サービスの再起動

起動後、ブラウザでhttp://localhost:8080にアクセスします。

手順

  1. テーブルの作成:上部でモジュール(OBKV HBase)を選択→「テーブル作成ウィザード」タブ→パーティションパラメータの入力→SQLの生成→データベース接続情報の入力→テーブルの作成

  2. テストの実行:パフォーマンステストタブ→Step1で接続情報を入力→Step2でテストモードを選択→Step3でテストタイプとパラメータを選択→テストの開始

    説明:

    • Step1:直接接続モードとODPモードの2種類の接続方法をサポートしています。2つの接続方法の違いについては、OBKV接続モードを参照してください。
    • Step2:デフォルトモードとプレフィックスモードの2種類のテストをサポートしています。
    • Step3:YCSBテスト関連のパラメータを入力します。例:負荷テストスレッド、操作数、操作タイプの割合、フィールド数、フィールドサイズなどの設定。
    • Step4:クライアント関連の設定を構成できます。例:タイムアウト時間、ハンドル接続数などのパラメータ。
  3. 結果の確認:リアルタイムログタブで出力を確認し、テスト完了後は結果タブでスループットとレイテンシを確認します。

    注意

    loadでデータを書き込んだ後に、read/scan/batch_readテストを実行する必要があります。

  4. 履歴記録:テスト結果、テスト設定、テスト設定の再利用による再テストなど、過去のテスト記録を確認します。

コマンドラインの使用

コマンドラインを使用したテストの手順は以下のとおりです。

# Step 1: コンパイル
cd obkv-hbase && ./build.sh

# Step 2: テーブル作成用SQLの生成
# 1レベルのRANGEパーティション:
./create_table.sh --max_key 1000 --partition_count 4
# 1レベルのKEYパーティション:
./create_table.sh --mode hbase --type first_part --partition_type key --partition_count 4
# サブパーティション(Range + Key):
./create_table.sh --mode hbase --type sec_part \
  --range_partition_count 30 \
  --range_start_timestamp 1704067200000 \
  --range_partition_duration_ms 2592000000 \
  --key_subpartition_count 40

# Step 3: OceanBaseにて生成されたSQLファイルを実行

# Step 4: workloads/workload_loadを編集し、接続パラメータを入力する(少なくとも以下のパラメータを入力)
# hbase.oceanbase.odpMode=true
# hbase.oceanbase.odpAddr=<ODPアドレス>
# hbase.oceanbase.odpPort=<ODPポート>
# hbase.oceanbase.fullUserName=<user@tenant#cluster>
# hbase.oceanbase.password=<パスワード>
# hbase.oceanbase.database=<データベース名>
# hbase.oceanbase.table=ycsb_test
# hbase.oceanbase.columnFamily=cf

# Step 5: テストを実行(コマンドはOBKV-Tableと同じ)
./run_fast_test.sh load
./run_fast_test.sh read

主要パラメータ一覧

このセクションでは、YCSBの共通パラメータとOBKV-HBase専用パラメータについて説明します。

YCSB共通パラメータ

パラメータ
説明
タイプ
デフォルト値
recordcount データセットの総レコード数 Int —
operationcount 実行段階の操作総数 Int —
threadcount 同時実行スレッド数 Int 1
fieldcount 各レコードのフィールド数 Int 10
fieldlength 各フィールドのバイト長 Int 100
requestdistribution リクエスト分布(uniform/zipfian/hotspot/latest) String uniform
insertorder キー生成順序(hashed/ordered) String hashed

OBKV-HBase接続パラメータ

パラメータ
説明
ODPモード
直接接続モード
hbase.oceanbase.odpMode 接続モード true false
hbase.oceanbase.odpAddr ODPアドレス 必須 —
hbase.oceanbase.odpPort ODPポート 必須 —
hbase.oceanbase.paramURL 直接接続URL — 必須
hbase.oceanbase.sysUserName システムユーザー名 — 必須
hbase.oceanbase.sysPassword システムパスワード — 必須
hbase.oceanbase.fullUserName ユーザー名 (user@tenant#cluster) 必須 必須
hbase.oceanbase.password パスワード 必須 必須
hbase.oceanbase.database データベース名 必須 必須
hbase.oceanbase.table テーブル名 必須 必須
hbase.oceanbase.columnFamily カラムファミリー名 必須 必須

OBKV-HBaseテストパラメータ

モード
obkv.testMode値
適用パーティションタイプ
追加要件
デフォルトモード default 1レベルのKEYまたはRANGEパーティションテーブル なし
プレフィックスクエリモード prefix 1レベルまたは2レベルのパーティションテーブル insertorder=ordered

結果の解釈

テスト終了後、以下の主要な指標を分析することで、テスト結果が期待通りかどうかを判断できます:

指標
意味
最適化の方向性
Throughput(ops/sec) 1秒間の操作数 高いほど良い
AverageLatency(us) 平均遅延(マイクロ秒) 低いほど良い
95thPercentileLatency(us) P95遅延 低いほど良い
99thPercentileLatency(us) P99遅延 低いほど良い
Return=OK / Return=ERROR 成功/失敗回数 ERRORは0である必要があります

よくある質問

  • read/scan/batch_readエラー:まずloadコマンドでデータをロードしてください。
  • プレフィックスモードで失敗した場合:insertorderがorderedに設定されているか確認してください。
  • デバッグ問題:obkv.debug=trueを設定してデバッグログを有効にしてください。
  • key_range テーブルのデータ分布が均一でない場合:パーティションパラメータがテーブル作成時と一致しているか確認してください。

詳細ドキュメントインデックス

以下のドキュメントは、プロジェクトリポジトリの docs/ ディレクトリにあり、より詳細なパフォーマンステストの使用ガイドを提供します。

ドキュメント
説明
リンク
クイックスタート 5分で初回テストを実行する getting-started.md
Web UIガイド グラフィカルインターフェースの完全な操作説明 guide-webui.md
コマンドラインガイド コマンドラインでの完全な操作説明 guide-cli.md
パラメータ設定リファレンス すべてのパラメータの意味、タイプ、デフォルト値 params-reference.md
Workload参考 Workloadファイルのテンプレートと例 workload-reference.md
OBKV-HBaseモジュール詳解 テーブルモデル、テストモード、パーティショニング戦略 module-obkv-hbase.md
Web UIアーキテクチャ設計 アーキテクチャ、SSE、リソース分離 webui-architecture.md
Web UI APIリファレンス REST APIの完全なドキュメント webui-api-reference.md
よくある質問 FAQ集 faq.md

前のトピック

OBKV-HBaseクエリの最適化
前へ

次のトピック

OBKV-HBaseデータモデル
次へ
このページの内容
ツールの説明
前提条件
環境の準備
プロジェクトの取得
Web UIの使用
サービスの起動
手順
コマンドラインの使用
主要パラメータ一覧
YCSB共通パラメータ
OBKV-HBase接続パラメータ
OBKV-HBaseテストパラメータ
結果の解釈
よくある質問
詳細ドキュメントインデックス