このページでは、Google が推奨、作成している Spanner JDBC ドライバについて説明します。
Google は CSpanner 用のオープンソース JDBC ドライバを提供しています。オープンソースのドライバにより、アプリケーションで Java Database Connectivity(JDBC)API を使用して Spanner にアクセスできるようになります。
このページでは、Spanner JDBC ドライバに関するよくある質問への回答を示します。ドライバの使用方法については、JDBC を GoogleSQL 言語データベースに接続するをご覧ください。
データ操作言語(DML)とデータ定義言語(DDL)のサポート
Spanner JDBC ドライバは、DML ステートメントと DDL ステートメントをサポートしています。
親子テーブルの関係とインターリーブされたテーブルの関係
インターリーブされたテーブルの関係は、JDBC の外部キー関係にマップされます。Spanner は、親とインターリーブされた子テーブルのレコードの主キーを、関連付けられている親テーブルのレコードの主キーに依存させます。Spanner では、子テーブルの主キーの親主キー部分が、親テーブルの主キーを参照する外部キーとして定義されます。したがって、インターリーブされたテーブル関係は、DatabaseMetaData
の外部キーメタデータ呼び出しを使用してナビゲートできます。詳細については、スキーマについてをご覧ください。
データ型のサポート
Spanner JDBC ドライバは、Spanner の STRUCT
データ型をサポートしていません。他のすべての型には適切なマッピングがあります。
インデックスのサポート
適切なクエリ構文を使用して、SELECT
クエリでインデックスを使用できます。オープンソースのドライバで、インデックスを DDL ステートメントとして作成および変更することもできます。特定のインデックスに関する情報にアクセスするには、DatabaseMetaData.getIndexInfo()
メソッドを使用します。
パラメータ化クエリのサポート
このドライバは位置パラメータ化をサポートしています。
接続プール
Spanner JDBC ドライバは、開かれているすべての接続と、それらの接続を開くために使用された接続プロパティを追跡することで、プールを内部的に処理します。たとえば、既存の接続と同じ接続プロパティを持つ新しい接続が必要な場合は、これらのプール接続が再利用されます。接続は、直近 60 秒間使用されていない場合、自動的に閉じられます。
独自のプールを提供する場合は、任意の標準 JDBC 接続プールを使用できます。ドライバクラス com.google.cloud.spanner.jdbc.JdbcDriver
を使用するようにプールを構成し、有効な Spanner JDBC 接続 URL を設定します。
制限事項
このドライバの機能には、基になっているシステムによって定義される制限があります。Spanner の割り当てと上限をご覧ください。
サポート
サポート オプションについては、サポートページをご覧ください。
次のステップ
JDBC を GoogleSQL 言語データベースに接続する方法を学習する。