このページでは、GoogleSQL 言語データベースと PostgreSQL 言語データベースの Spanner でサポートされているドライバについて説明します。
Google は、いくつかの一般的なオブジェクト リレーショナル マッピング ライブラリ(ORM)とフレームワークに対して、オープンソースの Spanner ドライバをサポートしています。これらのドライバは、こうしたフレームワークで定義された API を介して Spanner データベースを使用できます。
次の表に、Spanner でサポートされているすべてのオープンソース ORM とドライバ、およびそれらがサポートする機能を示します。サポートされている SQL 言語ごとに 1 つのテーブルがあります。
Spanner クライアント ライブラリを使用して Spanner API にアクセスすることもできます。詳細については、Spanner クライアント ライブラリをご覧ください。
GoogleSQL ドライバと ORM
| 機能 | database/sql | GORM | Spanner JDBC | Hibernate | Spring Data | R2DBC* | Entity Framework | Active Record | SQLAlchemy | Django | NHibernate |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 言語 | Go | Go | Java | Java | Java | Java | C# | Ruby | Python | Python | C# |
| ステートメントのヒント | † | ||||||||||
| ミューテーション | |||||||||||
| バッチ DML | |||||||||||
| バッチ DDL | |||||||||||
| ステイル読み取り | |||||||||||
| インターリーブされたテーブル | |||||||||||
| パーティション化 DML | |||||||||||
| セッションのラベル付け | |||||||||||
| リクエストの優先度 | |||||||||||
| JSON 型 | |||||||||||
| リクエストのタグ付け | |||||||||||
| Google SQL 言語 | |||||||||||
| PostgreSQL 言語 | |||||||||||
| 制限事項 | 表示 | 表示 | 表示 | 表示 | 表示 | 表示 | 表示 |
* この列では、Spring Data で R2DBC を特に使用している場合について説明しています。
† Spring Data の @Query アノテーションを使用してリテラル SQL クエリを送信する場合にのみ使用できます。
PostgreSQL ドライバと ORM
すべての PostgreSQL ドライバでは、PGAdapter プロキシが実行されている必要があります。詳細については、PGAdapter についてをご覧ください。
| 機能 | Spanner JDBC | PostgreSQL JDBC | Hibernate | pgx | GORM | psycopg2 | psycopg3 | SQLAlchemy 2 | node-postgres |
|---|---|---|---|---|---|---|---|---|---|
| 言語 | Java | Java | Java | Go | Go | Python | Python | Python | Node.js |
| ステートメントのヒント | |||||||||
| ミューテーション | |||||||||
| バッチ DML | |||||||||
| バッチ DDL | |||||||||
| ステイル読み取り | |||||||||
| インターリーブされたテーブル | |||||||||
| パーティション化 DML | |||||||||
| セッションのラベル付け | |||||||||
| リクエストの優先度 | |||||||||
| リクエストのタグ付け | |||||||||
| 制限事項 | 表示 | 表示 | 表示 | 表示 | 表示 | 表示 | 表示 | 表示 |