このセクションでは、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モードかを自動的に認識し、プロトコル層で両モードと互換性を持ちます。
注意
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公式ウェブサイトのリソース -> ダウンロードセンター -> エンタープライズ版 -> ドライバーとミドルウェア の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データベースは以下の接続プール実装をサポートしています。クリックして詳細な設定例を見ます: