OceanBase logo

OceanBase

トランザクション処理、分析、AIワークロードに最適な分散データベース

プロダクト概要
デプロイを自由に

OceanBase Cloud

OceanBaseの導入とスケーリングを最適化

エンタープライズ版

自社インフラ上での運用・管理に対応

オープンソース版を試す

コミュニティ版

開発者向けオープンソース分散データベース

OceanBase seekdb

AIネイティブなオープンソースの検索データベース

顧客事例

さまざまな業界の企業による導入事例を紹介します。

さらに見る
利用シーン別

あらゆるシナリオに対応するOLTP

ハイブリッドクラウドソリューション

大容量ストレージデータベースのコスト削減

リアルタイム分析混合ワークロード

複数インスタンスの統合

ドキュメント

会社概要

OceanBaseの企業情報、パートナーシップ、そして信頼性・セキュリティへの取り組みについて紹介します。

OceanBaseについて

トラストセンター

法的情報

お問い合わせ

日本 - 日本語
International - English
中国站 - 简体中文
クラウドで始める

OceanBase

トランザクション処理、分析、AIワークロードに最適な分散データベース

プロダクト概要
デプロイを自由に

OceanBase Cloud

OceanBaseの導入とスケーリングを最適化

エンタープライズ版

自社インフラ上での運用・管理に対応

オープンソース版を試す

コミュニティ版

開発者向けオープンソース分散データベース

OceanBase seekdb

AIネイティブなオープンソースの検索データベース

顧客事例

さまざまな業界の企業による導入事例を紹介します。

さらに見る
利用シーン別

あらゆるシナリオに対応するOLTP

ハイブリッドクラウドソリューション

大容量ストレージデータベースのコスト削減

リアルタイム分析混合ワークロード

複数インスタンスの統合

OceanBaseの企業情報、パートナーシップ、そして信頼性・セキュリティへの取り組みについて紹介します。

OceanBaseについて

トラストセンター

法的情報

お問い合わせ

クラウドで始める
编组
すべての製品
    • データベース
    • アイコンOceanBaseデータベース
    • アイコンOceanBase Cloud
アイコン

OceanBase Cloud

すべてのバージョン

  • 製品アップデート
    • What's new
      • 2026年のリリースノート
  • プロダクトの紹介
    • OB Cloudクラウドデータベースの概要
    • 製品シリーズ
    • コア機能
      • クロスクラウドデュアルアクティブによる高可用性の実現
      • クロスクラウドのプライマリ/スタンバイデータベースによる高可用性の実現
      • データのバックアップとリストア
      • 多層的オンラインスケーリングとオンデマンド構成変更
    • 適用シナリオ
    • デプロイメントプラン
    • ストレージアーキテクチャ
    • 製品仕様
    • プロダクト課金
      • 請求の概要
      • インスタンス課金説明
        • アリババクラウドインスタンスの課金
        • AWS インスタンスの料金
        • GCPインスタンスの課金
      • バックアップとリストアの課金
      • SQL監査の課金について
      • データ移行の料金に関する説明
      • データベースプロキシの課金について
      • Binlogサービスの料金説明
      • OceanBase Cloud サポートプランの概要
      • リソース構成変更による課金の説明
      • 読み取り専用レプリカの料金説明
    • データベースサポートバージョン
  • クイックスタート
    • フラッグシップ版クイックスタート
    • フラッグシップ版クラスタインスタンスの作成
    • テナントの作成
    • データベースの使用
  • DBaaS インスタンスの使用
    • フラッグシップ版インスタンスの使用
      • フラッグシップ版インスタンスの概要
      • インスタンスの作成
        • 概要
        • OceanBase Cloud公式サイト経由での作成
        • AWS Marketplace経由での作成
        • GCP Marketplace経由での作成
        • Alibaba Cloud Marketplace経由での作成
      • インスタンスへの接続
        • ネットワーク接続の設定
          • 概要
          • パブリックIPアドレスを使用したデータベースへの接続
          • AWS PrivateLink を使用したデータベースへの接続
          • Alibaba Cloudのプライベートネットワーク接続を使用したデータベース接続
        • MySQL モード接続
          • クライアントを介した接続
            • デスクトップ版 ODC を使用した OB Cloud クラウドデータベースへの接続
            • MySQLクライアントを使用したOB Cloudクラウドデータベースへの接続
            • OBClient を使用した OB Cloud クラウドデータベースへの接続
          • ドライバー/ORM フレームワークを介した接続
            • Java
              • SpringBootを使用してOB Cloudデータベースに接続するサンプルプログラム
              • SpringBatch を使用して OB Cloud データベースに接続するサンプルプログラム
              • spring-jdbc
              • SpringDataJPAによるOB Cloudデータベース接続のサンプルプログラム
              • Hibernate を使用して OB Cloud に接続するサンプルプログラム
              • MyBatis を使用して OB Cloud データベースに接続するサンプルプログラム
              • connector-j
              • TestContainers Java を使用して OB Cloud データベースに接続するサンプルプログラム
            • Python
              • mysqlclient を使用した OB Cloud クラウドデータベース接続のサンプルプログラム
              • PyMySQL による OB Cloud データベース接続のサンプルプログラム
              • MySQL-connector-pythonによるOB Cloud接続のサンプルプログラム
              • SQLAlchemyを使用したOB Cloudクラウドデータベースへの接続サンプルプログラム
              • Djangoを使用したOB Cloud接続のサンプルプログラム
              • peeweeを使用したOB Cloudへの接続サンプルプログラム
            • C
              • MySQL Connector/C を使用した OB Cloud データベースへの接続サンプルプログラム
            • Go
              • Go-SQL-Driver/MySQL を使用して OB Cloud クラウドデータベースに接続するサンプルプログラム
              • GORM を使用した OB Cloud データベース接続のサンプルプログラム
            • PHP
              • EXTドライバを使用してOB Cloudクラウドデータベースに接続するサンプルプログラム
              • MySQLiドライバを使用したOB Cloudへの接続
              • PDOドライバを使用したOB Cloudクラウドデータベースへの接続
            • Rust
              • Rustを使用したOB Cloud接続のサンプルプログラム
              • SeaORM を使用した OB Cloud クラウドデータベース接続のサンプルプログラム
            • Ruby
              • ActiveRecordによるOB Cloud接続のサンプルプログラム
              • mysql2 を使用した OB Cloud クラウドデータベース接続のサンプルプログラム
              • Sequelを使用したOB Cloudへの接続サンプルプログラム
          • データベース接続プールの使用
            • 数据库连接池配置
            • Tomcat接続プールを使用してOceanBase データベースに接続するサンプルプログラム
            • C3P0 コネクションプールを使用して OceanBase データベースに接続するサンプルプログラム
            • Proxoolコネクションプールを使用してOceanBaseデータベースに接続するサンプルプログラム
            • HikariCP コネクションプールを使用して OceanBase データベースに接続するサンプルプログラム
            • DBCPコネクションプールを使用してOceanBaseデータベースに接続するサンプルプログラム
            • Commons Pool を使用して OceanBase データベースに接続するサンプルプログラム
            • Druid コネクションプールを使用して OceanBase データベースに接続するサンプルプログラム
        • Oracle モード接続
          • Bud1
          • クライアントを介した接続
            • OBClient を使用した OB Cloud クラウドデータベースへの接続
            • デスクトップ版 ODC を使用した OB Cloud クラウドデータベースへの接続
          • ドライバー/ORM フレームワークを介した接続
            • Bud1
            • Java
              • OceanBase Connector/J を使用して OB Cloud クラウドデータベースに接続するサンプルプログラム
              • SpringBootを使用してOB Cloudデータベースに接続するサンプルプログラム
              • SpringBatch を使用した OB Cloud クラウドデータベース接続のサンプルプログラム
              • Spring JDBC を使用した OB Cloud データベースへの接続サンプルプログラム
              • SpringDataJPA を使用した OB Cloud クラウドデータベース接続のサンプルプログラム
              • Hibernate を使用して OB Cloud クラウドデータベースに接続するサンプルプログラム
              • MyBatis を使用した OB Cloud データベース接続のサンプルプログラム
              • Jfinal を使用した OB Cloud データベース接続のサンプルプログラム
            • Python
              • Python Driver Oracle Mode
            • C/C++
              • OceanBase Connector/C を使用した OB Cloud クラウドデータベース接続のサンプルプログラム
              • OceanBase Connector/ODBC を使用した OB Cloud クラウドデータベースへの接続サンプルプログラム
              • SqlSugar を使用して OB Cloud クラウドデータベースに接続するサンプルプログラム
          • データベース接続プールの使用
            • 数据库连接池配置
            • Tomcat接続プールを使用してOB Cloudデータベースに接続するサンプルプログラム
            • C3P0接続プールを使用してOB Cloudデータベースに接続するサンプルプログラム
            • Proxool接続プールを使用してOB Cloudに接続するサンプルプログラム
            • HikariCP コネクションプールを使用して OB Cloud データベースに接続するサンプルプログラム
            • DBCP连接池连接 OB Cloud 云数据库示例程序
            • Commons Pool を使用した OB Cloud データベース接続のサンプルプログラム
            • Druid接続プールを使用してOB Cloudデータベースに接続するサンプルプログラム
        • KV モード接続
          • OBKV-HBase クライアントを使用したクラスタへの接続
      • 開発リファレンス
        • Bud1
        • MySQL モード
          • Bud1 databa
          • データオブジェクトの設計
            • データベースの作成
            • テーブルグループの作成
            • テーブルの作成
            • インデックスの作成
            • 外部テーブルの作成
          • データの書き込み
            • データの挿入
            • データの更新
            • データの削除
            • データの置換
            • テストデータのバッチ生成
          • データの読み取り
            • 単一テーブルクエリ
            • マルチテーブル結合
              • INNER JOIN
              • FULL JOIN
              • LEFT JOIN
              • RIGHT JOIN
              • サブクエリ
              • ラテラル派生テーブル
            • クエリでの演算子と関数の使用
              • クエリでの算術演算子の使用
              • クエリでの数値関数の使用
              • クエリでの文字列結合演算子の使用
              • クエリでの文字列関数の使用
              • クエリでの時間関数の使用
              • クエリでの集計関数の使用
              • クエリでの NULL 関連関数の使用
              • クエリでの CASE 条件演算子の使用
              • クエリ結果のロック SELECT FOR UPDATE
              • クエリ結果のロック LOCK IN SHARE MODE
            • DBLinkを使用したクエリ
            • 集合操作
          • トランザクション
            • トランザクション管理の概要
            • トランザクションの開始
            • セーブポイント
              • セーブポイントのマーク
              • トランザクションを特定のセーブポイントにロールバックする
              • セーブポイントの解放
            • トランザクションのコミット
            • トランザクションのロールバック
        • Oracle モード
          • Bud1 databa
          • データオブジェクトの設計
            • テーブルグループの作成
            • テーブルの作成
            • インデックスの作成
            • 外部テーブルの作成
          • データの書き込み
            • データの挿入
            • データの更新
            • データの削除
            • データの置換
            • テストデータのバッチ生成
          • データの読み取り
            • 単一テーブルクエリ
            • マルチテーブル結合
              • INNER JOIN
              • FULL JOIN
              • LEFT JOIN
              • RIGHT JOIN
              • サブクエリ
              • ラテラル派生テーブル
            • クエリでの演算子と関数の使用
              • クエリでの算術演算子の使用
              • クエリでの数値関数の使用
              • クエリでの文字列連結演算子の使用
              • クエリでの文字列関数の使用
              • クエリでの時間関数の使用
              • クエリでの集計関数の使用
              • クエリでの CASE 関数の使用
            • DBLinkを使用したクエリ
            • 集合操作
          • トランザクション
            • トランザクション管理の概要
            • トランザクションの開始
            • セーブポイント
              • セーブポイントのマーク
              • トランザクションを特定のセーブポイントにロールバックする
            • トランザクションのコミット
            • トランザクションのロールバック
        • KV モード
          • Bud1
          • KV モード
          • Table データ操作サンプル
            • OBKV-Table 操作例一覧
          • OBKV Table Java 開発
            • OBKV-Table Java クライアントを使用したクラスタへの接続
          • HBase データ操作サンプル
            • HBase データ操作の例
      • インスタンス管理
        • インスタンス管理
          • インスタンスリストの表示
          • インスタンスワークベンチ概要
          • インスタンスの一時停止/起動
          • Unit 移行
        • インスタンステナント管理
          • テナントワークベンチ
          • 新建租户
          • テナント仕様の変更
          • テナント名の変更
          • アクセスアドレスの追加
          • リソース分離管理
            • リソース分離の概要
            • リソースグループ管理
              • リソースグループの作成
              • リソースグループの表示
              • リソースグループの編集
              • リソースグループの削除
            • 分離ルールの管理
              • 分離ルールの作成
              • 隔離ルールの表示
              • 分離ルールの編集
              • 隔離ルールの削除
          • プライマリゾーンの変更
          • プロキシアドレスの最大接続数の変更
          • AI Function 組み込みモデルの有効化
          • テナントパフォーマンスモニタリング
            • テナント監視の概要
            • パフォーマンスと SQL 監視
            • トランザクション監視
            • ストレージとキャッシュの監視
            • Binlog サービスの監視
            • テナントのカスタム監視レポート
          • 診断
            • 查看性能监控数据
            • リアルタイム診断
              • SQL 診断
                • Top SQL
                • Slow SQL
                • 疑わしい SQL
                • 高リスク SQL
                • SQL の詳細
              • セッション管理
                • セッション管理
              • 最適化管理
                • 有効な Outline の管理
                • 最適化履歴の表示
              • SQL 監査
          • パラメータ管理
            • テナントパラメータ管理
            • 参数列表说明
            • パラメータテンプレートの説明
          • テナントの削除
          • データベースとアカウント管理
            • アカウントの作成
            • アカウントの管理
            • データベースの作成(MySQLのみ)
            • データベースの管理(MySQLのみ)
        • インスタンズパフォーマンスモニタリング
          • クラスタ監視の概要
          • クラスタデータベースのパフォーマンス監視
          • クラスタ多次元指標のパフォーマンス監視
          • クラスタホストのパフォーマンス監視
          • データベースプロキシ監視の詳細
          • データベースプロキシホスト監視の詳細
          • クロスクラウドネットワークのパフォーマンス監視
          • クラスタのカスタム監視レポート
        • データマージ
          • メジャーコンパクションの開始
          • メジャーコンパクション記録の表示
          • メジャーコンパクション時間の変更
        • インスタンスパラメータ管理
          • パラメータ管理
          • パラメータ一覧の説明
        • インスタンス設定の変更
          • 设置存储自动扩容
          • インスタンスの拡張(Huawei Cloud)
          • クラスタインスタンスの構成変更履歴の表示
          • インスタンス設定の変更(従量課金)
          • インスタンスのスペック変更(月額/年額払い)
          • 一時的な構成変更の設定
          • デプロイメントプランの切り替え
        • スタンバイインスタンス管理
          • スタンバイインスタンスの概要
          • スタンバイインスタンスの作成
          • クロスクラウドスタンバイインスタンスの作成
          • Alibaba CloudプライマリインスタンスのHuawei Cloudスタンバイインスタンスの作成
          • プライマリ/スタンバイインスタンスワークベンチ
          • プライマリ/スタンバイデータベースのグローバルアドレス設定
          • スタンバイデータベースの書き込みリクエスト自動ルーティングを設定する
          • プライマリ/スタンバイインスタンスの切り替え
          • 災害復旧切り替え
          • プライマリ/スタンバイインスタンスのデカップリング
          • スタンバイインスタンスの解放
        • インスタンスの解放
        • データベースプロキシ
          • データベースプロキシの概要
          • データベースプロキシ管理
          • ダイレクトロード
        • アラート管理
          • アラート管理
          • アラートルールの管理
            • アラートルールの作成
            • アラートルールの表示
            • アラートルールの編集
            • アラートルールの削除
          • アラート履歴の表示
          • アラートルールテンプレートの管理
            • アラートルールテンプレートの作成
            • アラートルールテンプレートの編集
            • アラートルールテンプレートのコピー
            • アラートルールテンプレートの削除
          • アラーム抑制ルールの管理
            • アラートミュート規則の作成
            • アラートミュートルールの確認
            • アラートミュートルールの編集
          • アラート通知テンプレートの管理
            • 创建告警通知模板
            • アラート通知テンプレートの表示
            • アラート通知テンプレートの編集
            • アラート通知テンプレートのコピー
            • アラート通知テンプレートの削除
          • アラート連絡先管理
            • アラート連絡先グループの追加
          • カスタムアラートの選択可能な監視メトリクス
        • バックアップとリカバリ
          • バックアップとリストアの概要
          • バックアップポリシー
          • 今すぐバックアップ
          • データバックアップ
          • リストアの開始
          • データリストア
          • インスタンスごみ箱内のデータバックアップのリストア
        • 診断
          • 性能監視データの表示
          • 容量診断
          • ワンクリック診断
            • ワンクリック診断の開始
            • ワンクリック診断レポートの表示
              • 異常イベント
              • リアルタイム診断
              • 最適化の推奨事項
              • 容量管理
              • セキュリティ管理
          • リアルタイム診断
            • SQL 診断
              • Top SQL
              • Slow SQL
              • 不審な SQL
              • 高リスク SQL
              • SQL 詳細
              • SQL 監視メトリクスリスト
            • セッション管理
              • セッション管理
            • リクエスト分析
              • リクエスト分析
          • ルート cause 診断
            • 異常イベントの表示
            • システム自律機能の有効化
          • SQL監査
          • マテリアライズドビュー分析
          • 最適化センター
            • 最適化の推奨事項
            • 有効な Outline の管理
            • SQL Review
            • 最適化履歴の表示
        • タグ管理
        • 読み取り専用レプリカ管理
          • 読み取り専用レプリカ概要
          • インスタンス読み取り専用レプリカ
            • インスタンスの読み取り専用レプリカを追加する
            • インスタンスの読み取り専用レプリカ関連情報の表示
            • 読み取り専用レプリカの構成変更管理
            • インスタンスの読み取り専用レプリカを削除
          • テナント読み取り専用レプリカ
            • テナントの読み取り専用レプリカを追加する
            • テナントの読み取り専用レプリカ関連情報の表示
            • テナントの読み取り専用レプリカの変更
            • テナントの読み取り専用レプリカの削除
        • JVM 環境依存サービス管理
      • データソース管理
        • データソースの新規作成
        • データソースの管理
        • ユーザー権限の説明
          • 互換性評価ユーザー特権
          • データ移行ユーザー特権
          • 性能評価ユーザー特権
          • データアーカイブのユーザー特権
          • データクリーンアップのユーザー特権
        • プライベート接続の選択
          • AWS
          • Alibaba Cloud
          • プライベートIPアドレスセグメントの説明
        • パブリック接続の選択
          • AWS
          • Alibaba Cloud
      • データライフサイクル管理
        • 数据归档
        • 数据清理
      • ゴミ箱管理
        • 实例回收站
        • データベーステーブルゴミ箱管理
          • 概要
          • 实例库表回收站
          • テナントのデータベース/テーブルごみ箱
    • トランザクション型インスタンスの使用
      • トランザクション型インスタンスの概要
      • 300.create-instance-tp
        • 概要
        • OceanBase Cloud公式サイト経由での作成
        • AWS Marketplace経由での作成
        • GCP Marketplace経由での作成
        • Alibaba Cloud Marketplace経由での作成
      • インスタンスへの接続
        • MySQL モード
          • 接続方法の概要
          • 接続文字列の取得
            • 概要
            • AWS PrivateLinkを使用してデータベースに接続する
            • Google Cloud Private Service Connectを使用した接続
            • アリババクラウドの専用ネットワーク接続を使用したデータベース接続
            • パブリックアドレスを使用してデータベースに接続する
          • クライアントを介した接続
            • デスクトップ版ODCによるOB Cloudデータベースへの接続
            • MySQLクライアントを使用したOB Cloudデータベースへの接続
            • OBClientを使用してOB Cloudデータベースに接続する
          • ドライバー/ORM フレームワークを介した接続
            • Java
              • SpringBootでOB Cloudデータベースに接続するサンプルプログラム
              • SpringBatchによるOB Cloudデータベース接続サンプルプログラム
              • spring-jdbc
              • SpringDataJPA による OB Cloud への接続サンプルプログラム
              • Hibernateを使用したOB Cloudデータベース接続サンプルプログラム
              • MyBatisでOB Cloudに接続するサンプルプログラム
              • connector-j
              • TestContainers JavaによるOB Cloudデータベース接続サンプルプログラム
            • Python
              • mysqlclient による OB Cloud データベース接続サンプルプログラム
              • PyMySQLによるOB Cloudデータベース接続サンプルプログラム
              • MySQL-connector-pythonによるOB Cloudデータベース接続サンプルプログラム
              • SQLAlchemyでOB Cloudに接続するサンプルプログラム
              • DjangoでOB Cloudデータベースに接続するサンプルプログラム
              • peeweeでOB Cloudに接続するサンプルプログラム
            • C
              • MySQL Connector/C による OB Cloud クラウドデータベース接続サンプルプログラム
            • Go
              • Go-SQL-Driver/MySQL で OB Cloud に接続するサンプルプログラム
              • GORM による OB Cloud クラウドデータベース接続サンプルプログラム
            • PHP
              • EXTドライバーによるOB Cloudデータベース接続サンプルプログラム
              • MySQLiドライバーを使用してOB Cloudに接続する
              • PDOドライバーを使用してOB Cloudに接続する
            • Rust
              • RustによるOB Cloudデータベース接続サンプルプログラム
              • SeaORM による OB Cloud クラウドデータベース接続サンプルプログラム
            • Ruby
              • ActiveRecordを使用したOB Cloudデータベース接続サンプルプログラム
              • mysql2 による OB Cloud データベース接続サンプルプログラム
              • SequelでOB Cloudに接続するサンプルプログラム
          • データベース接続プールの使用
            • データベース接続プールの設定
            • Tomcat接続プールでOceanBaseデータベースに接続するサンプルプログラム
            • C3P0接続プールでOceanBaseデータベースに接続するサンプルプログラム
            • Proxool接続プールを使用したOceanBaseデータベース接続サンプルプログラム
            • HikariCP接続プールでOceanBaseデータベースに接続するサンプルプログラム
            • DBCP接続プールでOceanBaseデータベースに接続するサンプルプログラム
            • Commons Pool による OceanBase データベース接続サンプルプログラム
            • Druid接続プールでOceanBaseデータベースに接続するサンプルプログラム
        • Oracle モード
          • 接続方法の概要
          • 接続文字列の取得
            • 概要
            • AWS PrivateLinkを使用してデータベースに接続する
            • パブリックアドレスを使用してデータベースに接続する
          • クライアントを介した接続
            • OBClientを使用してOB Cloudデータベースに接続する
            • デスクトップ版ODCによるOB Cloudデータベースへの接続
          • ドライバー/ORM フレームワークを介した接続
            • Java
              • OceanBase Connector/J による OB Cloud クラウドデータベース接続サンプルプログラム
              • SpringBootでOB Cloudに接続するサンプルプログラム
              • SpringBatchでOB Cloudに接続するサンプルプログラム
              • Spring JDBCでOB Cloudデータベースに接続するサンプルプログラム
              • SpringDataJPA による OB Cloud への接続サンプルプログラム
              • HibernateによるOB Cloudデータベース接続サンプルプログラム
              • MyBatisでOceanBase Cloudに接続するサンプルプログラム
              • JfinalによるOB Cloudデータベース接続サンプルプログラム
            • Python
              • Python Driver Oracle Mode
            • C/C++
              • OceanBase Connector/C による OB Cloud クラウドデータベース接続サンプルプログラム
              • OceanBase Connector/ODBC による OB Cloud クラウドデータベース接続サンプルプログラム
              • SqlSugarでOB Cloudに接続するサンプルプログラム
          • データベース接続プールの使用
            • データベース接続プールの設定
            • Tomcat接続プールでOB Cloudに接続するサンプルプログラム
            • C3P0接続プールを使用したOB Cloudデータベース接続サンプルプログラム
            • Proxool接続プールを使用したOB Cloudデータベース接続サンプルプログラム
            • HikariCP接続プールを使用したOB Cloudデータベース接続サンプルプログラム
            • DBCP接続プールでOB Cloudに接続するサンプルプログラム
            • Commons Pool による OB Cloud への接続サンプルプログラム
            • Druid接続プールを使用したOB Cloudデータベース接続サンプルプログラム
      • 開発リファレンス
        • MySQL モード
          • データオブジェクトの設計
            • データベースの作成
            • テーブルグループの作成
            • テーブルの作成
            • インデックスの作成
            • 外部テーブルの作成
          • データの書き込み
            • データの挿入
            • データの更新
            • データの削除
            • データの置換
            • テストデータの一括生成
          • データの読み取り
            • 単一テーブルのクエリ
            • 複数テーブルの結合
              • INNER JOIN
              • FULL JOIN
              • LEFT JOIN
              • RIGHT JOIN
              • サブクエリ
              • ラテラル派生テーブル
            • クエリでの演算子と関数の使用
              • クエリでの算術演算子の使用
              • クエリでの数値関数の使用
              • クエリでの文字列連結演算子の使用
              • クエリでの文字列関数の使用
              • クエリでの時刻関数の使用
              • クエリでの集約関数の使用
              • クエリでのNULL関連関数の使用
              • クエリでCASE条件演算子の使用
              • クエリ結果のロック SELECT FOR UPDATE
              • クエリ結果のロック LOCK IN SHARE MODE
            • DBLinkを使用したクエリの実行
            • 集合演算
          • トランザクション
            • トランザクション管理の概要
            • トランザクションの開始
            • セーブポイント
              • セーブポイントの設定
              • トランザクションを特定のセーブポイントまでロールバックする
              • セーブポイントの解放
            • トランザクションのコミット
            • トランザクションのロールバック
        • Oracle モード
          • データオブジェクトの設計
            • テーブルグループの作成
            • テーブルの作成
            • インデックスの作成
            • 外部テーブルの作成
          • データの書き込み
            • データの挿入
            • データの更新
            • データの削除
            • データの置換
            • テストデータの一括生成
          • データの読み取り
            • 単一テーブルのクエリ
            • 複数テーブルの結合
              • INNER JOIN
              • FULL JOIN
              • LEFT JOIN
              • RIGHT JOIN
              • サブクエリ
              • ラテラル派生テーブル
            • クエリでの演算子と関数の使用
              • クエリにおける算術演算子の使用
              • クエリでの数値関数の使用
              • クエリにおける文字列連結演算子の使用
              • クエリにおける文字列関数の使用
              • クエリでの時刻関数の使用
              • クエリでの集約関数の使用
              • クエリでCASE関数の使用
            • DBLinkを使用したクエリの実行
            • 集合演算
          • トランザクション
            • トランザクション管理の概要
            • トランザクションの開始
            • セーブポイント
              • セーブポイントの設定
              • トランザクションを特定のセーブポイントまでロールバックする
            • トランザクションのコミット
            • トランザクションのロールバック
      • インスタンス管理
        • インスタンス管理
          • インスタンスリストの表示
          • インスタンスのダッシュボード概要
          • インスタンスの一時停止・起動
          • Unit移行
        • インスタンステナント管理
          • テナントダッシュボード
          • テナントの作成
          • テナント構成の変更
          • テナント名の変更
          • アクセスアドレスの追加
          • リソース分離管理
            • リソース分離の概要
            • リソースグループ管理
              • リソースグループの作成
              • リソースグループの表示
              • リソースグループの編集
              • リソースグループの削除
            • 分離ルールの管理
              • 分離ルールの作成
              • 分離ルールの表示
              • 隔離ルールの編集
              • 隔離ルールの削除
          • プライマリゾーンの変更
          • プロキシアドレスの最大接続数の変更
          • AI Functionの組み込みモデルを有効にする
          • テナントパフォーマンスモニタリング
            • テナント監視の概要
            • パフォーマンスとSQLの監視
            • トランザクション監視
            • ストレージとキャッシュの監視
            • Binlogサービス監視
            • テナントのカスタムモニタリングレポート
          • 診断
            • パフォーマンス監視データの表示
            • リアルタイム診断
              • SQL 診断
                • Top SQL
                • スローSQL
                • 疑わしいSQL
                • ハイリスクSQL
                • SQLの詳細
              • セッション管理
                • セッション管理
              • 最適化管理
                • 有効なアウトラインの管理
                • 最適化履歴の表示
              • SQL監査
          • パラメータ管理
            • テナントパラメータの管理
            • パラメータ一覧の説明
            • パラメータテンプレートの説明
          • テナントの削除
          • データベースとアカウント管理
            • アカウントの作成
            • アカウントの管理
            • データベースの作成 (MySQLモードのみ)
            • データベースの管理 (MySQLのみ)
        • インスタンズパフォーマンスモニタリング
          • クラスタ監視の概要
          • クラスタデータベースのパフォーマンス監視
          • クラスタの多次元指標によるパフォーマンス監視
          • クラスタホストのパフォーマンス監視
          • データベースプロキシ監視の詳細
          • データベースプロキシホストの監視詳細
          • クロスクラウドネットワークパフォーマンス監視
          • クラスタのカスタムモニタリングレポート
        • データマージ
          • メジャーコンパクションの開始
          • マージレコードの表示
          • メジャーコンパクションのタイミングを変更する
        • インスタンスパラメータ管理
          • パラメータ管理
          • パラメータ一覧の説明
        • インスタンス設定の変更
          • ストレージの自動拡張を設定する
          • インスタンスのスケールアウト(Huawei Cloud)
          • クラスタインスタンスのリソース構成履歴を確認する
          • インスタンス構成の変更(従量課金)
          • インスタンスのスケーリング(月額課金)
          • 一時的なリソース構成の変更
          • デプロイメントスキームの切り替え
        • スタンバイインスタンス管理
          • スタンバイインスタンスの概要
          • スタンバイインスタンスの作成
          • クロスクラウドスタンバイインスタンスの作成
          • アリババクラウドのプライマリインスタンスに対するHuawei Cloudのスタンバイインスタンスを作成する
          • プライマリ/スタンバイインスタンスのダッシュボード
          • プライマリ/スタンバイデータベースのグローバルアドレスの設定
          • スタンバイデータベースの書き込みリクエストの自動ルーティングを設定する
          • プライマリ/スタンバイインスタンスの切り替え
          • ディザスタリカバリフェイルオーバー
          • プライマリ/スタンバイインスタンスの分離
          • スタンバイインスタンスのリリース
        • インスタンスのリリース
        • データベースプロキシ
          • データベースプロキシの概要
          • データベースプロキシ管理
          • ダイレクトロード
        • アラート管理
          • アラート管理
          • アラートルールの管理
            • アラートルールの作成
            • アラートルールの表示
            • アラートルールの編集
            • アラートルールの削除
          • アラート履歴の表示
          • アラートルールテンプレートの管理
            • アラートルールテンプレートの作成
            • アラートルールテンプレートの表示
            • アラートルールテンプレートの編集
            • アラートルールテンプレートのコピー
            • アラートルールテンプレートの削除
          • アラーム抑制ルールの管理
            • アラートブロックルールの作成
            • アラートミューティングルールの表示
            • アラートミューティングルールの編集
            • アラートミューティングルールの削除
          • アラート通知テンプレートの管理
            • アラート通知テンプレートの作成
            • アラート通知テンプレートの表示
            • アラート通知テンプレートの編集
            • 警報通知テンプレートのコピー
            • アラート通知テンプレートの削除
          • アラート連絡先管理
            • アラート連絡先の追加
            • アラート連絡先グループの追加
            • アラート連絡先の表示
            • アラート連絡先の編集
            • アラート連絡先の削除
            • Webhookアドレスの取得
          • カスタムアラートで利用可能な監視メトリクス
        • バックアップとリカバリ
          • バックアップ・リストアの概要
          • バックアップポリシー
          • 即時バックアップ
          • データバックアップ
          • データ復元の開始
          • データの復元
          • インスタンスのごみ箱からデータバックアップを復元する
        • 診断
          • パフォーマンス監視データの表示
          • 容量診断
          • ワンクリック診断
            • ワンクリック診断の開始
            • ワンクリック診断レポートの表示
              • 例外イベント
              • リアルタイム診断
              • 最適化の推奨事項
              • 容量管理
              • セキュリティ管理
          • リアルタイム診断
            • SQL 診断
              • Top SQL
              • スローSQL
              • 疑わしいSQL
              • ハイリスクSQL
              • SQLの詳細
              • SQLモニタリング指標一覧
            • セッション管理
              • セッション管理
            • リクエスト分析
              • リクエスト分析
          • ルート cause 診断
            • 例外イベントの確認
            • システムの自律性を有効にする
          • SQL監査
          • マテリアライズドビューの分析
          • 最適化センター
            • 最適化の推奨事項
            • 有効なアウトラインの管理
            • SQL Review
            • 最適化履歴の表示
        • タグの管理
        • 読み取り専用レプリカ管理
          • 読み取り専用レプリカの概要
          • インスタンス読み取り専用レプリカ
            • インスタンスに読み取り専用レプリカを追加する
            • インスタンスの読み取り専用レプリカ関連情報の表示
            • 読み取り専用レプリカの構成管理
            • インスタンスの読み取り専用レプリカを削除する
          • テナント読み取り専用レプリカ
            • テナントの読み取り専用レプリカを追加する
            • テナントの読み取り専用レプリカ関連情報の表示
            • テナントの読み取り専用レプリカを変更する
            • テナントの読み取り専用レプリカを削除する
        • JVM環境依存サービスの管理
      • データソース管理
        • データソースの新規作成
        • データソースの管理
        • ユーザー権限の説明
          • 互換性評価ユーザー権限
          • データ移行ユーザー権限
          • パフォーマンス評価ユーザー権限
          • データアーカイブユーザー権限
          • データクリーンアップユーザー権限
        • プライベート接続の選択
          • Tencent Cloud
          • AWS
          • Huawei Cloud
          • Alibaba Cloud
          • Azure
          • プライベートアドレスのサブネット範囲について
        • パブリック接続の選択
          • Tencent Cloud
          • AWS
          • Huawei Cloud
          • Alibaba Cloud
          • Azure
      • データライフサイクル管理
        • データアーカイブ
        • データのクリーンアップ
      • ゴミ箱管理
        • インスタンスのリサイクルバインド
        • データベーステーブルゴミ箱管理
          • 概要
          • インスタンスデータベース・テーブルのごみ箱
          • テナントデータベース・テーブルのゴミ箱
    • 分析型インスタンスの使用
      • アナリティクスインスタンスの概要
      • OceanBase APのコア機能
      • インスタンスの作成
      • インスタンスへの接続
        • 接続方法の概要
        • 接続文字列の取得
          • 概要
          • テンセントクラウドのプライベートリンクを使用してデータベースに接続する
          • Huawei Cloud VPCエンドポイントを使用してデータベースに接続する
          • アリババクラウドのプライベートネットワーク接続を使用したデータベース接続
          • パブリックアドレスを使用してデータベースに接続する
        • クライアントを介した接続
          • デスクトップ版ODCによるOB Cloudデータベースへの接続
          • MySQLクライアントを使用したOB Cloudデータベースへの接続
          • OBClientを使用してOB Cloudデータベースに接続する
        • ドライバー/ORM フレームワークを介した接続
          • Java
            • SpringBootでOB Cloudに接続する
            • SpringBatchによるOB Cloudデータベースへの接続
            • Spring JDBCでOB Cloudデータベースに接続する
            • SpringJPAでOB Cloudデータベースに接続する
            • HibernateによるOB Cloudデータベースへの接続
            • MyBatisによるOB Cloudデータベースへの接続
            • MySQL Connector/Jを使用してOB Cloudデータベースに接続する
          • Python
            • mysqlclientによるOB Cloudデータベース接続サンプルプログラム
            • PyMySQLでOB Cloudに接続するサンプルプログラム
            • MySQL Connector/Pythonを使用してOB Cloudに接続する
          • C
            • MySQL Connector/Cを使用してOB Cloudデータベースに接続する
          • Go
            • Go-SQL-Driver/MySQLを使用してOB Cloudに接続する
          • PHP
            • PHPを使用してOB Cloudデータベースに接続する
        • データベース接続プールの使用
          • データベース接続プールの設定
          • Tomcat接続プールでOceanBaseデータベースに接続するサンプルプログラム
          • C3P0接続プールでOceanBaseデータベースに接続するサンプルプログラム
          • Proxool接続プールを使用したOceanBaseデータベース接続サンプルプログラム
          • HikariCP接続プールでOceanBaseデータベースに接続するサンプルプログラム
          • DBCP接続プールでOceanBaseデータベースに接続するサンプルプログラム
          • Commons Pool による OceanBase データベース接続サンプルプログラム
          • Druid接続プールでOceanBaseデータベースに接続するサンプルプログラム
      • データテーブル設計
        • データテーブルの概要
        • データテーブル設計のベストプラクティス
          • Unit 1:ストレージ構造とクエリパフォーマンスを最適化するためのベストプラクティス
          • Unit 2:特殊インデックスを作成する際のベストプラクティス
      • データのエクスポート
      • データ加工
      • クエリアクセラレーション
        • 統計情報
        • マテリアライズドビューによるクエリの高速化
        • クエリ並列度の選択
      • インスタンス管理
        • インスタンスのダッシュボードを表示する
        • インスタンス構成の変更
        • プライマリゾーンの変更
        • AI Functionの組み込みモデルを有効にする
        • パラメータの管理
        • バックアップとリカバリ
          • バックアップ・リストアの概要
          • バックアップポリシー
          • 即時バックアップ
          • データバックアップ
          • リストアの開始
          • データの復元
        • パフォーマンスモニタリング
          • クラスタ監視の概要
          • インスタンスのデータベースパフォーマンス監視を表示する
          • インスタンスホストのパフォーマンス監視を表示する
        • データマージ
          • マージの開始
          • メジャーコンパクションレコードの表示
          • マージタイムの変更
        • データベースプロキシ
          • データベースプロキシの概要
          • データベースプロキシの管理
          • ダイレクトロード
        • アラート管理
          • 概要
          • アラートルールの管理
            • アラートルールの作成
            • アラートルールの表示
            • アラートルールの編集
            • アラートルールの削除
          • アラート履歴の表示
          • アラートルールテンプレートの管理
            • アラートルールテンプレートの作成
            • アラートルールテンプレートの編集
            • アラートルールテンプレートの編集
            • アラートルールテンプレートのコピー
            • アラートルールテンプレートの削除
          • アラーム抑制ルールの管理
            • アラートマスキングルールの作成
            • アラートミューティングルールの表示
            • アラートミューティングルールの編集
            • アラートミューティングルールの削除
          • アラート通知テンプレートの管理
            • アラート通知テンプレートの作成
            • アラート通知テンプレートの表示
            • アラート通知テンプレートの編集
            • 警報通知テンプレートのコピー
            • アラート通知テンプレートの削除
          • アラート連絡先管理
            • アラート連絡先の追加
            • アラート連絡先グループの追加
            • アラート連絡先の表示
            • アラート連絡先の編集
            • アラート連絡先の削除
            • Webhookアドレスの取得
          • カスタムアラートで利用可能なモニタリング指標
        • 診断
          • パフォーマンス監視データの表示
          • 容量診断
          • リアルタイム診断
            • SQL 診断
              • Top SQL
              • SQLの詳細
              • SQLモニタリング指標一覧
            • セッション管理
              • セッション管理
            • リクエスト分析
              • リクエスト分析
          • 最適化センター
            • 最適化の推奨事項
            • 有効なアウトラインの管理
            • SQL Review
            • 最適化履歴の表示
        • インスタンスの一時停止・再開
        • インスタンスのリリース
        • データベースとアカウント管理
          • アカウントの作成
          • データベースの作成
          • データベースの管理
        • タグの管理
      • データライフサイクル管理
        • データライフサイクル機能リスト
        • データアーカイブ
        • データのクリーンアップ
      • パフォーマンス診断とチューニング
        • 診断の実践:DBMS_XPLANシステムパッケージを使用したパフォーマンス診断
        • 診断の実践:SQL_PLAN_MONITORを使用したパフォーマンス問題の分析
        • AP性能分析関連ビュー
      • パフォーマンステスト
      • エコシステム統合
      • ゴミ箱管理
        • クラスタインスタンスのリサイクルバイン
        • データベーステーブルゴミ箱管理
          • 概要
          • インスタンスデータベース・テーブルのゴミ箱
    • キーバリュー型インスタンスの使用
      • OBKVの概要
      • Table モデルの使用
        • OBKV クライアントを使用したインスタンス接続
          • 接続文字列の取得
            • 概要
            • Tencent Cloud Private Linkを使用してOBKVに接続する
            • Huawei Cloud VPCエンドポイントを使用してOBKVに接続する
            • パブリックアドレスを使用してOBKVに接続する
          • OBKV-Table Javaクライアントを使用したクラスタへの接続
          • データ操作サンプル
            • OBKV-Table操作例一覧
        • インスタンス管理
          • インスタンス管理
            • クラスタインスタンスのダッシュボード概要
          • インスタンステナント管理
            • テナントダッシュボード
            • テナントの作成
            • リソース分離管理
              • リソース分離の概要
              • リソースグループ管理
                • リソースグループ管理機能一覧
              • 分離ルールの管理
                • 分離ルール管理機能一覧
            • テナントパフォーマンスモニタリング
              • テナント監視の概要
              • パフォーマンスとSQL監視
              • トランザクション監視
              • ストレージとキャッシュの監視
              • OBKV-Table
              • テナントのカスタムモニタリングレポート
            • 診断
              • パフォーマンス監視データの表示
              • Top SQL
            • パラメータ管理
              • パラメータ一覧の説明
            • データベースとアカウント処理
              • アカウントの作成と管理
              • データベースの作成
              • データベースの管理
          • インスタンズパフォーマンスモニタリング
            • クラスタ監視の概要
            • クラスタデータベースのパフォーマンス監視
            • クラスタの多次元指標によるパフォーマンス監視
            • クラスタホストのパフォーマンス監視
            • インスタンスのカスタムモニタリングレポート
          • データマージ
            • データマージ機能一覧
          • インスタンスパラメータ管理
            • パラメータ管理の概要
            • パラメータ管理リスト
          • インスタンス設定の変更
            • 構成変更機能一覧
          • データベースプロキシ
            • データベースプロキシの概要
          • アラート管理
            • アラートルールの管理
              • アラート管理機能一覧
            • アラートルールテンプレートの管理
              • アラートルールテンプレート管理機能一覧
            • アラーム抑制ルールの管理
              • アラートマスキングルール管理機能一覧
            • アラート通知テンプレートの管理
              • アラート通知テンプレート管理機能一覧
            • アラート連絡先管理
              • アラート連絡先管理機能一覧
            • カスタムアラートで利用可能な監視メトリクス
          • バックアップとリカバリ
            • バックアップ・リストアの概要
            • バックアップポリシー
            • 即時バックアップ
            • データバックアップ
            • リストアの開始
            • データの復元
          • 診断
            • パフォーマンス監視データの表示
            • Top SQL
            • 容量診断
            • リクエスト分析
          • ゴミ箱管理
            • クラスタインスタンスのリサイクルバイン
            • データベーステーブルゴミ箱管理
              • 概要
              • インスタンスデータベース・テーブルのごみ箱
              • テナントのデータベース・テーブルのゴミ箱
        • リファレンスガイド
          • 参考ガイドの概要
      • キーバリュー型インスタンスの体験
        • インスタンスの作成
        • テナントの作成
        • アカウントの作成
      • HBase モデルの使用
        • OBKV-HBaseの概要
        • OBKV-HBase を使用したアプリケーション開発
          • 接続文字列の取得
            • 概要
          • OBKV-HBaseクライアントを使用してクラスタに接続する
        • インスタンス管理
          • インスタンス管理
            • クラスタインスタンスのダッシュボード概要
          • インスタンステナント管理
            • テナントダッシュボード
            • テナントの作成
            • リソース分離管理
              • リソース分離の概要
              • リソースグループ管理
                • リソースグループ管理機能一覧
              • 分離ルールの管理
                • 分離ルール管理機能一覧
            • テナントパフォーマンスモニタリング
              • テナント監視の概要
              • パフォーマンスとSQL監視
              • トランザクション監視
              • ストレージとキャッシュの監視
              • OBKV-HBase
              • テナントのカスタムモニタリングレポート
            • 診断
              • パフォーマンス監視データの表示
              • Top SQL
            • パラメータ管理
              • パラメータ一覧の説明
            • データベースとアカウント処理
              • アカウントの作成と管理
              • データベースの作成
              • データベースの管理
          • インスタンズパフォーマンスモニタリング
            • クラスタ監視の概要
            • クラスタデータベースのパフォーマンス監視
            • クラスタの多次元指標によるパフォーマンス監視
            • クラスタホストのパフォーマンス監視
            • クラスタのカスタムモニタリングレポート
          • データマージ
            • データマージ機能一覧
          • インスタンスパラメータ管理
            • パラメータ管理の概要
            • パラメータ管理リスト
          • インスタンス設定の変更
            • 構成変更機能一覧
          • データベースプロキシ
            • データベースプロキシの概要
          • アラート管理
            • アラートルールの管理
              • アラート管理機能一覧
            • アラートルールテンプレートの管理
              • アラートルールテンプレート管理機能一覧
            • アラーム抑制ルールの管理
              • アラートマスキングルール管理機能一覧
            • アラート通知テンプレートの管理
              • アラート通知テンプレート管理機能一覧
            • アラート連絡先管理
              • アラート連絡先管理機能一覧
            • カスタムアラートで利用可能な監視メトリクス
          • バックアップとリカバリ
            • バックアップ・リストアの概要
            • バックアップポリシー
            • 即時バックアップ
            • データバックアップ
            • リストアの開始
            • データの復元
          • 診断
            • パフォーマンス監視データの表示
            • Top SQL
            • 容量診断
            • リクエスト分析
          • ゴミ箱管理
            • クラスタインスタンスのリサイクルバインド
            • データベーステーブルゴミ箱管理
              • 概要
              • インスタンスデータベース・テーブルのごみ箱
              • テナントのデータベース・テーブルのゴミ箱
        • リファレンスガイド
          • 参考ガイドの概要
        • OBKV-HBaseの性能テスト
  • AI
    • AIサービスの概要
    • クイックスタート
    • AIモデルの使用
    • AI APIキーの管理
    • 組み込みモデル一覧
    • AI API
      • アクセスの仕方
      • AI サービス API インターフェース
        • AI API一覧
        • Anthropic 互換インターフェース
          • List Anthropic Models - Anthropicモデルの一覧を取得する
          • Create a Message - Anthropic メッセージの作成
          • Create a Message (Default Base) - Anthropic Messages
        • OpenAI 互換インターフェース
          • List Models - モデルリストの取得
          • Create Chat Completion - OpenAI 聊天補完
          • Create Embedding - OpenAI Embeddings
          • Rerank - リランキング
          • Reranks - 再ソート
          • Create Response - OpenAI Responses
        • Vertex AI 互換インターフェース
          • generateContent - Vertex AIによるコンテンツ生成
          • streamGenerateContent - Vertex AI ストリーミングコンテンツ生成
  • データ移行とインポート
    • データ移行とインポートの概要
    • データ評価と移行のクイックスタート
    • 互換性評価
      • 互換性評価の概要
      • オンライン評価の実行
      • オフライン評価の実行
      • 互換性評価タスクの管理
        • 互換性評価タスクの表示
        • 互換性評価レポートの表示とダウンロード
        • 互換性評価タスクの一時停止
        • 互換性評価タスクの削除
      • アップロードファイルの取得
    • データ移行
      • データ移行の概要
      • データ移行仕様説明
      • データ移行インスタンスの購入
      • MySQLデータベースのデータをOceanBaseデータベースのMySQL互換モードに移行する
      • OceanBaseデータベースのMySQL互換モードのデータをMySQLデータベースに移行する
      • OceanBaseデータベースの同一互換モード間でのデータ移行
      • OceanBaseデータベースの異なる互換モード間でのデータ移行
      • OracleデータベースのデータをOceanBaseデータベースのOracle互換モードに移行する
      • OceanBaseデータベースのOracle互換モードのデータをOracleデータベースに移行する
      • 双方向同期タスクの設定
      • OceanBaseデータベースのデータをKafkaに移行する
      • TiDBデータベースからOceanBaseデータベース(MySQL互換モード)へデータを移行する
      • OceanBaseデータベースのMySQL互換モードからTiDBデータベースへの増分データ移行
      • PostgreSQLデータベースのデータをOceanBaseデータベースに移行する
      • OceanBaseデータベースの増分データをPostgreSQLデータベースに移行する
      • データ移行タスクの管理
        • データ移行タスクの詳細を表示する
        • データ移行タスクの名前を変更する
        • 移行オブジェクトの表示と変更
        • パラメータの確認と変更
        • アラートの設定
        • ラベルによるデータ移行タスクの管理
        • データ移行タスクの開始、一時停止、および再開
        • データ移行タスクのクローン
        • データ移行タスクの終了と解放
      • 機能紹介
        • DML/DDLのカスタム設定
        • DDL同期範囲
        • SQL条件でデータをフィルタリングする
        • データベースのデータベースまたはテーブル名の変更
        • 増分同期のタイムスポットの設定
        • 構造移行の操作手順
        • 一致ルールの設定と変更
        • ワイルドカード規則の説明
        • 移行オブジェクトのインポート
        • 矛盾データのダウンロード
        • Topicの変更
        • 列フィルタリング
        • データ形式の説明
      • Alipayアカウントの認証
      • テーブルオブジェクトのSQLクエリ
      • Online DDLツールの適用について
      • トリガーの作成
      • 自社構築PostgreSQLインスタンスのログレベルを変更する
      • 増分移行のサポート対象 DDL 操作と制限
        • MySQLデータベースからOceanBaseデータベースのMySQL互換モードテナントへのDDL同期の概要
        • OceanBaseデータベースのMySQL互換モードテナントからMySQLデータベースへのDDL同期
        • OceanBaseデータベースのMySQL互換モードテナント間のDDL同期
        • OracleデータベースからOceanBaseデータベースのOracle互換モードテナントへのDDL同期
        • OceanBaseデータベースのOracle互換モードテナントからOracleデータベースへのDDL同期
        • OceanBaseデータベースのOracle互換モードにおけるテナント間のDDL同期
        • OceanBaseデータベースからKafkaへのDDL同期
    • データサブスクリプション
      • データサブスクリプションタスクの作成
      • データサブスクリプションタスクの管理
        • データサブスクリプションタスクの詳細を表示する
        • サブスクリプション情報の設定
        • データサブスクリプションタスクの名前を変更する
        • サブスクリプションオブジェクトの表示と変更
        • データサブスクリプションパラメータの表示
        • データサブスクリプションのアラートを設定する
        • データサブスクリプションタスクの開始、一時停止、および再開
        • データサブスクリプションタスクのクローン
        • データサブスクリプションタスクの解除
      • データサブスクリプションのプライベート接続を管理する
      • サブスクリプションの設定と消費
      • メッセージ形式の説明
    • データ検証
      • データ検証の概要
      • 検証タスクの新規作成
      • データ検証タスクの管理
        • データ検証タスクの詳細を表示する
        • 検証オブジェクトの表示と変更
        • データ検証パラメータの表示と変更
        • タグを使用したデータ検証タスクの管理
        • データ検証タスクの開始、一時停止、および再開
        • データ検証タスクのクローン
        • データ検証タスクの解放
      • 機能紹介
        • 検証オブジェクトのインポート
        • 検証オブジェクトの名前変更
        • SQL条件を使用した検証オブジェクトのフィルタリング
        • 検証オブジェクトのマッチングルールの設定
    • パフォーマンス評価
      • 概要
      • データベースインスタンスのトラフィックファイルを取得する
      • 完全なパフォーマンス評価タスクの新規作成
      • SQLファイル解析タスクの新規作成
      • SQLファイル再生タスクの新規作成
      • パフォーマンス評価タスクの管理
        • パフォーマンス評価タスクの詳細を表示する
        • パフォーマンス評価レポートの表示
        • パフォーマンス評価タスクの再試行と停止
        • パフォーマンス評価タスクの削除
      • データベースインスタンスの取得
    • データのインポート
      • データのインポート
      • データインポートでサポートされているファイル形式とエンコーディング形式
      • ダイレクトロード
    • Binlog
      • 概要
      • Binlogサービスの購入
      • Binlog サービスの管理
        • Binlogサービスの詳細を表示する
        • 構成の変更
        • 自動スケーリングポリシーの変更
        • エラスティシティ戦略の変更
        • Binlogサービスの停止
  • セキュリティ管理
    • アカウント設定
      • ログインパスワードの変更
      • マルチファクタ認証
      • AccessKeyの管理
      • タイムゾーンの設定
      • クラウドマーケットアカウントの管理
      • アカウント監査
    • 組織プロジェクト管理
      • 組織・プロジェクト管理の概要
      • 組織情報の管理
      • プロジェクト管理
        • プロジェクト管理
        • プロジェクト間の双方向権限付与
        • AI設定
        • プロジェクトメッセージのサブスクリプション
      • メンバー管理
      • ロール権限一覧
      • 組織コスト管理
        • 組織コストの概要
        • コスト明細
        • コストユニットの管理
      • 操作監査
    • アカウントと権限管理
      • アカウント管理
      • アカウント権限リスト
      • クラウドベンダーアカウントの認可
      • テクニカルサポートサービスのライセンス認証
    • セキュリティ暗号化
      • アローリストグループの設定
      • SSLリンク層暗号化
      • TDE 透過的データ暗号化
    • モニタリングダッシュボード
    • イベントセンター
  • SQL コンソール
    • 概要
    • SQLコンソールへのログイン
    • SQLの編集と実行
    • PLコンパイル
    • 結果セットの編集
    • 実行分析
    • データベースオブジェクト管理
      • テーブルの作成
      • ビューの作成
      • 関数の作成
      • ストアドプロシージャの作成
      • プログラムパッケージの作成
      • トリガーの作成
      • タイプの作成
      • シーケンスの作成
      • シノニムの作成
    • セッション変数の管理
    • SQLコンソールの機能キー一覧
    • スマートSQLの開発
  • エコシステム統合
    • エコシステム統合の概要
    • データベースバージョニング
      • Liquibase
      • Flyway
    • データ統合
      • Canal
      • dbt
      • Debezium
      • Flink
      • Glue
      • Informatica Cloud
      • Kafka
      • Maxwell
      • SeaTunnel
      • DataWorks
      • NiFi
    • SQL 開発
      • DataGrip
      • DBeaver
      • Navicat
      • TablePlus
    • オーケスト레이션 スケジューリング
      • DolphinScheduler
      • Linkis
      • Airflow
    • 可視化
      • Grafana
      • Power BI
      • Quick BI
      • Superset
      • Tableau
    • オブザーバビリティ
      • Datadog
      • Prometheus
    • データベース管理
      • Bytebase
    • AI
      • LlamaIndex
      • Dify
      • LangChain
      • Tongyi Qianwen
      • OpenAI
      • n8n
      • Trae
      • SpringAI
      • Cline
      • Cursor
      • Continue
      • Toolbox
      • CamelAI
      • Firecrawl
      • Hugging Face
      • Ollama
      • Google Gemini
      • Cloudflare Workers AI
      • Jina AI
      • Augment Code
      • Claude Code
      • Kiro
    • 開発ツール
      • Cloudflare Workers
      • Vercel
  • 実践チュートリアル
    • OB Cloudトランザクション型(MySQL)のクイックスタート
    • OB Cloudトランザクション型(Oracle)のクイックスタート
    • OB Cloud分析型インスタンスのクイック体験
    • MySQLとの高い互換性により、従来のデータベースをクラウドへスムーズに移行
    • OceanBaseデータベースのマルチテナント機能を体験する
    • 複雑なSQL処理をサポートし、クエリ効率を大幅に向上
    • 独創の二段階圧縮で、ストレージコストを70~90%削減
    • OB Cloudを活用したオフラインデータウェアハウスと可視化ダッシュボードの構築
    • OB Cloudに基づくWordPress Webサイトの構築
    • OB CloudのリアルタイムSQL診断を体験する
    • OceanBaseに基づく可視化データボードの構築
    • OB Cloudを基盤としたモバイル注文APPでHTAPを体験する
    • OceanBaseに基づく画像検索アプリケーションの構築
    • OceanBaseに基づくインテリジェントQ&Aボットの構築
    • OceanBaseのマルチモーダル融合による文化観光アシスタントの構築
    • OceanBaseの分散パーティション分割機能による大規模テーブルのクエリ性能向上
  • ベストプラクティス
    • クロスクラウドデュアルアクティブによる高可用性の実現に関するベストプラクティス
    • クロスクラウドのプライマリ/スタンバイデータベースによる高可用性(1プライマリ1スタンバイ)
    • クロスクラウドのプライマリ/スタンバイデータベースによる高可用性の実現(1プライマリ・複数スタンバイ)
    • ホストのCPU使用率が高すぎる
    • OB Cloudクラウドデータベースの読み書き分離に関するベストプラクティス
  • リファレンスガイド
    • システム原理
    • システム管理
    • データベースオブジェクト管理
    • データベース設計と仕様制約
    • SQLリファレンス
    • システムビュー
    • 構成パラメータとシステム変数
    • エラーコード
    • パフォーマンスチューニング
    • Open API リファレンス
      • Open APIの概要
      • サービスアクセスポイント
      • API接続について
      • Open API ディレクトリ
        • インスタンス管理
          • DescribeInstances - クラスターリストの取得
          • DescribeInstance - クラスタ情報の取得
          • CreateInstance - クラスタの作成
          • DeleteInstance - クラスタの削除
          • ModifyInstanceName - クラスタ名の変更
          • DescribeNodeOptions - ノード監視オプションのクエリ
          • StopCluster - クラスタインスタンスの一時停止
          • StartCluster - クラスタインスタンスの起動
          • ModifyInstanceSpec - クラスタ仕様の変更
          • DescribeInstanceTopology - インスタンスのトポロジー情報を取得する
          • DescribeReadonlyInstances - インスタンスの読み取り専用レプリカ情報を取得する
          • CreateReadonlyInstance - 読み取り専用レプリカインスタンスを作成する
          • ModifyReadonlyInstanceSpec - 読み取り専用レプリカインスタンスの仕様を変更する
          • ModifyReadonlyInstanceDiskSize - 読み取り専用レプリカのディスクサイズの変更
          • ModifyReadonlyInstanceNodeNum - 読み取り専用レプリカのノード数を変更する
          • DeleteReadonlyInstance - 読み取り専用レプリカインスタンスの削除
          • DescribeInstanceAvailableRoZones - 読み取り専用レプリカの利用可能ゾーンを照会する
          • DescribeInstanceParameters - クラスタレベルパラメータのクエリ
          • UpdateInstanceParameters - クラスタレベルパラメータの変更
          • DescribeInstanceParametersHistory - クラスタレベルパラメータ変更履歴の取得
          • ModifyInstanceTagList - インスタンスタグの変更
          • ModifyInstanceNodeNum - クラスタノード数の変更
        • テナント管理
          • DescribeTenants - 条件を指定してテナントを検索する
          • DescribeTenant - 指定クラスタ内の指定テナント情報を照会する
          • CreateTenants - テナントの作成
          • DeleteTenants - テナントの削除
          • ModifyTenantName - テナント名の変更
          • ModifyTenant - テナントの変更
          • ModifyTenantUserDescription - テナントユーザーの説明を変更する
          • ModifyTenantUserStatus - テナントユーザーの状態を変更する
          • GetTenantCreateConstraints - テナント作成時の制約の確認
          • ModifyTenantPrimaryZone - テナントのプライマリゾーンを変更する
          • GetTenantCreateCpuConstraints - テナント作成時のCPU制約の確認
          • GetTenantCreateMemConstraints - テナント作成時のメモリ制約の確認
          • GetTenantModifyCpuConstraints - テナントのCPU制約の変更を照会する
          • GetTenantModifyMemConstraints - テナントのメモリ制約の変更を照会する
          • CreateTenantSecurityIpGroup - テナントのセキュリティホワイトリスト情報を作成する
          • DescribeTenantSecurityIpGroups - テナントのホワイトリストIPグループ一覧を取得する
          • ModifyTenantSecurityIpGroup - テナントのホワイトリストグループ情報を変更する
          • DeleteTenantSecurityIpGroup - テナントのホワイトリストグループ情報を削除する
          • DescribeTenantPrivateLink - テナントのPrivateLinkアドレス情報を照会する
          • DeletePrivatelinkConnection - テナント接続アドレスの削除
          • CreatePrivatelinkService - テナント接続の開始
          • ConnectPrivatelinkService - PrivateLinkエンドポイントを介してデータベースに接続する
          • AddPrivatelinkServiceUser - ユーザーのホワイトリスト追加
          • BatchKillProcessList - 指定テナントのセッションプロセスを一括終了する
          • DescribeProcessStatsComposition - セッションプロセス統計情報のクエリ
          • DescribeTenantAddressInfo - テナントのアドレス情報を照会する
          • DescribeTenantAvailableRoZones - テナントの読み取り専用レプリカの利用可能ゾーンを照会する
          • ModifyTenantReadonlyReplica - テナントの読み取り専用レプリカを変更する
          • DescribeTenantParameters - テナントレベルパラメータのクエリ
          • UpdateTenantParameters - テナントレベルパラメータの更新
          • DescribeTenantParametersHistory - テナントレベルのパラメータ変更履歴の取得
          • ModifyTenantTagList - テナントタグの変更
        • テナントアカウント管理
          • CreateTenantUser - テナントユーザーの作成
          • DescribeTenantUsers - テナントアカウントリストのクエリ
          • DeleteTenantUsers - テナントユーザーの削除
          • ModifyTenantUserPassword - テナントユーザーのパスワードを変更する
          • ModifyTenantUserRoles - テナントユーザーのロールを変更する
        • データベース管理
          • CreateDatabase - データベースの作成
          • DescribeDatabases - データベースリストのクエリ
          • DeleteDatabases - データベースの削除
          • ModifyDatabaseUserRoles - データベースユーザーのロールを変更する
        • バックアップとリカバリ管理
          • DescribeDataBackupSet - データバックアップセット情報のクエリ
          • DescribeRestorableTenants - 復元可能なテナントのクエリ
          • ModifyBackupStrategy - バックアップ戦略の変更
          • CreateTenantRestoreTask - テナント復元タスクの作成
          • CreateDataBackupTask - バックアップタスクの作成
          • DescribeOneDataBackupSet - タスクIDバックアップセットを取得する
        • データベースプロキシ管理
          • CreateTenantAddress - テナントアドレスの作成
          • CreateTenantSingleTunnelSLBAddress - テナントのsingleTunnelSLBアドレスを新規作成
          • DeleteTenantAddress - テナントアドレスの削除
          • DescribeTenantAddress - テナントのアドレスを照会する
          • ModifyOdpClusterSpec - データベースプロキシクラスタ仕様の変更
          • ModifyTenantAddressPort - テナントのアドレスポートを変更する
          • ModifyTenantAddressDomainPrefix - テナントのアドレスドメインプレフィックスを変更する
          • ConfirmPrivatelinkConnection - Private Link接続の確認を完了
          • DescribeTenantAddressInfo - すべてのテナントのアドレス情報を照会する
        • モニタリング管理
          • DescribeTenantMetrics - テナントメトリクス情報の取得
          • DescribeMetricsData - モニタリングメトリクスデータのクエリ
          • DescribeNodeMetrics - ノードメトリクス情報の取得
        • 診断管理
          • DescribeOasTopSQLList - TopSQLリストのクエリ
          • DescribeOasAnomalySQLList - 疑わしいSQLリストのクエリ
          • DescribeOasSlowSQLList - SlowSQLリストのクエリ
          • DescribeOasSQLText - SQLテキストのクエリ
          • DescribeSqlAudits - SQL監査データのクエリ
          • DescribeOutlineBinding - SQLアウトラインのバインディング情報を照会する
          • DescribeSampleSqlRawTexts - SQL原始テキストサンプルのクエリ
          • DescribeSQLTuningAdvices - クエリSQLチューニングの推奨事項を照会する
          • DescribeOasSlowSQLSamples - スローSQL実行詳細のサンプリングデータを照会する
          • DescribeOasSQLTrends - SQL実行履歴のクエリ
          • DescribeOasSQLPlanGroup - SQL実行計画のクエリ
        • セキュリティ管理
          • CreateSecurityIpGroup - インスタンスのホワイトリストグループを作成する
          • DescribeInstanceSSL - インスタンスのSSL設定情報を照会する
          • ModifyInstanceSSL - インスタンスのSSL設定を変更する
          • DescribeTenantEncryption - テナントの暗号化情報を照会する
          • ModifyTenantEncryption - テナントの透過的データ暗号化を有効にする
          • ModifySecurityIps - インスタンスのホワイトリスト内IPリストを変更する
          • DeleteSecurityIpGroup - インスタンスのホワイトリストグループを削除する
          • DescribeTenantSecurityConfigs - テナントのセキュリティ設定の検出
          • DescribeInstanceSecurityConfigs - クラスタセキュリティ設定の検出
        • タグ管理
          • DescribeTags - タグリストのクエリ
          • CreateTags - ラベルの一括作成
          • UpdateTag - タグを更新する
          • DeleteTag - タグの削除
        • 履歴イベント管理
          • DescribeOperationEvents - 過去のイベントを取得する
      • Open API よくある質問 FAQ
      • OceanBaseクラウドデータベースとOB CloudクラウドデータベースのAPI対比
    • クライアントダウンロード
      • OceanBaseクライアント(OBClient)のダウンロード
      • JDBCドライバーのダウンロード
      • クライアント版ODCのダウンロード
      • ODBCドライバーのダウンロード
      • OBClient Libsドライバーのダウンロード
    • パフォーマンステスト
      • OB Cloudクラウドデータベースのパフォーマンステスト - sysbenchテスト
      • OceanBaseクラウドデータベースの性能テスト - TPCHテスト
      • OB Cloudクラウドデータベースのパフォーマンステスト - TPCCテスト
    • モニタリング指標リファレンス
      • クラスタデータベース
      • クラスタホスト
      • Binlogサービス
      • クロスクラウドネットワークチャネル接続
      • パフォーマンスとSQL
      • トランザクション
      • ストレージとキャッシュ
      • プロキシデータベース
      • プロキシホスト
    • 開発者センター使用ガイド
      • プロダクト紹介
        • OceanBase Developer Centerについて
        • 制限事項
      • クイックスタート
        • デスクトップ版 ODC
          • クイックスタート
          • デスクトップ版ODCのインストール
          • デスクトップ版ODCの使用
        • Web 版 ODC
          • はじめに
          • Web版ODCの使用
      • データソース管理
        • データソースの作成
        • データソースとプロジェクトの連携
        • データベース運用保守
          • セッション管理
          • グローバル変数の管理
          • ごみ箱の管理
      • SQL 開発
        • SQLの編集と実行
        • PLのコンパイルとデバッグ
        • 結果の編集とエクスポート
        • 実行分析
        • テストデータの生成
        • システム設定
        • データベースオブジェクト
          • テーブルオブジェクト
            • 概要
            • テーブルの作成
          • ビューオブジェクト
            • 概要
            • ビューの作成
            • ビューの管理
          • マテリアライズドビューオブジェクト
            • 概要
            • マテリアライズドビューの作成
            • マテリアライズドビューの管理
          • 関数オブジェクト
            • 概要
            • 関数の作成
            • 関数の管理
          • ストアドプロシージョブジェクト
            • 概要
            • ストアドプロシージャの作成
            • ストアドプロシージャの管理
          • シーケンスオブジェクト
            • 概要
            • シーケンスの作成
            • シーケンスの管理
          • パッケージオブジェクト
            • 概要
            • プログラムパッケージの作成
            • マネージャーパッケージ
          • トリガーオブジェクト
            • 概要
            • トリガーの作成
            • トリガーの管理
          • タイプオブジェクト
            • 概要
            • タイプの作成
            • テナントの管理
          • シノニムオブジェクト
            • 概要
            • シノニムの作成
            • シノニムの管理
      • インポートとエクスポート
        • スキーマとデータのインポート
        • スキーマとデータのエクスポート
      • 変更リスク管理
        • ユーザー権限管理
          • ユーザーとロール
          • 自動権限付与
          • ユーザー権限管理
        • プロジェクトの協働管理
        • リスクレベル、リスク識別ルール、承認プロセス
        • SQLチェック規範
        • SQLウィンドウの仕様
        • データベース変更管理
        • マルチデータベース変更管理
        • ロックフリー構造変更
        • シャドウテーブルの同期
        • 構造比較
      • データライフサイクル管理
        • パーティション計画管理
          • パーティション計画の管理
          • パーティションポリシーの設定
          • パーティション戦略の使用例
        • SQLスケジュールタスク
      • データマスキングと監査
        • データマスキング
        • 操作監査
      • メッセージ通知管理
        • メッセージ通知の概要
        • プッシュ履歴の確認
        • 通知チャンネルの管理
          • プッシュチャネルの新規作成
          • プッシュチャネルの表示・編集・削除
          • カスタムチャネルの使用例
        • プッシュルールの管理
      • ベストプラクティス
        • SQL開発でよく使われるコツ
        • ODCチームスペースの素晴らしい世界へようこそ
        • OceanBase APのリアルタイムSQL診断機能の解析
        • OceanBase履歴データソリューション
        • ODC SQLチェック仕様による高リスク操作の自動識別
        • ODCによるデータベース・テーブルのシャーディング管理と変更の実現
        • データマスキングの管理と運用の実践
        • エンタープライズレベルの管理・協働:データベースの毎変更を守る
    • データ開発
      • 概要
      • ワークスペースの管理
      • ブックの管理
      • コンピューティングノードプール管理
      • タスクフローの管理
      • ダッシュボードの管理
      • Gitリポジトリの管理
      • SQL 開発
        • SQLの編集と実行
        • 結果セットの編集
        • 実行分析
        • データベースオブジェクト管理
          • テーブルの作成
          • ビューの作成
          • 関数の作成
          • ストアドプロシージャの作成
        • セッション変数の管理
        • Gitとの連携
      • サンプルデータセットについて
      • OB Cloud データ開発用語集
  • 課金管理
    • 請求書の表示
      • 費用概要の表示
      • 残高の確認
      • 月次請求書の表示
      • 注文の確認
      • 収支明細の確認
    • 支払い方法の変更
      • プラン変更(従量課金から月額課金へ)
      • 年間契約から従量課金への変更
    • インスタンスの更新
      • 手動更新料金の支払い
      • 自動更新
      • レンタル管理
    • AI サービス課金
      • 使用状況統計
      • APIキーの記録を見る
      • モデルレート
    • 支払い方法
      • 充電送金
      • クレジット限度額による支払い
      • リソースパッケージによる支払い
      • クーポンによる支払い
    • 請求書の管理
    • 契約管理
  • 関連規約
    • 下記の翻訳は、情報の提供のみを目的として提供されています。本翻訳と英語版の間で齟齬、不一致または矛盾がある場合(特に翻訳版の遅滞による場合)、[英語版](https://en.oceanbase.com/legal/cloud_support_plans_and_policies)が優先します。
    • サービスレベル契約
    • データ処理に関する補遺
    • OceanBaseクラウド移行サービスに関するサービスレベル契約
2026年のリリースノートOB Cloudクラウドデータベースの概要製品シリーズクロスクラウドデュアルアクティブによる高可用性の実現クロスクラウドのプライマリ/スタンバイデータベースによる高可用性の実現データのバックアップとリストア多層的オンラインスケーリングとオンデマンド構成変更適用シナリオデプロイメントプランストレージアーキテクチャ製品仕様請求の概要バックアップとリストアの課金SQL監査の課金についてデータ移行の料金に関する説明データベースプロキシの課金についてBinlogサービスの料金説明OceanBase Cloud サポートプランの概要リソース構成変更による課金の説明読み取り専用レプリカの料金説明データベースサポートバージョンフラッグシップ版クイックスタートフラッグシップ版クラスタインスタンスの作成テナントの作成データベースの使用フラッグシップ版インスタンスの概要トランザクション型インスタンスの概要アナリティクスインスタンスの概要OceanBase APのコア機能インスタンスの作成データのエクスポートデータ加工パフォーマンステストエコシステム統合OBKVの概要AIサービスの概要クイックスタートAIモデルの使用AI APIキーの管理組み込みモデル一覧アクセスの仕方データ移行とインポートの概要データ評価と移行のクイックスタート互換性評価の概要オンライン評価の実行オフライン評価の実行アップロードファイルの取得データ移行の概要データ移行仕様説明データ移行インスタンスの購入MySQLデータベースのデータをOceanBaseデータベースのMySQL互換モードに移行するOceanBaseデータベースのMySQL互換モードのデータをMySQLデータベースに移行するOceanBaseデータベースの同一互換モード間でのデータ移行OceanBaseデータベースの異なる互換モード間でのデータ移行OracleデータベースのデータをOceanBaseデータベースのOracle互換モードに移行するOceanBaseデータベースのOracle互換モードのデータをOracleデータベースに移行する双方向同期タスクの設定OceanBaseデータベースのデータをKafkaに移行するTiDBデータベースからOceanBaseデータベース(MySQL互換モード)へデータを移行するOceanBaseデータベースのMySQL互換モードからTiDBデータベースへの増分データ移行PostgreSQLデータベースのデータをOceanBaseデータベースに移行するOceanBaseデータベースの増分データをPostgreSQLデータベースに移行するAlipayアカウントの認証テーブルオブジェクトのSQLクエリOnline DDLツールの適用についてトリガーの作成自社構築PostgreSQLインスタンスのログレベルを変更するデータサブスクリプションタスクの作成データサブスクリプションのプライベート接続を管理するサブスクリプションの設定と消費メッセージ形式の説明データ検証の概要検証タスクの新規作成概要データベースインスタンスのトラフィックファイルを取得する完全なパフォーマンス評価タスクの新規作成SQLファイル解析タスクの新規作成SQLファイル再生タスクの新規作成データベースインスタンスの取得データのインポートデータインポートでサポートされているファイル形式とエンコーディング形式ダイレクトロード概要Binlogサービスの購入ログインパスワードの変更マルチファクタ認証AccessKeyの管理タイムゾーンの設定クラウドマーケットアカウントの管理アカウント監査組織・プロジェクト管理の概要組織情報の管理メンバー管理ロール権限一覧操作監査アカウント管理アカウント権限リストクラウドベンダーアカウントの認可テクニカルサポートサービスのライセンス認証アローリストグループの設定
OceanBase ロゴ

AI時代を支える分散データベース

日本 - 日本語
International - English
中国站 - 简体中文
プロダクト
OceanBase Cloudエンタープライズ版コミュニティ版OceanBase seekdb
会社概要
OceanBaseについてトラストセンター法的情報お問い合わせ
公式アカウント
ConnpassXQiitaLumaGitHub

© OceanBase 2026. All rights reserved

クラウドサービス契約個人情報保護ポリシーセキュリティ
お問い合わせ
ドキュメントフィードバック
  1. ホーム
  2. OceanBase Cloud
  3. master
アイコンOceanBase Cloud
master
データベース
  • OceanBaseデータベース
  • OceanBase Cloud
  • master

SpringBatch を使用して OB Cloud データベースに接続するサンプルプログラム

最終更新日:2026-06-08 08:05:36  更新
シェア
このページの内容
前提条件
手順
手順 1:OB Cloud データベースの接続文字列を取得する
手順 2:java-oceanbase-springbatch プロジェクトを IDEA にインポートする
手順 3:java-oceanbase-springbatch プロジェクト内のデータベース接続情報を変更する
手順 4:java-oceanbase-springbatch プロジェクトを実行する
よくある質問
1. 接続タイムアウト
2. 文字セットの問題
3. SSL 接続
4. アカウントパスワード内の特殊文字
プロジェクトコードの紹介
pom.xml コードの紹介
application.properties ファイルの紹介
BatchApplication.java ファイルの紹介
BatchConfig.java ファイルの紹介
People.java ファイルの紹介
PeopleDESC.java ファイルの紹介
AddPeopleDescProcessor.java ファイルの紹介
AddDescPeopleWriter.java ファイルの紹介
AddPeopleWriter.java ファイルの紹介
BatchConfigTest.java ファイルの紹介
AddPeopleDescProcessorTest.java ファイルの紹介
AddDescPeopleWriterTest.java ファイルの紹介
AddPeopleWriterTest.java ファイルの紹介
完全なコードの表示

折りたたみ

シェア

本ドキュメントでは、SpringBatch フレームワークと OB Cloud データベースを使用してアプリケーションを構築し、テーブルの作成、データの挿入、データのクエリなどの基本操作を実装する方法について説明します。

      java-oceanbase-springbatch サンプルプロジェクトをダウンロード
  </a>

前提条件

  • OB Cloud データベースアカウントを登録し、クラスタインスタンスと MySQL互換モード のテナントを作成していること。詳細は、クラスタインスタンスの作成 および テナントの作成 をご参照ください。
  • JDK 1.8 および Maven がインストールされていること。
  • IntelliJ IDEA がインストールされていること。

説明

本ドキュメントでコードを実行するために使用しているツールは IntelliJ IDEA 2021.3.2 (Community Edition) です。お好みに応じて、サンプルコードの実行に適したツールを選択することもできます。

手順

説明

本ドキュメントに記載されている手順は、Windows 環境に基づいて作成されています。他のオペレーティングシステム環境やコンパイラを使用している場合、手順が若干異なる場合があります。

  1. OB Cloud データベースの接続文字列を取得します。
  2. java-oceanbase-springbatch プロジェクトを IDEA にインポートします。
  3. java-oceanbase-springbatch プロジェクト内のデータベース接続情報を変更します。
  4. java-oceanbase-springbatch プロジェクトを実行します。

手順 1:OB Cloud データベースの接続文字列を取得する

  1. OB Cloud コンソール にログインします。インスタンス一覧ページで対象インスタンスの情報を展開し、対象テナントの下で 接続 > 接続文字列の取得 を選択します。

    詳細な操作については、接続文字列の取得 をご参照ください。

  2. 作成済みの OB Cloud データベースに基づいて、以下の URL の対応する情報を入力します。

    説明

    application.properties ファイルでこの URL 情報が必要になります。

    jdbc:oceanbase://host:port/schema_name?user=$user_name&password=$password&characterEncoding=utf-8
    

    パラメータの説明:

    • host:OB Cloud データベースの接続アドレスを指定します。例:t********.********.oceanbase.cloud。
    • port:OB Cloud データベースの接続ポートを指定します。デフォルトは 3306 です。
    • schema_name:アクセスする Schema 名を指定します。
    • user_name:データベースにアクセスするアカウントを指定します。
    • password:アカウントのパスワードを指定します。
    • characterEncoding:文字エンコーディングを指定します。

URL パラメータの詳細については、データベース URL をご参照ください。

手順 2:java-oceanbase-springbatch プロジェクトを IDEA にインポートする

  1. IntelliJ IDEA を開き、File > Open... オプションを選択します。

  2. ポップアップ表示される Open File or Project ウィンドウで、対応するプロジェクトファイルを選択し、OK をクリックしてプロジェクトファイルのインポートを完了します。

  3. IntelliJ IDEA はプロジェクト内の各種ファイルを自動的に認識し、Project ツールウィンドウでプロジェクトのディレクトリ構造、ファイルリスト、モジュールリスト、依存関係などの情報を確認できます。Project ツールウィンドウは通常、IntelliJ IDEA インターフェースの左端にあり、デフォルトで開いています。Project ツールウィンドウが閉じている場合は、メニューバーの View > Tool Windows > Project をクリックするか、ショートカットキー Alt + 1 を使用して再度開くことができます。

    説明

    IntelliJ IDEA を使用してプロジェクトをインポートすると、IntelliJ IDEA はプロジェクト内の pom.xml ファイルを自動的に検出し、ファイルに記述された依存関係に基づいて必要な依存ライブラリを自動的にダウンロードしてプロジェクトに追加します。

  4. プロジェクトの状況を確認します。

手順 3:java-oceanbase-springbatch プロジェクト内のデータベース接続情報を変更する

手順 1:OB Cloud データベースの接続文字列を取得する の情報に基づいて、application.properties ファイル内のデータベース接続情報を変更します。

例:

  • データベースドライバ名は com.mysql.cj.jdbc.Driver です。
  • OB Cloud データベースの接続アドレスは t5******.********.oceanbase.cloud です。
  • アクセスポートは 3306 を使用します。
  • アクセスする Schema 名は test です。
  • テナントの接続アカウントは mysql001 です。
  • パスワードは ****** です。

サンプルコードは以下の通りです:

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:oceanbase://t********.********.oceanbase.cloud:3306/test?characterEncoding=utf-8
spring.datasource.username=mysql001
spring.datasource.password=******

spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update

spring.batch.job.enabled=false

logging.level.org.springframework=INFO
logging.level.com.example=DEBUG

手順 4:java-oceanbase-springbatch プロジェクトを実行する

  • AddDescPeopleWriterTest.java ファイルを実行します。

    1. プロジェクト構造の src > test > java から AddDescPeopleWriterTest.java ファイルを見つけます。
    2. ツールメニューバーで Run > Run... > AddDescPeopleWriterTest.testWrite を選択するか、右上の緑色の三角形を直接クリックして実行します。
    3. IDEA のコンソールからプロジェクトのログ情報と出力結果を確認します。
    people_desc 表中的数据:
    PeopleDESC [name=John, age=25, desc=This is John with age 25]
    PeopleDESC [name=Alice, age=30, desc=This is Alice with age 30]
    Batch Job execution completed.
    
  • AddPeopleWriterTest.java ファイルを実行します。

    1. プロジェクト構造の src > test > java から AddDescPeopleWriterTest.java ファイルを見つけます。
    2. ツールメニューバーで Run > Run... > AddPeopleWriterTest.testWrite を選択するか、右上の緑色の三角形を直接クリックして実行します。
    3. IDEA のコンソールからプロジェクトのログ情報と出力結果を確認します。
    people 表中的数据:
    People [name=zhangsan, age=27]
    People [name=lisi, age=35]
    Batch Job execution completed.
    

よくある質問

1. 接続タイムアウト

接続タイムアウトの問題が発生した場合は、JDBC URL で接続タイムアウトのパラメータを設定できます:

jdbc:mysql://host:port/database?connectTimeout=30000&socketTimeout=60000

2. 文字セットの問題

正しい文字エンコーディングを確保するために、JDBC URL で正しい文字セットのパラメータを設定します:

jdbc:mysql://host:port/database?characterEncoding=utf8&useUnicode=true

3. SSL 接続

OB Cloud データベースとの SSL 接続を有効にするには、JDBC URL に以下のパラメータを追加します:

jdbc:mysql://host:port/database?useSSL=true&requireSSL=true

4. アカウントパスワード内の特殊文字

ユーザー名またはパスワードに特殊文字(# など)が含まれている場合は、URL エンコードを行う必要があります:

String encodedPassword = URLEncoder.encode(password, "UTF-8");

注意

MySQL Connector/J 8.x を使用する場合、アカウントのパスワードにハッシュ記号 (#) が含まれていないことを確認してください。含まれている場合、接続エラーが発生する可能性があります。

プロジェクトコードの紹介

java-oceanbase-springbatch をクリックしてプロジェクトコードをダウンロードします。これは java-oceanbase-springbatch という名前の圧縮パッケージです。

解凍すると、java-oceanbase-springbatch という名前のフォルダが作成されます。ディレクトリ構造は以下の通りです:

│  pom.xml
│
├─.idea
│
├─src
│  ├─main
│  │  ├─java
│  │  │  └─com
│  │  │      └─oceanbase
│  │  │          └─example
│  │  │              └─batch
│  │  │                  │──BatchApplication.java
│  │  │                  │
│  │  │                  ├─config
│  │  │                  │   └─BatchConfig.java
│  │  │                  │
│  │  │                  ├─model
│  │  │                  │   ├─People.java
│  │  │                  │   └─PeopleDESC.java
│  │  │                  │
│  │  │                  ├─processor
│  │  │                  │   └─AddPeopleDescProcessor.java
│  │  │                  │
│  │  │                  └─writer
│  │  │                      ├─AddDescPeopleWriter.java
│  │  │                      └─AddPeopleWriter.java
│  │  │
│  │  └─resources
│  │      └─application.properties
│  │
│  └─test
│      └─java
│          └─com
│              └─oceanbase
│                  └─example
│                      └─batch
│                          ├─config
│                          │   └─BatchConfigTest.java
│                          │
│                          ├─processor
│                          │   └─AddPeopleDescProcessorTest.java
│                          │
│                          └─writer
│                              ├─AddDescPeopleWriterTest.java
│                              └─AddPeopleWriterTest.java
│
└─target

ファイルの説明:

  • pom.xml:Maven プロジェクトの設定ファイルであり、プロジェクトの依存関係、プラグイン、ビルドなどの情報が含まれています。
  • .idea:IDE(統合開発環境)で使用されるディレクトリであり、プロジェクト関連の設定情報を保存するために使用されます。
  • src:通常、プロジェクト内でソースコードを格納するディレクトリを表すために使用されます。
  • main: 主要なソースコードとリソースファイルを格納するディレクトリです。
  • java: Java ソースコードを格納するディレクトリです。
  • com.oceanbase.example.batch: パッケージ名です。
  • BatchApplication.java:アプリケーションのエントリクラスであり、アプリケーションのメインメソッドが含まれています。
  • config:設定クラスのフォルダであり、アプリケーションの設定クラスが含まれています。
  • BatchConfig.java:アプリケーションの設定クラスであり、アプリケーションのプロパティや動作を設定するために使用されます。
  • model:モデルクラスのフォルダであり、アプリケーションのデータモデルクラスが含まれています。
  • People.java:人物データモデルクラスです。
  • PeopleDESC.java:人物 DESC データモデルクラスです。
  • processor:プロセッサクラスのフォルダであり、アプリケーションのプロセッサクラスが含まれています。
  • AddPeopleDescProcessor.java:人物 DESC 情報を追加するプロセッサクラスです。
  • writer:ライタークラスのフォルダであり、アプリケーションのライタークラスが含まれています。
  • AddDescPeopleWriter.java:人物 DESC 情報を書き込むライタークラスです。
  • AddPeopleWriter.java:人物情報を書き込むライタークラスです。
  • resources:リソースフォルダであり、アプリケーションの設定ファイルやその他の静的リソースファイルが含まれています。
  • application.properties:アプリケーションの設定ファイルであり、アプリケーションのプロパティを設定するために使用されます。
  • test: テストコードとリソースファイルを格納するディレクトリです。
  • BatchConfigTest.java:アプリケーション設定クラスのテストクラスです。
  • AddPeopleDescProcessorTest.java:人物 DESC 追加プロセッサのテストクラスです。
  • AddDescPeopleWriterTest.java:人物 DESC 情報を書き込むライターのテストクラスです。
  • AddPeopleWriterTest.java:人物情報を書き込むライターのテストクラスです。
  • target: コンパイル後の Class ファイルや Jar パッケージなどのファイルを格納するディレクトリです。

pom.xml コードの紹介

説明

サンプルを検証するだけであれば、デフォルトのコードを使用し、変更する必要はありません。以下の説明に従って、要件に応じて pom.xml ファイルを変更することもできます。

pom.xml 設定ファイルの内容は以下の通りです:

  1. ファイル宣言ステートメント。

    このファイルが XML ファイルであり、使用する XML バージョンが 1.0、文字エンコーディングが UTF-8 であることを宣言します。

    コードは以下の通りです:

    <?xml version="1.0" encoding="UTF-8"?>
    
  2. POM の名前空間と POM モデルのバージョンを設定します。

    1. xmlns を使用して、POM の名前空間を http://maven.apache.org/POM/4.0.0 に指定します。
    2. xmlns:xsi を使用して、XML 名前空間を http://www.w3.org/2001/XMLSchema-instance に指定します。
    3. xsi:schemaLocation を使用して、POM の名前空間を http://maven.apache.org/POM/4.0.0 に指定し、POM の XSD ファイルの場所を https://maven.apache.org/xsd/maven-4.0.0.xsd に指定します。
    4. <modelVersion> 要素を使用して、この POM ファイルで使用される POM モデルのバージョンを 4.0.0 に指定します。

    コードは以下の通りです:

     <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
         <modelVersion>4.0.0</modelVersion>
    </project>
    
  3. 親プロジェクトの情報を設定します。

    1. <groupId> を使用して、親プロジェクトの識別子を org.springframework.boot に指定します。
    2. <artifactId> を使用して、親プロジェクトの依存関係を spring-boot-starter-parent に指定します。
    3. <version> を使用して、親プロジェクトのバージョン番号を 2.7.11 に指定します。
    4. relativePath を使用して、親プロジェクトのパスが空であることを示します。

    コードは以下の通りです:

     <parent>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-parent</artifactId>
         <version>2.7.11</version>
         <relativePath/>
     </parent>
    
  4. 基本情報を設定します。

    1. <groupId> を使用して、プロジェクトの識別子を com.oceanbase に指定します。
    2. <artifactId> を使用して、プロジェクトの依存関係を java-oceanbase-springboot に指定します。
    3. <version> を使用して、プロジェクトのバージョン番号を 0.0.1-SNAPSHOT に指定します。
    4. description を使用して、プロジェクト情報を Demo project for Spring Batch として紹介します。

    コードは以下の通りです:

     <groupId>com.oceanbase</groupId>
     <artifactId>java-oceanbase-springboot</artifactId>
     <version>0.0.1-SNAPSHOT</version>
     <name>java-oceanbase-springbatch</name>
     <description>Demo project for Spring Batch</description>
    
  5. Java バージョンを設定します。

    プロジェクトで使用する Java バージョンを 1.8 に指定します。

    コードは以下の通りです:

      <properties>
          <java.version>1.8</java.version>
      </properties>
    
  6. コア依存関係を設定します。

    1. 依存関係が属する組織を org.springframework.boot、名前を spring-boot-starter に指定します。この依存関係により、Spring Boot がデフォルトでサポートするコンポーネントの依存関係を使用でき、Web、データ処理、セキュリティ、Test などの機能をサポートします。

      コードは以下の通りです:

      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter</artifactId>
      </dependency>
      
    2. 依存関係が属する組織を org.springframework.boot、名前を spring-boot-starter-jdbc に指定します。この依存関係により、接続プールやデータソース設定など、Spring Boot が提供する JDBC 関連機能を使用できます。

      コードは以下の通りです:

      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-jdbc</artifactId>
      </dependency>
      
    3. 依存関係が属する組織を org.springframework.boot、名前を spring-boot-starter-test、スコープを test に指定します。この依存関係により、JUnit、Mockito、Hamcrest など、Spring Boot が提供するテストフレームワークとツールを使用できます。

      コードは以下の通りです:

      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-test</artifactId>
          <scope>test</scope>
      </dependency>
      
    4. 依存関係が属する組織を com.oceanbase、名前を oceanbase-client、バージョン番号を 2.4.12 に指定します。この依存関係により、接続、クエリ、トランザクションなど、OceanBase が提供するクライアント機能を使用できます。

      コードは以下の通りです:

          <dependency>
              <groupId>com.oceanbase</groupId>
              <artifactId>oceanbase-client</artifactId>
              <version>2.4.12</version>
          </dependency>
      
    5. 依存関係が属する組織を org.springframework.boot、名前を spring-boot-starter-batch に指定します。この依存関係により、Spring Boot が提供するバッチ処理機能を使用できます。

      コードは以下の通りです:

      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-batch</artifactId>
      </dependency>
      
    6. 依存関係が属する組織を org.springframework.boot、名前を spring-boot-starter-data-jpa に指定します。この依存関係により、JPA を使用したデータアクセスのための必要な依存関係と設定を使用できます。Spring Boot Starter Data JPA は Spring Boot のスターターです。

      コードは以下の通りです:

      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-data-jpa</artifactId>
      </dependency>
      
    7. 依存関係が属する組織を org.apache.tomcat、名前を tomcat-jdbc に指定します。この依存関係により、接続プールの設定、接続の取得と解放、接続の管理など、Tomcat が提供する JDBC 接続プール機能を使用できます。

      コードは以下の通りです:

      <dependency>
          <groupId>org.apache.tomcat</groupId>
          <artifactId>tomcat-jdbc</artifactId>
      </dependency>
      
    8. 依存関係が属するテストフレームワークを junit、名前を junit、バージョン番号を 4.10、スコープを test に指定します。この依存関係により、JUnit 単体テストの依存関係の設定を追加できます。

      コードは以下の通りです:

      <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.10</version>
          <scope>test</scope>
      </dependency>
      
    9. 依存関係が属する組織を javax.activation、名前を javax.activation-api、バージョン番号を 1.2.0 に指定します。この依存関係により、Java Activation Framework(JAF)ライブラリを導入できます。

      コードは以下の通りです:

      <dependency>
          <groupId>javax.activation</groupId>
          <artifactId>javax.activation-api</artifactId>
          <version>1.2.0</version>
      </dependency>
      
    10. 依存関係が属する組織を jakarta.persistence、名前を jakarta.persistence-api、バージョン番号を 2.2.3 に指定します。この依存関係により、Jakarta Persistence API の依存関係の設定を追加できます。 コードは以下の通りです:

      <dependency>
          <groupId>jakarta.persistence</groupId>
          <artifactId>jakarta.persistence-api</artifactId>
          <version>2.2.3</version>
      </dependency>
      
  7. Maven プラグインを設定します。

    依存関係が属する組織を org.springframework.boot、名前を spring-boot-maven-plugin に指定します。このプラグインは、Spring Boot アプリケーションを実行可能な JAR パッケージまたは WAR パッケージにパッケージ化し、直接実行できるようにするために使用されます。

    コードは以下の通りです:

     <build>
         <plugins>
             <plugin>
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-maven-plugin</artifactId>
             </plugin>
         </plugins>
     </build>
    

application.properties ファイルの紹介

application.properties ファイルは、データベース接続やその他の関連するパラメータを設定するために使用されます。例えば、データベースドライバ、接続 URL、ユーザー名、パスワードなどです。また、JPA(Java Persistence API)や Spring Batch に関する設定、ログレベルの設定も含まれています。

  1. データベース接続設定。

    • spring.datasource.driver を使用して、データベースドライバを com.mysql.cj.jdbc.Driver に指定し、OB Cloud データベースとの接続を確立するために使用します。
    • spring.datasource.url を使用して、データベースに接続する URL を指定します。
    • spring.datasource.username を使用して、データベースに接続するユーザー名を指定します。
    • spring.datasource.password を使用して、データベースに接続するパスワードを指定します。

    コードは以下の通りです:

    spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
    spring.datasource.url=jdbc:oceanbase://host:port/schema_name?characterEncoding=utf-8
    spring.datasource.username=user_name
    spring.datasource.password=******
    
  2. JPA 設定。

    • spring.jpa.show-sql を使用して、ログに SQL 文を表示するかどうかを指定します。true に設定すると、SQL 文が表示されます。
    • spring.jpa.hibernate.ddl-auto を使用して、Hibernate の DDL 操作の動作を指定します。ここでは update に設定し、アプリケーションの起動時にデータベース構造を自動的に更新することを示します。

    コードは以下の通りです:

    spring.jpa.show-sql=true
    spring.jpa.hibernate.ddl-auto=update
    
  3. Spring Batch 設定:

    spring.batch.job.enabled を使用して、Spring Batch ジョブを有効にするかどうかを指定します。ここでは false に設定し、バッチジョブの自動実行を無効にすることを示します。

    コードは以下の通りです:

    spring.batch.job.enabled=false
    

    説明

    Spring Batch において、spring.batch.job.enabled プロパティの役割は、バッチジョブの実行動作を制御することです。

    • spring.batch.job.enabled=true (デフォルト値):Spring Boot アプリケーションの起動時に、定義されたすべてのバッチジョブを自動的に実行することを示します。つまり、アプリケーションの起動時に、Spring Batch は定義されたすべてのジョブを自動的に検出して実行します。
    • spring.batch.job.enabled=false:バッチジョブの自動実行を無効にすることを示します。これは通常、開発環境やテスト環境、またはジョブの実行を手動で制御したい場合に使用されます。false に設定すると、アプリケーションの起動時にジョブは自動的に実行されず、他の方法(REST インターフェース、コマンドラインなど)で手動でジョブをトリガーできます。
    要約すると、spring.batch.job.enabled=false を設定することで、アプリケーションの起動時にジョブが自動的に実行されるのを防ぎ、バッチジョブを実行するタイミングを制御するための柔軟性を高めることができます。

  4. ログ設定:

    • logging.level.org.springframework を使用して、Spring フレームワークのログレベルを INFO に指定します。
    • logging.level.com.example を使用して、アプリケーションのカスタムコードのログレベルを DEBUG に指定します。

    コードは以下の通りです:

    logging.level.org.springframework=INFO
    logging.level.com.example=DEBUG
    

BatchApplication.java ファイルの紹介

BatchApplication.java ファイルは、Spring Boot アプリケーションのエントリファイルです。

BatchApplication.java ファイルのコードは、主に以下の部分で構成されています:

  1. 他のクラスとインターフェースの参照。

    現在のファイルに以下のインターフェースとクラスが含まれていることを宣言します:

    • SpringApplication クラス:Spring Boot アプリケーションを起動するために使用されます。
    • SpringBootApplication アノテーション:このクラスを Spring Boot アプリケーションのエントリとしてマークするために使用されます。

    コードは以下の通りです:

        import org.springframework.boot.SpringApplication;
        import org.springframework.boot.autoconfigure.SpringBootApplication;
    
  2. BatchApplication クラスの定義。

    @SpringBootApplication アノテーションを使用して、BatchApplication クラスを Spring Boot アプリケーションのエントリとしてマークします。BatchApplication クラスでは、アプリケーションのエントリポイントとして静的な main メソッドを定義しています。このメソッド内で、SpringApplication.run メソッドを使用して Spring Boot アプリケーションを起動します。さらに、バッチジョブを実行するための runBatchJob という名前のメソッドを定義しています。

    コードは以下の通りです:

    
        @SpringBootApplication
        public class BatchApplication {
            public static void main(String[] args) {
                SpringApplication.run(BatchApplication.class, args);
            }
    
            public void runBatchJob() {
            }
        }
    

BatchConfig.java ファイルの紹介

BatchConfig.java ファイルは、バッチジョブのステップ、リーダー、プロセッサ、ライターなどのコンポーネントを設定するために使用されます。

BatchConfig.java ファイルのコードは、主に以下の部分で構成されています:

  1. 他のクラスとインターフェースの参照。

    現在のファイルに以下のインターフェースとクラスが含まれていることを宣言します:

    • People クラス:データベースから読み取った人物情報を格納するために使用されます。
    • PeopleDESC クラス:人物情報を変換または処理した後の説明情報を格納するために使用されます。
    • AddPeopleDescProcessor クラス:読み取った People オブジェクトを PeopleDESC オブジェクトに変換する、ItemProcessor インターフェースの実装クラスです。
    • AddDescPeopleWriter クラス:PeopleDESC オブジェクトをターゲットの場所に書き込む、ItemWriter インターフェースの実装クラスです。
    • Job インターフェース:バッチジョブを表します。
    • Step インターフェース:ジョブ内のステップを表します。
    • EnableBatchProcessing アノテーション:Spring Batch の設定アノテーションであり、Spring Batch 処理機能を有効にして設定するために使用されます。
    • JobBuilderFactory クラス:ジョブを作成および設定するために使用されます。
    • StepBuilderFactory クラス:ステップを作成および設定するために使用されます。
    • RunIdIncrementer クラス:Spring Batch の実行 ID(Run ID)インクリメンタであり、ジョブを実行するたびに実行 ID を増やすために使用されます。
    • ItemProcessor インターフェース:読み取ったアイテムを処理または変換するために使用されます。
    • ItemReader インターフェース:データソースからアイテムを読み取るために使用されます。
    • ItemWriter インターフェース:処理または変換されたアイテムを指定されたターゲットの場所に書き込むために使用されます。
    • JdbcCursorItemReader クラス:データベースからデータを読み取り、カーソル結果セットを返すために使用されます。
    • Autowired アノテーション:依存関係の注入を行うために使用されます。
    • Bean アノテーション:Bean を作成および設定するために使用されます。
    • ComponentScan アノテーション:コンポーネントスキャンを行うパッケージまたはクラスを指定するために使用されます。
    • Configuration アノテーション:クラスを設定クラスとしてマークするために使用されます。
    • EnableAutoConfiguration アノテーション:Spring Boot の自動設定を有効にするために使用されます。
    • SpringBootApplication アノテーション:このクラスを Spring Boot アプリケーションのエントリとしてマークするために使用されます。
    • DataSource インターフェース:データベース接続を表すために使用されます。

    コードは以下の通りです:

    import com.oceanbase.example.batch.model.People;
    import com.oceanbase.example.batch.model.PeopleDESC;
    import com.oceanbase.example.batch.processor.AddPeopleDescProcessor;
    import com.oceanbase.example.batch.writer.AddDescPeopleWriter;
    import org.springframework.batch.core.Job;
    import org.springframework.batch.core.Step;
    import org.springframework.batch.core.configuration.annotation.EnableBatchProcessing;
    import org.springframework.batch.core.configuration.annotation.JobBuilderFactory;
    import org.springframework.batch.core.configuration.annotation.StepBuilderFactory;
    import org.springframework.batch.core.launch.support.RunIdIncrementer;
    import org.springframework.batch.item.ItemProcessor;
    import org.springframework.batch.item.ItemReader;
    import org.springframework.batch.item.ItemWriter;
    import org.springframework.batch.item.database.JdbcCursorItemReader;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.ComponentScan;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.jdbc.core.BeanPropertyRowMapper;
    
    import javax.sql.DataSource;
    
  2. BatchConfig クラスの定義。

    これはシンプルな Spring Batch バッチジョブです。データの読み取り、処理、書き込み方法を定義し、これらのステップを 1 つのジョブとしてカプセル化します。Spring Batch のアノテーションと自動設定機能を使用し、設定クラス内の各 @Bean メソッドを通じて対応するコンポーネントインスタンスを作成し、step1 でこれらのコンポーネントを使用してデータの読み取り、処理、書き込みを完了できます。

    • @Configuration を使用して、このクラスが設定クラスであることを示します。
    • @EnableBatchProcessing を使用して Spring Batch の処理機能を有効にします。このアノテーションは、JobRepository や JobLauncher などの必要な bean を自動的に作成します。
    • @SpringBootApplication を使用して、Spring Boot アプリケーションのメインクラスアノテーションとして機能し、Spring Boot アプリケーションの起動ポイントとなります。
    • @ComponentScan を使用してコンポーネントスキャンを行うパッケージを指定し、Spring にこのパッケージおよびサブパッケージ内のすべてのコンポーネントをスキャンして登録するように指示します。
    • @EnableAutoConfiguration を使用して、Spring Boot アプリケーションのインフラストラクチャを自動的に設定します。

    コードは以下の通りです:

     @Configuration
     @EnableBatchProcessing
     @SpringBootApplication
     @ComponentScan("com.oceanbase.example.batch.writer")
     @EnableAutoConfiguration
     public class BatchConfig {
     }
    
    1. @Autowired アノテーションの定義。

      @Autowired アノテーションを使用して、JobBuilderFactory、StepBuilderFactory、および DataSource を BatchConfig クラスのメンバ変数に注入します。JobBuilderFactory はジョブ(Job)を作成および設定するためのファクトリクラスであり、StepBuilderFactory はステップ(Step)を作成および設定するためのファクトリクラスであり、DataSource はデータベース接続を取得するためのインターフェースです。

      コードは以下の通りです:

      @Autowired
      private JobBuilderFactory jobBuilderFactory;
      
      @Autowired
      private StepBuilderFactory stepBuilderFactory;
      
      @Autowired
      private DataSource dataSource;
      
    2. @Bean アノテーションの定義。

      @Bean アノテーションを使用して、バッチジョブのリーダー、プロセッサ、ライター、ステップ、およびジョブを作成するためのいくつかのメソッドを定義します。

      • peopleReader メソッドを使用して ItemReader コンポーネントインスタンスを作成します。このコンポーネントは JdbcCursorItemReader を使用してデータベース内の People オブジェクトデータを読み取ります。データソース dataSource を設定し、データベースの行を People オブジェクトにマッピングする RowMapper を設定し、SQL クエリ文を SELECT * FROM people に設定します。

      • addPeopleDescProcessor メソッドを使用して ItemProcessor コンポーネントインスタンスを作成します。このコンポーネントは AddPeopleDescProcessor を使用して People オブジェクトを処理し、変換された PeopleDESC オブジェクトを返します。

      • addDescPeopleWriter メソッドを使用して ItemWriter コンポーネントインスタンスを作成します。このコンポーネントは AddDescPeopleWriter を使用して PeopleDESC オブジェクトをターゲットの場所に書き込みます。

      • step1 メソッドを使用して Step コンポーネントインスタンスを作成します。このステップの名前は step1 であり、stepBuilderFactory.get を通じてステップビルダーを取得し、リーダーを ItemReader コンポーネントに、プロセッサを ItemProcessor コンポーネントに、ライターを ItemWriter コンポーネントに設定し、chunk サイズを 10 に設定し、最後に build を呼び出して設定が完了した Step を構築して返します。

      • importJob メソッドを使用して Job コンポーネントインスタンスを作成します。このジョブの名前は importJob であり、jobBuilderFactory.get を通じてジョブビルダーを取得し、インクリメンタを RunIdIncrementer に設定し、ジョブ flow の最初のステップを Step に設定し、最後に build を呼び出して設定が完了した Job を構築して返します。

        コードは以下の通りです:

        @Bean
        public ItemReader<People> peopleReader() {
            JdbcCursorItemReader<People> reader = new JdbcCursorItemReader<>();
            reader.setDataSource((javax.sql.DataSource) dataSource);
            reader.setRowMapper(new BeanPropertyRowMapper<>(People.class));
            reader.setSql("SELECT * FROM people");
            return reader;
        }
        
        @Bean
        public ItemProcessor<People, PeopleDESC> addPeopleDescProcessor() {
            return new AddPeopleDescProcessor();
        }
        
        @Bean
        public ItemWriter<PeopleDESC> addDescPeopleWriter() {
            return new AddDescPeopleWriter();
        }
        
        @Bean
        public Step step1(ItemReader<People> reader, ItemProcessor<People, PeopleDESC> processor,
                        ItemWriter<PeopleDESC> writer) {
            return stepBuilderFactory.get("step1")
                    .<People, PeopleDESC>chunk(10)
                    .reader(reader)
                    .processor(processor)
                    .writer(writer)
                    .build();
        }
        
        @Bean
        public Job importJob(Step step1) {
            return jobBuilderFactory.get("importJob")
                    .incrementer(new RunIdIncrementer())
                    .flow(step1)
                    .end()
                    .build();
        }
        

People.java ファイルの紹介

People.java ファイルは、人物の情報を表す People クラスのデータモデルを作成します。このクラスには、2 つのプライベートメンバ変数 name と age、および対応する getter と setter メソッドが含まれています。最後に、オブジェクトの情報を出力するために toString メソッドをオーバーライドします。ここで、name は人物の名前を表し、age は人物の年齢を表します。getter と setter メソッドを使用して、これらのプロパティの値を取得および設定できます。

このクラスの役割は、バッチプログラムの入力と出力に対してデータを格納および受け渡す方法を提供することです。バッチ処理の読み取りおよび書き込み操作では、People オブジェクトを使用してデータを格納し、setter メソッドでデータを設定し、getter メソッドでデータを取得します。

コードは以下の通りです:

    public class People {
        private String name;
        private int age;

            // getters and setters

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public int getAge() {
            return age;
        }

        public void setAge(int age) {
            this.age = age;
        }
        @Override
        public String toString() {
            return "People [name=" + name + ", age=" + age + "]";
        }
        // Getters and setters
    }

PeopleDESC.java ファイルの紹介

PeopleDESC.java ファイルは、人物の情報を表すために使用される PeopleDESC クラスのデータモデルを作成します。PeopleDESC クラスには、name、age、desc、および id の 4 つのプロパティがあり、それぞれ人物の名前、年齢、説明、および識別子を表します。このクラスには、プロパティの値にアクセスして設定するための対応する getter と setter メソッドが含まれています。名前、年齢、説明を含むクラスの文字列表現を返すために toString メソッドをオーバーライドします。

People クラスと同様に、PeopleDESC クラスもバッチプログラムの入力と出力でデータを格納および受け渡すために使用されます。

コードは以下の通りです:

    public class PeopleDESC {
        private String name;
        private int age;
        private String desc;
        private int id;

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public int getAge() {
            return age;
        }

        public void setAge(int age) {
            this.age = age;
        }

        public String getDesc() {
            return desc;
        }

        public void setDesc(String desc) {
            this.desc = desc;
        }

        public int getId() {
            return id;
        }

        public void setId(int id) {
            this.id = id;
        }

        @Override
        public String toString() {
            return "PeopleDESC [name=" + name + ", age=" + age + ", desc=" + desc + "]";
        }
    }

AddPeopleDescProcessor.java ファイルの紹介

AddPeopleDescProcessor.java ファイルは、AddPeopleDescProcessor という名前のクラスを定義し、ItemProcessor インターフェースを実装して、People オブジェクトを PeopleDESC オブジェクトに変換するために使用されます。

AddPeopleDescProcessor.java ファイルのコードは、主に以下の部分で構成されています:

  1. 他のクラスとインターフェースの参照。

    現在のファイルに以下のインターフェースとクラスが含まれていることを宣言します:

    • People クラス:データベースから読み取った人物情報を格納するために使用されます。
    • PeopleDESC クラス:人物情報を変換または処理した後の説明情報を格納するために使用されます。
    • ItemProcessor インターフェース:読み取ったアイテムを処理または変換するために使用されます。

    コードは以下の通りです:

    import com.oceanbase.example.batch.model.People;
    import com.oceanbase.example.batch.model.PeopleDESC;
    import org.springframework.batch.item.ItemProcessor;
    
  2. AddPeopleDescProcessor クラスの定義。

    ItemProcessor インターフェースの AddPeopleDescProcessor クラスは、People オブジェクトを PeopleDESC オブジェクトに変換するために使用され、バッチ処理プロセスにおける入力データの処理ロジックを実装します。

    このクラスの process メソッドでは、まず PeopleDESC オブジェクト desc を作成し、次に item パラメータを通じて People オブジェクトのプロパティ(name と age)を取得し、これらのプロパティを desc オブジェクトに設定します。同時に、desc オブジェクトの desc プロパティにも値を割り当てます。割り当てのロジックは、People オブジェクトのプロパティに基づいて説明情報を生成することです。最後に、処理された PeopleDESC オブジェクトを返します。

    コードは以下の通りです:

    public class AddPeopleDescProcessor implements ItemProcessor<People, PeopleDESC> {
        @Override
        public PeopleDESC process(People item) throws Exception {
            PeopleDESC desc = new PeopleDESC();
            desc.setName(item.getName());
            desc.setAge(item.getAge());
            desc.setDesc("This is " + item.getName() + " with age " + item.getAge());
            return desc;
        }
    }
    

AddDescPeopleWriter.java ファイルの紹介

AddDescPeopleWriter.java ファイルは、ItemWriter インターフェースの AddDescPeopleWriter クラスを実装し、People オブジェクトをデータベースに書き込むために使用されます。

AddDescPeopleWriter.java ファイルのコードは、主に以下の部分で構成されています:

  1. 他のクラスとインターフェースの参照。

    現在のファイルに以下のインターフェースとクラスが含まれていることを宣言します:

    • PeopleDESC クラス:人物情報を変換または処理した後の説明情報を格納するために使用されます。
    • ItemWriter インターフェース:処理または変換されたアイテムを指定されたターゲットの場所に書き込むために使用されます。
    • Autowired アノテーション:依存関係の注入を行うために使用されます。
    • JdbcTemplate クラス:SQL 文を実行するメソッドを提供します。
    • List インターフェース:クエリ結果セットを操作するために使用されます。

    コードは以下の通りです:

    import com.oceanbase.example.batch.model.PeopleDESC;
    import org.springframework.batch.item.ItemWriter;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.jdbc.core.JdbcTemplate;
    
    import java.util.List;
    
  2. AddDescPeopleWriter クラスの定義。

    1. @Autowired アノテーションを使用して JdbcTemplate インスタンスを自動的に注入し、データを書き込む際にこのインスタンスを使用してデータベース操作を実行します。

      コードは以下の通りです:

          @Autowired
          private JdbcTemplate jdbcTemplate;
      
    2. write メソッドでは、渡された List<? extends PeopleDESC> を反復処理し、各 PeopleDESC オブジェクトを順番に取り出します。まず、SQL 文 DROP TABLE people_desc を実行して、すでに存在する可能性のある people_desc という名前のテーブルを削除します。次に、SQL 文 CREATE TABLE people_desc (id INT PRIMARY KEY, name VARCHAR2(255), age INT, description VARCHAR2(255)) を実行して、people_desc という名前のテーブルを作成します。このテーブルには id、name、age、および description の 4 つの列が含まれます。続いて、SQL 文 INSERT INTO people_desc (id, name, age, description) VALUES (?, ?, ?, ?) を使用して、各 PeopleDESC オブジェクトのプロパティ値をそれぞれ people_desc テーブルに挿入します。

      コードは以下の通りです:

          @Override
          public void write(List<? extends PeopleDESC> items) throws Exception {
              // 先删除可能存在的表
              jdbcTemplate.execute("DROP TABLE people_desc");
              // 建表语句
              String createTableSql = "CREATE TABLE people_desc (id INT PRIMARY KEY, name VARCHAR2(255), age INT, description VARCHAR2(255))";
              jdbcTemplate.execute(createTableSql);
              for (PeopleDESC item : items) {
                  String sql = "INSERT INTO people_desc (id, name, age, description) VALUES (?, ?, ?, ?)";
                  jdbcTemplate.update(sql, item.getId(), item.getName(), item.getAge(), item.getDesc());
              }
          }
      

AddPeopleWriter.java ファイルの紹介

AddPeopleWriter.java ファイルは、ItemWriter インターフェースの AddDescPeopleWriter クラスを実装し、PeopleDESC オブジェクトをデータベースに書き込むために使用されます。

AddPeopleWriter.java ファイルのコードは、主に以下の部分で構成されています:

  1. 他のクラスとインターフェースの参照。

    現在のファイルに以下のインターフェースとクラスが含まれていることを宣言します:

    • People クラス:データベースから読み取った人物情報を格納するために使用されます。
    • ItemWriter インターフェース:処理または変換されたアイテムを指定されたターゲットの場所に書き込むために使用されます。
    • Autowired アノテーション:依存関係の注入を行うために使用されます。
    • JdbcTemplate クラス:SQL 文を実行するメソッドを提供します。
    • Component アノテーション:このクラスを Spring コンポーネントとしてマークするために使用されます。
    • List インターフェース:クエリ結果セットを操作するために使用されます。

    コードは以下の通りです:

    import com.oceanbase.example.batch.model.People;
    import org.springframework.batch.item.ItemWriter;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.jdbc.core.JdbcTemplate;
    import org.springframework.stereotype.Component;
    
    import java.util.List;
    
  2. AddPeopleWriter クラスの定義。

    1. @Autowired アノテーションを使用して JdbcTemplate インスタンスを自動的に注入し、データを書き込む際にこのインスタンスを使用してデータベース操作を実行します。

      コードは以下の通りです:

          @Autowired
          private JdbcTemplate jdbcTemplate;
      
    2. write メソッドでは、渡された List<? extends People> を反復処理し、各 People オブジェクトを順番に取り出します。まず、SQL 文 DROP TABLE people を実行して、すでに存在する可能性のある people という名前のテーブルを削除します。次に、SQL 文 CREATE TABLE people (name VARCHAR2(255), age INT) を実行して、people という名前のテーブルを作成します。このテーブルには name と age の 2 つの列が含まれます。続いて、SQL 文 INSERT INTO people (name, age) VALUES (?, ?) を使用して、各 People オブジェクトのプロパティ値をそれぞれ people テーブルに挿入します。

      コードは以下の通りです:

      @Override
      public void write(List<? extends People> items) throws Exception {
          // 先删除可能存在的表
          jdbcTemplate.execute("DROP TABLE people");
          // 建表语句
          String createTableSql = "CREATE TABLE people (name VARCHAR2(255), age INT)";
          jdbcTemplate.execute(createTableSql);
          for (People item : items) {
              String sql = "INSERT INTO people (name, age) VALUES (?, ?)";
              jdbcTemplate.update(sql, item.getName(), item.getAge());
          }
      }
      

BatchConfigTest.java ファイルの紹介

BatchConfigTest.java ファイルは、JUnit を使用してテストを行うクラスであり、Spring Batch のジョブ設定をテストするために使用されます。

BatchConfigTest.java ファイルのコードは、主に以下の部分で構成されています:

  1. 他のクラスとインターフェースの参照。

    現在のファイルに以下のインターフェースとクラスが含まれていることを宣言します:

    • Assert クラス:テスト結果をアサートするために使用されます。
    • Test アノテーション:テストメソッドをマークするために使用されます。
    • RunWith アノテーション:テストランナーを指定するために使用されます。
    • Job インターフェース:バッチジョブを表します。
    • JobExecution クラス:バッチジョブの実行を表すために使用されます。
    • JobParameters クラス:バッチジョブのパラメータを表すために使用されます。
    • JobParametersBuilder クラス:バッチジョブのパラメータを構築するために使用されます。
    • JobLauncher インターフェース:バッチジョブを起動するために使用されます。
    • Autowired アノテーション:依存関係の注入を行うために使用されます。
    • SpringBootTest アノテーション:テストクラスを Spring Boot テストとして指定するために使用されます。
    • SpringRunner クラス:テストランナーを SpringRunner に指定するために使用されます。

    コードは以下の通りです:

    import org.junit.Assert;
    import org.junit.jupiter.api.Test;
    import org.junit.runner.RunWith;
    import org.springframework.batch.core.Job;
    import org.springframework.batch.core.JobExecution;
    import org.springframework.batch.core.JobParameters;
    import org.springframework.batch.core.JobParametersBuilder;
    import org.springframework.batch.core.launch.JobLauncher;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.test.context.junit4.SpringRunner;
    
    import javax.batch.runtime.BatchStatus;
    import java.util.UUID;
    
  2. BatchConfigTest クラスの定義。

    SpringBootTest アノテーションと SpringRunner ランナーを使用することで、Spring Boot の統合テストを行うことができます。testJob メソッドでは、JobLauncherTestUtils 補助クラスを使用してバッチジョブを起動し、アサーションを使用してジョブの実行状態を検証します。

    1. @Autowired アノテーションを使用して JobLauncherTestUtils インスタンスを自動的に注入します。

      コードは以下の通りです:

      @Autowired
      private JobLauncherTestUtils jobLauncherTestUtils;
      
    2. @Test アノテーションを使用して testJob メソッドをテストメソッドとしてマークします。このメソッドでは、まず JobParameters オブジェクトを作成し、次に jobLauncherTestUtils.launchJob メソッドを使用してバッチジョブを起動し、Assert.assertEquals メソッドを使用してジョブの実行状態が COMPLETED であることをアサートします。

      コードは以下の通りです:

      @Test
      public void testJob() throws Exception {
          JobParameters jobParameters = new JobParametersBuilder()
                  .addString("jobParam", "paramValue")
                  .toJobParameters();
      
          JobExecution jobExecution = jobLauncherTestUtils.launchJob(jobParameters);
      
          Assert.assertEquals(BatchStatus.COMPLETED, jobExecution.getStatus());
      }
      
    3. @Autowired アノテーションを使用して JobLauncher インスタンスを自動的に注入します。

      コードは以下の通りです:

      @Autowired
      private JobLauncher jobLauncher;
      
    4. @Autowired アノテーションを使用して Job インスタンスを自動的に注入します。

      コードは以下の通りです:

      @Autowired
      private Job job;
      
    5. バッチジョブの起動を補助するために、JobLauncherTestUtils という名前の内部クラスを定義します。このクラスでは、バッチジョブを起動するための launchJob メソッドを定義しています。このメソッドでは、jobLauncher.run メソッドを使用してジョブを起動し、ジョブの実行結果を返します。

      コードは以下の通りです:

      private class JobLauncherTestUtils {
          public JobExecution launchJob(JobParameters jobParameters) throws Exception {
              return jobLauncher.run(job, jobParameters);
          }
      }
      

AddPeopleDescProcessorTest.java ファイルの紹介

AddPeopleDescProcessorTest.java ファイルは、JUnit を使用してテストを行うクラスであり、Spring Batch のジョブ設定をテストするために使用されます。

AddPeopleDescProcessorTest.java ファイルのコードは、主に以下の部分で構成されています:

  1. 他のクラスとインターフェースの参照。

    現在のファイルに以下のインターフェースとクラスが含まれていることを宣言します:

    • People クラス:データベースから読み取った人物情報を格納するために使用されます。
    • PeopleDESC クラス:人物情報を変換または処理した後の説明情報を格納するために使用されます。
    • Assert クラス:テストにおける期待される結果と実際の結果が一致するかどうかを検証するために使用されます。
    • Test アノテーション:テストメソッドをマークするために使用されます。
    • RunWith アノテーション:テストランナーを指定するために使用されます。
    • Autowired アノテーション:依存関係の注入を行うために使用されます。
    • SpringBootTest アノテーション:テストクラスを Spring Boot テストとして指定するために使用されます。
    • SpringRunner クラス:テストランナーを SpringRunner に指定するために使用されます。

    コードは以下の通りです:

    import com.oceanbase.example.batch.model.People;
    import com.oceanbase.example.batch.model.PeopleDESC;
    import org.junit.Assert;
    import org.junit.jupiter.api.Test;
    import org.junit.runner.RunWith;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.test.context.junit4.SpringRunner;
    
  2. AddPeopleDescProcessorTest クラスの定義。

    SpringBootTest アノテーションと SpringRunner ランナーを使用することで、Spring Boot の統合テストを行います。

    1. @Autowired アノテーションを使用して AddPeopleDescProcessor インスタンスを自動的に注入します。

      コードは以下の通りです:

      @Autowired
      private AddPeopleDescProcessor processor;
      
    2. @Test アノテーションを使用して testProcess メソッドをテストメソッドとしてマークします。このメソッドでは、まず People オブジェクトを作成し、次に processor.process メソッドを使用してそのオブジェクトを処理し、結果を PeopleDESC オブジェクトに割り当てます。

      コードは以下の通りです:

      @Test
      public void testProcess() throws Exception {
      People people = new People();
      people.setName("John");
      people.setAge(25);
      
      PeopleDESC desc = processor.process(people);
      }
      

AddDescPeopleWriterTest.java ファイルの紹介

AddDescPeopleWriterTest.java ファイルは、JUnit を使用してテストを行うクラスであり、AddDescPeopleWriter の書き込みロジックをテストするために使用されます。

AddDescPeopleWriterTest.java ファイルのコードは、主に以下の部分で構成されています:

  1. 他のクラスとインターフェースの参照。

    現在のファイルに以下のインターフェースとクラスが含まれていることを宣言します:

    • PeopleDESC クラス:人物情報を変換または処理した後の説明情報を格納するために使用されます。
    • Assert クラス:テスト結果をアサートするために使用されます。
    • Test アノテーション:テストメソッドをマークするために使用されます。
    • RunWith アノテーション:テストランナーを指定するために使用されます。
    • Autowired アノテーション:依存関係の注入を行うために使用されます。
    • SpringBootTest アノテーション:テストクラスを Spring Boot テストとして指定するために使用されます。
    • JdbcTemplate クラス:SQL 文を実行するメソッドを提供します。
    • SpringRunner クラス:テストランナーを SpringRunner に指定するために使用されます。
    • ArrayList クラス:空のリストを作成するために使用されます。
    • List インターフェース:クエリ結果セットを操作するために使用されます。

    コードは以下の通りです:

    import com.oceanbase.example.batch.model.PeopleDESC;
    import org.junit.Assert;
    import org.junit.jupiter.api.Test;
    import org.junit.runner.RunWith;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.jdbc.core.JdbcTemplate;
    import org.springframework.test.context.junit4.SpringRunner;
    
    import java.util.ArrayList;
    import java.util.List;
    
  2. AddDescPeopleWriterTest クラスの定義。

    SpringBootTest アノテーションと SpringRunner ランナーを使用することで、Spring Boot の統合テストを行います。

    1. @Autowired を使用してインスタンスを注入します。 @Autowired アノテーションを使用して AddPeopleDescProcessor および JdbcTemplate インスタンスを自動的に注入します。

      コードは以下の通りです:

      @Autowired
      private AddDescPeopleWriter writer;
      @Autowired
      private JdbcTemplate jdbcTemplate;
      
    2. @Test を使用してデータの挿入と出力をテストします。 @Test アノテーションを使用して testWrite メソッドをテストメソッドとしてマークします。このメソッドでは、まず空の peopleDescList リストを作成し、リストに 2 つの PeopleDESC オブジェクトを追加します。次に writer.write メソッドを使用してリスト内のデータをデータベースに書き込みます。続いて jdbcTemplate を使用してクエリ文を実行し、people_desc テーブルのデータを取得し、アサーション文を使用してデータの正確性を検証します。最後に、クエリ結果をコンソールに出力し、ジョブの実行が完了したという情報を出力します。

      1. people_desc テーブルにデータを挿入します。 まず、空の PeopleDESC オブジェクトリスト peopleDescList を作成します。次に、2 つの PeopleDESC オブジェクト desc1 と desc2 を作成し、それぞれのプロパティ値を設定します。desc1 と desc2 を peopleDescList リストに追加します。続いて writer の write メソッドを呼び出し、peopleDescList 内のオブジェクトをデータベースの people_desc テーブルに書き込みます。その後、JdbcTemplate を使用してクエリ文 SELECT COUNT(*) FROM people_desc を実行し、people_desc テーブルのレコード数を取得して、結果を変数 count に割り当てます。最後に Assert.assertEquals メソッドを使用してアサートを行い、count の値が 2 に等しいかどうかを検証します。

        コードは以下の通りです:

           List<PeopleDESC> peopleDescList = new ArrayList<>();
           PeopleDESC desc1 = new PeopleDESC();
           desc1.setId(1);
           desc1.setName("John");
           desc1.setAge(25);
           desc1.setDesc("This is John with age 25");
           peopleDescList.add(desc1);
           PeopleDESC desc2 = new PeopleDESC();
           desc2.setId(2);
           desc2.setName("Alice");
           desc2.setAge(30);
           desc2.setDesc("This is Alice with age 30");
           peopleDescList.add(desc2);
           writer.write(peopleDescList);
        
           String selectSql = "SELECT COUNT(*) FROM people_desc";
           int count = jdbcTemplate.queryForObject(selectSql, Integer.class);
           Assert.assertEquals(2, count);
        
      2. people_desc テーブルのデータを出力します。 まず、JdbcTemplate を使用してクエリ文 SELECT * FROM people_desc を実行し、lambda 式を使用してクエリ結果を処理します。lambda 式では、rs.getInt、rs.getString などのメソッドを使用してクエリ結果セットのフィールド値を取得し、そのフィールド値を新しく作成した PeopleDESC オブジェクトに設定します。新しく作成した各 PeopleDESC オブジェクトを結果リスト resultDesc に追加します。その後、プロンプトメッセージ people_desc 表中的数据: を 1 行出力し、for ループを使用して resultDesc リスト内の各 PeopleDESC オブジェクトを反復処理し、System.out.println を使用して各オブジェクトの内容を出力します。最後に、ジョブの実行が完了したという情報を出力します。

        コードは以下の通りです:

        List<PeopleDESC> resultDesc = jdbcTemplate.query("SELECT * FROM people_desc", (rs, rowNum) -> {
           PeopleDESC desc = new PeopleDESC();
           desc.setId(rs.getInt("id"));
           desc.setName(rs.getString("name"));
           desc.setAge(rs.getInt("age"));
           desc.setDesc(rs.getString("description"));
           return desc;
        });
        
        System.out.println("people_desc 表中的数据:");
        for (PeopleDESC desc : resultDesc) {
           System.out.println(desc);
        }
        
        // 输出作业执行完成后的信息
        System.out.println("Batch Job execution completed.");
        

AddPeopleWriterTest.java ファイルの紹介

AddPeopleWriterTest.java ファイルは、JUnit を使用してテストを行うクラスであり、AddPeopleWriterTest の書き込みロジックをテストするために使用されます。

AddPeopleWriterTest.java ファイルのコードは、主に以下の部分で構成されています:

  1. 他のクラスとインターフェースの参照。

    現在のファイルに以下のインターフェースとクラスが含まれていることを宣言します:

    • People クラス:データベースから読み取った人物情報を格納するために使用されます。
    • Test アノテーション:テストメソッドをマークするために使用されます。
    • RunWith アノテーション:テストランナーを指定するために使用されます。
    • Autowired アノテーション:依存関係の注入を行うために使用されます。
    • SpringBootApplication アノテーション:このクラスを Spring Boot アプリケーションのエントリとしてマークするために使用されます。
    • SpringBootTest アノテーション:テストクラスを Spring Boot テストとして指定するために使用されます。
    • ComponentScan アノテーション:コンポーネントスキャンを行うパッケージまたはクラスを指定するために使用されます。
    • JdbcTemplate クラス:SQL 文を実行するメソッドを提供します。
    • SpringRunner クラス:テストランナーを SpringRunner に指定するために使用されます。
    • ArrayList クラス:空のリストを作成するために使用されます。
    • List インターフェース:クエリ結果セットを操作するために使用されます。

    コードは以下の通りです:

    import com.oceanbase.example.batch.model.People;
    import org.junit.jupiter.api.Test;
    import org.junit.runner.RunWith;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.context.annotation.ComponentScan;
    import org.springframework.jdbc.core.JdbcTemplate;
    import org.springframework.test.context.junit4.SpringRunner;
    
    import java.util.ArrayList;
    import java.util.List;
    
  2. AddPeopleWriterTest クラスの定義。

    SpringBootTest アノテーションと SpringRunner ランナーを使用することで、Spring Boot の統合テストを行い、@ComponentScan アノテーションを使用してスキャンするパッケージパスを指定します。

    1. @Autowired を使用してインスタンスを注入します。 @Autowired アノテーションを使用して addPeopleWriter および JdbcTemplate インスタンスを自動的に注入します。

      コードは以下の通りです:

      @Autowired
      private AddPeopleWriter addPeopleWriter;
      @Autowired
      private JdbcTemplate jdbcTemplate;
      
    2. @Test を使用してデータの挿入と出力をテストします。

      1. people テーブルにデータを挿入します。 まず、空の People オブジェクトリスト peopleList を作成します。次に、2 つの People オブジェクト person1 と person2 を作成し、それらの名前と年齢プロパティを設定します。続いて、これら 2 つの People オブジェクトを peopleList リストに追加します。その後、addPeopleWriter の write メソッドを呼び出し、peopleList をパラメータとしてこのメソッドに渡し、これらの People オブジェクトをデータベースに書き込みます。

        コードは以下の通りです:

           List<People> peopleList = new ArrayList<>();
           People person1 = new People();
           person1.setName("zhangsan");
           person1.setAge(27);
           peopleList.add(person1);
           People person2 = new People();
           person2.setName("lisi");
           person2.setAge(35);
           peopleList.add(person2);
           addPeopleWriter.write(peopleList);
        
      2. people テーブルのデータを出力します。 まず、JdbcTemplate を使用してクエリ文 SELECT * FROM people を実行し、lambda 式を使用してクエリ結果を処理します。lambda 式では、rs.getString および rs.getInt メソッドを使用してクエリ結果セットのフィールド値を取得し、そのフィールド値を新しく作成した People オブジェクトに設定します。新しく作成した各 People オブジェクトを結果リスト result に追加します。次に、プロンプトメッセージ people 表中的数据: を 1 行出力し、for ループを使用して result リスト内の各 People オブジェクトを反復処理し、System.out.println を使用して各オブジェクトの内容を出力します。最後に、ジョブの実行が完了したという情報を出力します。

        コードは以下の通りです:

           List<People> result = jdbcTemplate.query("SELECT * FROM people", (rs, rowNum) -> {
               People person = new People();
               person.setName(rs.getString("name"));
               person.setAge(rs.getInt("age"));
               return person;
           });
        
           System.out.println("people 表中的数据:");
           for (People person : result) {
               System.out.println(person);
           }
        
           // 输出作业执行完成后的信息
           System.out.println("Batch Job execution completed.");
        

完全なコードの表示

::: tab pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.11</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.oceanbase</groupId>
    <artifactId>java-oceanbase-springboot</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>java-oceanbase-springbatch</name>
    <description>Demo project for Spring Batch</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>com.oceanbase</groupId>
            <artifactId>oceanbase-client</artifactId>
            <version>2.4.3</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-batch</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.10</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>javax.activation</groupId>
            <artifactId>javax.activation-api</artifactId>
            <version>1.2.0</version>
        </dependency>
        <dependency>
            <groupId>jakarta.persistence</groupId>
            <artifactId>jakarta.persistence-api</artifactId>
            <version>2.2.3</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

tab application.properties

#configuration database

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:oceanbase://host:port/schema_name?characterEncoding=utf-8
spring.datasource.username=user_name
spring.datasource.password=

# JPA
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update

# Spring Batch
spring.batch.job.enabled=false

#
logging.level.org.springframework=INFO
logging.level.com.example=DEBUG

tab BatchApplication.java

package com.oceanbase.example.batch;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class BatchApplication {
    public static void main(String[] args) {
        SpringApplication.run(BatchApplication.class, args);
    }

    public void runBatchJob() {
    }
}

tab BatchConfig.java

package com.oceanbase.example.batch.config;

import com.oceanbase.example.batch.model.People;
import com.oceanbase.example.batch.model.PeopleDESC;
import com.oceanbase.example.batch.processor.AddPeopleDescProcessor;
import com.oceanbase.example.batch.writer.AddDescPeopleWriter;
import org.springframework.batch.core.Job;
import org.springframework.batch.core.Step;
import org.springframework.batch.core.
このページの内容
前提条件
手順
手順 1:OB Cloud データベースの接続文字列を取得する
手順 2:java-oceanbase-springbatch プロジェクトを IDEA にインポートする
手順 3:java-oceanbase-springbatch プロジェクト内のデータベース接続情報を変更する
手順 4:java-oceanbase-springbatch プロジェクトを実行する
よくある質問
1. 接続タイムアウト
2. 文字セットの問題
3. SSL 接続
4. アカウントパスワード内の特殊文字
プロジェクトコードの紹介
pom.xml コードの紹介
application.properties ファイルの紹介
BatchApplication.java ファイルの紹介
BatchConfig.java ファイルの紹介
People.java ファイルの紹介
PeopleDESC.java ファイルの紹介
AddPeopleDescProcessor.java ファイルの紹介
AddDescPeopleWriter.java ファイルの紹介
AddPeopleWriter.java ファイルの紹介
BatchConfigTest.java ファイルの紹介
AddPeopleDescProcessorTest.java ファイルの紹介
AddDescPeopleWriterTest.java ファイルの紹介
AddPeopleWriterTest.java ファイルの紹介
完全なコードの表示