このセクションでは、OracleモードでOceanBaseデータベースに接続しアクセスする方法について説明します。現在、主にクライアント、ドライバー、ORMフレームワーク、または接続プールを使用してOceanBaseデータベースに接続することがサポートされています。
クライアントからOceanBaseデータベースへの接続
OceanBaseデータベースのOracleテナントに接続する際、以下のコマンドラインクライアントツールをサポートしています:
OceanBaseクライアント(OBClient)
OBClientは対話型およびバッチ処理クエリツールであり、別途インストールが必要です。これはコマンドラインユーザーインターフェースであり、データベースに接続する際にクライアントとして機能し、OceanBaseデータベースのOracleテナントおよびMySQLテナントをサポートしています。
OBClientを実行する際には、OceanBaseデータベーステナントの接続情報を指定する必要があります。OceanBaseデータベースに接続後、OBClientを使用していくつかのデータベースコマンド(一般的なMySQLコマンドを含む)、SQLステートメント、PLステートメントを実行し、以下のタスクを実現できます:
クエリ結果の計算、保存、印刷。
データベースオブジェクトの作成、オブジェクト定義の確認と変更。
バッチ処理スクリプトの開発と実行。
データベース管理やパラメータの変更などの実行。
OceanBaseクライアントを使用してOceanBaseテナントに接続する具体的な操作例については、OBClientを使用したOceanBaseテナントへの接続を参照してください。
OceanBase Developer Center(ODC)
OceanBase Developer Center(ODC)は、OceanBaseデータベース専用に設計されたエンタープライズ向けデータベース開発プラットフォームです。
ODCはOceanBaseデータベースのMySQLテナントおよびOracleテナントへの接続をサポートしており、データベース開発者に対して、日常的なデータベース開発操作、WebSQL、SQL診断、セッション管理、データのインポート/エクスポートなどの機能を提供します。
OceanBase Developer Centerを使用してOceanBaseテナントに接続する具体的な操作例については、ODCを使用したOceanBaseデータベースへの接続を参照してください。
グラフィカルデータベース管理ツール
コマンドラインツール以外にも、以下のグラフィカルツールを使用してOceanBaseデータベースに接続および管理できます:
DBeaver
DBeaverは汎用データベースクライアントツールであり、Oracleドライバを使用してOceanBaseデータベースのOracleテナントに接続することをサポートしています。直感的なグラフィカルインターフェースを提供し、SQL編集、データ参照、テーブル設計などの機能をサポートしています。
DBeaverを使用してOceanBaseデータベースに接続する具体的な操作例については、DBeaverを使用したOceanBaseデータベースへの接続を参照してください。
Navicat
Navicatは多機能データベース管理ツールであり、Oracleドライバを使用してOceanBaseデータベースのOracleテナントに接続することをサポートしています。データ可視化、データ同期、レポート生成などの機能を提供しています。
Navicatを使用してOceanBaseデータベースに接続する具体的な操作例については、Navicatを使用したOceanBaseデータベースへの接続を参照してください。
ドライバまたはORMフレームワークを選択してOceanBaseデータベースに接続する
C
Cドライバ
OBCI
OBCI(OceanBase Call Interface)は、Oracle OCIと互換性のあるOceanBase C言語インターフェースであり、Oracle OCIと完全に互換性のある機能を提供します。
OBCIを使用すると、C言語でOceanBaseデータベース内のデータを操作できます。動的リンクライブラリ(OBCIライブラリ)の形で標準的なデータベースアクセス機能を提供し、アプリケーションは実行時にこのライブラリをリンクすることでこれらの機能を利用できます。
OceanBaseが提供するOBCIは、Oracle OCIと互換性のあるOceanBase C言語呼び出しインターフェースであり、OCI互換の機能を提供します。Oracle OCIで記述されたC言語アプリケーションを使用する場合、アプリケーションのソースコードを変更する必要はありません。リンク時にランタイムライブラリをOBCIライブラリに指定するだけで済みます。このライブラリファイルは、デフォルトで
/u01/obclient/libパスにインストールされます。Cアプリケーションを使用してOceanBaseデータベースに接続する具体的な操作例については、CアプリケーションからOceanBaseデータベースへの接続を参照してください。
ODBC
ODBC(Open Database Connectivity)は、標準的なデータベースアクセスインターフェースであり、これを通じて異なる種類のデータベースに接続し、操作を統一的な方法で行うことができます。OceanBaseが提供するODBCドライバを使用すると、アプリケーションは標準SQL構文を使用してOceanBaseデータベースとやり取りでき、基盤となる実装の詳細を気にする必要はありません。ODBCを利用することで、C、C++などさまざまなプログラミング言語でアプリケーションを開発し、データベース間の互換性と柔軟性を実現できます。ODBCドライバと組み合わせることで、開発者はさまざまな環境でOceanBaseに簡単に接続でき、データアクセスプロセスを簡素化し、開発効率を向上させることができます。
ODBCを使用してOceanBaseデータベースに接続する具体的な操作例については、CアプリケーションからOceanBaseデータベースへの接続を参照してください。
C ORMフレームワーク
SqlSugar
SqlSugarは、シンプルで使いやすいC# ORM(オブジェクト関係マッピング)フレームワークであり、開発者が迅速かつ効率的にデータベース操作を行えるよう支援することを目的としています。SqlSugarは強力なデータクエリと操作機能を提供し、OceanBaseを含むさまざまな主要なデータベースをサポートしています。SqlSugarを使用すると、開発者はシンプルなC#コードで複雑なデータベース操作を実行でき、煩雑なSQL文の作成を回避し、開発効率を向上させることができます。
SqlSugarを使用してOceanBaseデータベースに接続する具体的な操作例については、CアプリケーションからOceanBaseデータベースへの接続を参照してください。
Java
Javaドライバ
OceanBase Connector/J
OceanBase Connector/Jは、標準Javaデータベース接続(JDBC)APIを使用して、JavaアプリケーションがOceanBaseデータベースに接続するためのドライバを提供します。
Javaデータベースコネクタ(Java Database Connectivity、JDBC)は、Javaがリレーショナルデータベースに接続するためのインターフェースであり、Javaの標準です。JDBC標準はSun Microsystemsによって定義され、標準の
java.sqlインターフェースを通じて実装されており、各プロバイダが独自のJDBCドライバを使用して標準を実装および拡張できるようにしています。JDBCはX/Open SQLに基づくコールレベルインターフェース(Call Level Interface、CLI)です。OceanBase Connector/JドライバはJDBC Type 4ドライバタイプに属し、ローカルプロトコルを介してデータベースエンジンと直接通信できます。Connector/JドライバはOB2.0プロトコルと互換性があります。
OceanBaseデータベースはOceanBase Connector/Jドライバをサポートしており、同時にMySQLネイティブのJDBCドライバ(MySQL Connector Java)とも完全に互換性があります。OceanBase Connector/JはMySQL JDBCの使用方法と完全に互換性があり、OceanBaseデータベースの実行モードがMySQLモードかOracleモードかを自動的に認識し、プロトコル層でこれら2つのモードと両方互換性を持ちます。
注意
OceanBaseデータベースは、JDBCドライバ接続時のテナント名に基づいて、実行モードがMySQLモードかOracleモードかを判断します。Oracleモードのテナントでは、Oracle互換のSQL構文のみの使用が許可されます。
標準のJDBCアプリケーションプログラミングインターフェース(API)をサポートするだけでなく、OceanBase Connector/JはOracle Driverの使用方法とも互換性があります。OceanBaseのOracleモードは、Oracleのほとんどの構文と互換性があります。
OceanBase Connector/Jはワンクリックインストールモードを採用しており、ドライバーのインストールパッケージ名は
oceanbase-client-[バージョン番号].jarです。OceanBase Connector/Jドライバーのインストールパッケージを取得します。OceanBase公式Webサイトの リソース -> ダウンロードセンター -> エンタープライズ版 -> ドライバーとミドルウェア の OceanBase JDBCドライバー から対応するバージョンをクリックし、情報を入力した後、OceanBase Connector/Jドライバーのインストールパッケージをダウンロードします。具体的なインストール手順については、公式ドキュメント OceanBase Connector/J を参照してください。
JavaアプリケーションでOceanBaseデータベースに接続する具体的な操作例については、JavaアプリケーションでOceanBaseデータベースに接続する を参照してください。
SpringJDBC
SpringJDBCでOceanBaseデータベースに接続する具体的な操作例については、SpringJDBCでOceanBaseデータベースに接続する を参照してください。
Java ORMフレームワーク
SpringBoot
SpringBootでOceanBaseデータベースに接続する具体的な操作例については、SpringBootでOceanBaseデータベースに接続する を参照してください。
SpringBatch
SpringBatchでOceanBaseデータベースに接続する具体的な操作例については、SpringBatchでOceanBaseデータベースに接続する を参照してください。
SpringDataJPA
SpringDataJPAでOceanBaseデータベースに接続する具体的な操作例については、SpringDataJPAでOceanBaseデータベースに接続する を参照してください。
Hibernate
HibernateでOceanBaseデータベースに接続する具体的な操作例については、HibernateでOceanBaseデータベースに接続する を参照してください。
MyBatis
MyBatisでOceanBaseデータベースに接続する具体的な操作例については、MyBatisでOceanBaseデータベースに接続する を参照してください。
Jfinal
JfinalでOceanBaseデータベースに接続する具体的な操作例については、MyBatisでOceanBaseデータベースに接続する を参照してください。
接続プールの設定
OceanBaseデータベースはさまざまな接続プールの実装をサポートしており、ビジネスニーズに合わせて適切な接続プールを選択できます。以下は各接続プールの特徴と適用シナリオです:
接続プール |
特徴 |
適用シナリオ |
|---|---|---|
| Druid | 機能が豊富で、監視・統計機能を提供 | エンタープライズアプリケーションで、接続プールの監視と管理が必要な場合 |
| HikariCP | 高パフォーマンスで軽量級 | パフォーマンスを求める高同時実行アプリケーション |
| C3P0 | 成熟した安定性と豊富な機能 | 従来のJavaアプリケーション |
| DBCP | Apacheプロジェクトで、設定が柔軟 | Springなどのフレームワークと連携する必要がある場合 |
| Proxool | 接続プールの監視をサポート | 接続状態を監視するアプリケーションが必要な場合 |
| Tomcat | Tomcatコンテナに内蔵 | Webアプリケーション |
| Commons Pool | 汎用オブジェクトプールの実装 | 接続プールのロジックをカスタマイズする必要がある場合 |
接続プールの設定推奨事項
- 初期接続数:5~10に設定することを推奨します。
- 最大接続数:アプリケーションの負荷とデータベースのリソース状況に応じて設定します。
- 接続タイムアウト時間:30秒に設定することを推奨します。
- アイドル接続の回収時間:10分に設定することを推奨します。
- 検証クエリ:
SELECT 1 FROM DUALに設定することを推奨します。
モニタリングとメンテナンス
- 定期的に接続プールの状態をチェックし、接続リークを防ぎます。
- 接続待ち時間とアクティブ接続数をモニタリングします。
- ビジネス負荷に応じて接続プールパラメータを動的に調整します。
接続プールの実装例
OceanBaseデータベースは以下の接続プール実装をサポートしています。クリックして詳細な設定例を見ます: