この記事では、MySQLモードでのOceanBaseデータベースへの接続方法とアクセス方法について説明します。現在、OceanBaseデータベースへの接続は、クライアント、GUI、ドライバー、ORMフレームワーク、接続プールを通じて行うことができます。
クライアントツールによる接続
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開発者センター(ODC)
OceanBase開発者センター(OceanBase Developer Center、ODC)は、OceanBaseデータベース用に特別に設計されたエンタープライズレベルのデータベース開発プラットフォームです。
ODCは、OceanBaseデータベースに接続するMySQLテナントとOracleテナントの両方をサポートします。データベース開発者に日常のデータベース開発操作、WebSQL、SQL診断、セッション管理、データインポートとエクスポートなどの機能を提供します。
OceanBase開発者センターを使用してOceanBaseテナントに接続する具体的な操作例については、ODCによるOceanBaseデータベースへの接続を参照してください。
GUIツールによる接続
DBeaver
DBeaverは汎用的なデータベースクライアントツールであり、各データベースが提供するJDBCドライバーを使用してデータベースに接続します。リレーショナルデータベース、非リレーショナルデータベース、分散データベースなど、一般的なデータベースに対応しています。
詳細については、DBeaverを使用してデータベースに接続するを参照してください。
Navicat
DBeaverと同様に、Navicatも汎用的なデータベースクライアントツールであり、各データベースが提供するJDBCドライバーを使用してデータベースに接続します。リレーショナルデータベース、非リレーショナルデータベース、分散データベースなど、一般的なデータベースに対応しています。
詳細については、Navicatを使用してデータベースに接続するを参照してください。
ドライバーまたはORMフレームワークによる接続
C
Cドライバー(OceanBase Connector/C)
OceanBase Connector/Cは、C/C++に基づいたOceanBaseクライアント開発コンポーネントで、C API Libライブラリをサポートしています。
OceanBase Connector/Cは、C/C++プログラムからOceanBase分散データベースクラスタに接続し、データアクセス、エラー処理、プリペアドステートメント(prepared statement)などの操作を行うための低レベルAPIを提供するコネクタです。
OceanBase Connector/CはLibOBClientとも呼ばれ、アプリケーションが独立したサーバープロセスとしてネットワーク経由でデータベースサーバーのOBServerノードと通信するために使用されます。クライアントプログラムは、コンパイル時に C API のヘッダーファイルをインクルードし、同時に C API ライブラリにリンクすることができます。
説明
LibOBClientが生成するsoファイルは
libobclient.so(MySQLのlibmysqlclient.soに対応)であり、OceanBaseデータベースをインストールすると利用できるコマンドラインツールはOBClient (MySQLのコマンドラインツールに対応)です。C言語アプリケーションからOceanBaseデータベースに接続する具体的な操作例については、Cサンプルアプリケーションの作成を参照してください。
Go言語
Go言語ドライバー
Go-SQL-Driver/MySQL
Go-SQL-Driver/MySQLは、Go言語で実装されたMySQLドライバーであり、Goのデータベース/sql標準インターフェースに準拠しており、Goアプリケーションとの統合を容易に行うことができます。Go-SQL-Driver/MySQLアプリケーションからOceanBaseデータベースに接続する具体的な操作例については、Goサンプルアプリケーションの作成を参照してください。
Go言語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ライブラリです。開発者はTestContainersを用いることで、テストの実行時に必要なDockerコンテナをプログラムコードから簡単に起動・管理できるようになり、統合テストの準備を大幅に簡素化できます。TestContainersを使用してOceanBaseデータベースに接続する場合の具体的な操作例については、TestContainers JavaによりOceanBaseデータベースに接続するサンプルプログラムを参照してください。
PHP
PHPドライバー
EXT
EXT(PHP Extension)はPHPの拡張機能であり、さまざまなデータベースへの接続およびインタラクションに使用します。開発者がデータベースをより効果的に操作し、データを処理できるように、さまざまな機能を提供します。EXTを使用してOceanBaseデータベースに接続する具体的な操作例については、EXTドライバーによりOceanBaseデータベースに接続するサンプルプログラムを参照してください。
MySQLi
MySQLi(MySQL Improved)は、PHPが公式に提供する拡張機能であり、MySQLデータベースとのやり取りを行うために使用されます。オブジェクト指向(OOP)と手続き型プログラミング(PL)に対応し、プリペアドステートメント、トランザクションサポート、マルチクエリなどの機能を提供することで、パフォーマンスとセキュリティの向上を目指しています。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の両方に対応しており、外部ライブラリへの依存関係がないPure Pythonで実装されています。OceanBaseデータベースのMySQLモードでは、MySQL-connector-pythonを使ってOceanBaseデータベースへ接続し、クエリの実行やデータの管理を行うことも可能です。MySQL-connector-pythonアプリケーションを使用して、OceanBaseデータベースに接続する具体的な操作例については、MySQL-connector-pythonを使用してOceanBaseデータベースに接続するサンプルプログラムの作成を参照してください。
接続プール
OceanBaseデータベースはさまざまな接続プールの接続に対応しており、ビジネスの特性に合わせて選択し、接続プールを実装することができます。