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 | |||||||||
セッションのラベル付け | |||||||||
リクエストの優先度 | |||||||||
リクエストのタグ付け | |||||||||
制限事項 | 表示 | 表示 | 表示 | 表示 | 表示 | 表示 | 表示 | 表示 |