このセクションでは、MySQLモードでOceanBaseデータベースに接続しアクセスする方法について説明します。現在、主にクライアント、GUI、ドライバー、ORMフレームワーク、または接続プールを使用してOceanBaseデータベースに接続することができます。
クライアントの選択とOceanBaseデータベースへの接続
OceanBaseデータベースのMySQLテナントに接続する際、サポートされているクライアントは以下のとおりです:
MySQLクライアント(mysql)
mysqlはMySQLデータベースのコマンドラインクライアントであり、別途インストールが必要です。OceanBaseデータベースのテナントには、MySQL互換テナントとOracle互換テナントが含まれます。MySQL互換テナントにアクセスする場合、mysqlを使用して接続できます。
OceanBaseデータベースに接続した後、mysqlのコマンドライン環境で、以下のタスクを実行するためのmysql運用コマンドやSQL文を実行できます:
クエリ結果の計算、保存、および出力。
データベースオブジェクトの作成、オブジェクト定義の確認および変更。
データベース管理やパラメータの変更など。
MySQLクライアントを使用してOceanBaseデータベースのMySQLテナントに接続する具体的な操作例については、MySQLクライアントを使用してOceanBaseテナントに接続するを参照してください。
OceanBaseクライアント(OBClient)
OBClientは対話型およびバッチ処理クエリツールであり、別途インストールが必要です。これはコマンドラインユーザーインターフェースであり、データベースに接続する際にクライアントとして機能し、OceanBaseデータベースのMySQLテナントとOracleテナントをサポートします。
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データベースに接続するを参照してください。
GUIを使用したOceanBaseデータベースへの接続
DBeaver
DBeaverは汎用のデータベースクライアントツールであり、各データベースが提供するJDBCドライバを使用してデータベースに接続する仕組みです。一般的なリレーショナルデータベース、非リレーショナルデータベース、分散型データベースなどをサポートしています。
詳細については、DBeaverを使用してデータベースに接続するを参照してください。
Navicat
DBeaverと同様に、Navicatも汎用のデータベースクライアントツールです。各データベースが提供するJDBCドライバを使用してデータベースに接続し、一般的なリレーショナルデータベース、非リレーショナルデータベース、分散型データベースなどをサポートしています。
詳細については、Navicatによるデータベースへの接続を参照してください。
ドライバまたはORMフレームワークを選択してOceanBaseデータベースに接続する
C
Cドライバ(OceanBase Connector/C)
OceanBase Connector/Cは、C/C++ベースのOceanBaseクライアント開発コンポーネントであり、C API Libライブラリをサポートしています。
OceanBase Connector/Cは、C/C++プログラムが比較的低レベルな方法でOceanBase分散データベースクラスタにアクセスし、データベース接続、データアクセス、エラー処理、およびプリペアドステートメント処理などの操作を実行できるようにします。
OceanBase Connector/CはLibOBClientとも呼ばれ、アプリケーションが独立したサーバープロセスとしてネットワーク接続を介してデータベースサーバーOBServerノードと通信するために使用されます。クライアントプログラムはコンパイル時にC APIヘッダーファイルを参照し、同時にC APIライブラリファイルに接続できます。
説明
LibOBClientが生成するsoファイルは
libobclient.so(MySQLのlibmysqlclient.soに対応)であり、OceanBaseデータベースのインストール後のコマンドラインツールはOBClientです(MySQLのコマンドラインツールに対応)。Cアプリケーションを使用してOceanBaseデータベースに接続する具体的な操作例については、Cサンプルアプリケーションの作成を参照してください。
Golang
Golangドライバ
Go-SQL-Driver/MySQL
Go-SQL-Driver/MySQLは、Go言語で実装されたMySQLドライバプログラムであり、Goのdatabase/sql標準インターフェースに準拠しており、Goアプリケーションとの統合が容易です。Go-SQL-Driver/MySQLを使用してアプリケーションをOceanBaseデータベースに接続する具体的な操作例については、Goサンプルアプリケーションの作成を参照してください。
Golang ORM
GORM
GORMは、Go言語向けの優れたORM(オブジェクト関係マッピング)ライブラリであり、豊富な機能を提供し、開発者がデータベースとのやり取りをより容易に行えるよう支援します。GORMを使用してOceanBaseデータベースに接続する具体的な操作例については、GORMによるOceanBaseデータベース接続サンプルプログラムを参照してください。
Java
Javaドライバ(MySQL Connector/J)
MySQL Connector/Jは、MySQLが公式に提供するJDBCドライバプログラムです。
Javaドライバプログラムを使用してOceanBaseデータベースに接続する具体的な操作例については、Javaサンプルアプリケーションの作成を参照してください。
SpringJDBC
SpringJDBCを使用してOceanBaseデータベースに接続する具体的な操作例については、SpringJDBCによるOceanBaseデータベース接続を参照してください。
Java ORMフレームワーク
SpringBoot
SpringBootを使用してOceanBaseデータベースに接続する具体的な操作例については、SpringBootによるOceanBaseデータベース接続を参照してください。
SpringBatch
SpringBatchでOceanBaseデータベースに接続する具体的な操作例については、SpringBatchでOceanBaseデータベースに接続するを参照してください。
SpringJPA
SpringJPAでOceanBaseデータベースに接続する具体的な操作例については、SpringJPAでOceanBaseデータベースに接続するを参照してください。
Hibernate
HibernateでOceanBaseデータベースに接続する具体的な操作例については、HibernateでOceanBaseデータベースに接続するを参照してください。
MyBatis
MyBatisでOceanBaseデータベースに接続する具体的な操作例については、MyBatisでOceanBaseデータベースに接続するを参照してください。
Javaライブラリテストツール
TestContainers
TestContainersはオープンソースのJavaライブラリテストツールで、軽量なコンテナ化テスト環境を提供することを主な目的としています。コンテナ化された依存環境を提供し、開発者がテスト中にDockerコンテナを迅速に起動および管理できるようにすることで、統合テストを容易にします。TestContainersを使用してOceanBaseデータベースに接続する具体的な操作例については、TestContainers JavaでOceanBaseデータベースに接続するサンプルプログラムを参照してください。
PHP
PHPドライバー
EXT
EXT(PHP Extension)は、PHPの拡張機能の一つで、さまざまなデータベースへの接続や操作に使用されます。データベースの操作やデータ処理を開発者が効率的に行えるよう、多様な機能を提供します。EXTを使用してOceanBaseデータベースに接続する具体的な操作例については、EXTドライバーでOceanBaseデータベースに接続するサンプルプログラムを参照してください。
MySQLi
MySQLi(MySQL Improved)は、PHPが公式に提供する拡張機能で、MySQLデータベースとのやり取りに使用されます。オブジェクト指向と手続き型の両方のプログラミングをサポートし、プリペアドステートメント、トランザクションのサポート、複数クエリなどの機能を備えており、パフォーマンスとセキュリティの向上を目指しています。MySQLiを使用してOceanBaseデータベースに接続する具体的な操作例については、MySQLiドライバーを使用してOceanBaseデータベースに接続するを参照してください。
PDO
PDO(PHP Data Objects)は、データベースアクセスの抽象化レイヤーであり、開発者が統一された方法でさまざまなデータベースとやり取りできるようにします。PDOはプリペアドステートメントをサポートしており、セキュリティの向上に寄与するとともに、異なるデータベース間でのコード移行を容易にします。PDOを使用してOceanBaseデータベースに接続する具体的な操作例については、PDOドライバーを使用してOceanBaseデータベースに接続するを参照してください。
Python
Pythonドライバー(PyMySQL)
PyMySQL
PyMySQLは、Python3.xバージョンでMySQLサーバーに接続するためのライブラリです。PythonデータベースAPI v2.0仕様に準拠しており、pure-Python MySQLクライアントライブラリを含んでいます。OceanBaseデータベースのMySQLモードでは、ユーザーはPyMySQLドライバーを使用して、PythonアプリケーションとOceanBaseデータベースとの接続を提供できます。Pythonアプリケーションを使用してOceanBaseデータベースに接続する具体的な操作例については、Pythonサンプルアプリケーションの作成を参照してください。
mysqlclient
mysqlclientは、MySQLデータベースのPythonクライアントライブラリで、MySQL公式C APIのカプセル化です。mysqlclientアプリケーションを使用してOceanBaseデータベースに接続する具体的な操作例については、mysqlclientでOceanBaseデータベースに接続するサンプルプログラムを参照してください。
MySQL-connector-python
MySQL-connector-pythonは、Oracleが公式に提供するPython専用のMySQLデータベースドライバーです。PythonデータベースAPI v2.0仕様に準拠し、PythonコードからMySQLデータベースとやり取りするための完全な機能セットを提供します。このライブラリはクロスプラットフォームであり、Python 2および3をサポートしており、外部ライブラリに依存せずに純粋なPythonで実装されています。OceanBaseデータベースのMySQLモードでは、MySQL-connector-pythonを使用してOceanBaseデータベースへの接続を確立し、クエリの実行やデータの管理も行えます。MySQL-connector-pythonアプリケーションでOceanBaseデータベースに接続する具体的な操作例については、MySQL-connector-pythonでOceanBaseデータベースに接続するサンプルプログラムを参照してください。
接続プール
OceanBaseデータベースはさまざまな接続プール接続をサポートしており、ビジネスの特性に応じて自由に接続プールの実装を選択できます。