このセクションでは、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が公式に提供するMySQLデータベースドライバーで、Python専用に設計されています。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データベースはさまざまな接続プールの接続をサポートしており、ビジネスの特性に応じて選択して実装できます。