この記事では、OracleモードでのOceanBaseデータベースへの接続方法とアクセス方法について説明します。現在、OceanBaseデータベースへの接続は、クライアント、ドライバー、ORMフレームワーク、接続プールを通じて行うことができます。
クライアントツールによる接続
OceanBaseデータベースのOracleテナントに接続する場合、次のコマンドラインクライアントツールをサポートします:
OceanBaseクライアント(OBClient)
OBClientは、インタラクティブおよびバッチ処理クエリに対応したツールで、別途インストールする必要があります。コマンドラインのユーザーインターフェースを備え、データベースに接続する際のクライアントとして機能し、OceanBaseデータベースのOracleテナントとMySQLテナントをサポートします。
OBClientは実行時にOceanBaseデータベースのテナントの接続情報を指定する必要があります。OceanBaseデータベースに接続した後、OBClientを介してデータベースコマンド、SQLステートメント、PLステートメントを実行し、次のタスクを実現することができます:
クエリ結果の計算、保存、出力。
データベースオブジェクトの作成、オブジェクト定義の確認と変更。
バッチスクリプトの開発と実行。
データベースの管理やパラメータの変更などの実行。
OceanBaseクライアントを使用してOceanBaseテナントに接続する具体的な操作例については、OBClientを使用したOceanBaseテナントへの接続を参照してください。
OceanBase開発者センター(ODC)
OceanBase開発者センター(OceanBase Developer Center、ODC)は、OceanBaseデータベース用に特別に設計されたエンタープライズレベルのデータベース開発プラットフォームです。
ODCは、OceanBaseデータベースに接続するMySQLテナントとOracleテナントの両方をサポートします。データベース開発者に日常のデータベース開発操作、WebSQL、SQL診断、セッション管理、データインポートとエクスポートなどの機能を提供します。
OceanBase開発者センターを使用してOceanBaseテナントに接続する具体的な操作例については、ODCを使用したOceanBaseデータベースへの接続を参照してください。
GUIツールによる接続
コマンドラインツールの他に、以下のグラフィカルツールを使用してOceanBaseデータベースに接続し、管理することもできます:
DBeaver
DBeaverは汎用のデータベースクライアントツールであり、Oracleドライバーを介してOceanBaseデータベースのOracleテナントに接続することをサポートしています。直感的なグラフィカルインターフェースを提供し、SQL編集、データ閲覧、テーブル設計などの機能をサポートしています。
DBeaverを使用してOceanBaseデータベースに接続する具体的な操作例については、DBeaverを使用したOceanBaseデータベースへの接続を参照してください。
Navicat
Navicatは強力なデータベース管理ツールであり、Oracleドライバーを介してOceanBaseデータベースのOracleテナントに接続することをサポートしています。それはデータの可視化、データの同期、レポートの生成などの機能を提供します。
Navicatを使用してOceanBaseデータベースに接続する具体的な操作例については、Navicatを使用したOceanBaseデータベースへの接続を参照してください。
ドライバーまたはORMフレームワークによる接続
C
Cドライバー
OBCI
OBCI (OceanBase Call Interface)は、Oracle OCI との完全な互換性を持つ、OceanBase の C 言語インターフェースです。
OBCIによりC言語を使用してOceanBaseデータベース内のデータを操作することができます。OBCIは動的リンクライブラリ(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は標準JDBC (Java Database Connectivity) APIをJavaアプリケーションとしてOceanBaseデータベースと接続するためのドライバーを提供します。
JDBC(Java Database Connectivity)は、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構文に限り使用することができます。
OceanBase Connector/Jは、標準的なJDBCアプリケーションプログラミングインターフェース(API)をサポートするだけでなく、Oracle Driverの使用方法とも互換性があります。また、OceanBaseのOracleモードはOracleの大部分の構文と互換性があります。
OceanBase Connector/Jはワンクリックインストールモードが採用されています。ドライバーインストールパッケージ名は
oceanbase-client-[バージョン番号].jarです。OceanBase Connector/Jドライバーのインストールパッケージを取得します。OceanBase公式Webサイトのリソース -> ダウンロードセンター -> Enterprise Edition -> ドライバーとミドルウェアにあるOceanBase JDBCドライバーから、該当するバージョンをクリックし、必要事項を入力後、OceanBase Connector/Jドライバーのインストールパッケージをダウンロードしてください。インストール手順の詳細については、公式Webサイトのドキュメント 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データベースは以下の接続プール実装をサポートしています。クリックして詳細な設定例を見ます: