一般的なアプリケーションでは、低レベルドライバやオブジェクト リレーショナル マッピング(ORM)などのクライアントを使用してデータベースに接続します。Spanner は複数の言語のクライアントをサポートしているため、デベロッパー環境全体で JDBC などの一般的なライブラリを使用できます。詳細については、ドライバの概要をご覧ください。
アプリケーションが Spanner に接続する方法の管理に加えて、送信されるクエリとクエリで使用される構文も管理する必要があります。Spanner は、どちらも ANSI SQL 標準に基づく 2 つの SQL 言語をサポートしています。運用するエコシステムに応じて、Spanner に GoogleSQL インターフェースまたは PostgreSQL Interface を使用できます。詳細については、Spanner データベースに適した言語を選択するをご覧ください。Spanner データベースとソース データベースのアーキテクチャが異なるため、Spanner で使用される構文がソース データベースの構文と一致しない場合があります。
アプリケーションを Spanner に移行するには、次の手順を手動で完了します。
Spanner はデータベースでのユーザーコードの実行をサポートしていないため、データベース レベルで保存されているプロシージャとトリガーをアプリケーションに移動する必要があります。
Spanner クライアント ライブラリと ORM を使用します。詳細については、API、クライアント ライブラリ、ORM ドライバの概要をご覧ください。
Spanner パーティション化 DML、読み取り専用トランザクション、commit タイムスタンプ、読み取りタイムスタンプ、およびそれらがアプリケーションのパフォーマンスを最適化する方法を記録しておきます。
また、トランザクション処理の変更が必要になる場合もあります。次の点を考慮してください。
- 1 回の commit あたりのミューテーションの上限は 80,000 です。テーブルの各セカンダリ インデックスは、行ごとに追加のミューテーションとなります。ミューテーションを使用してデータを変更するには、ミューテーションを使用してデータを挿入、更新、削除するをご覧ください。大量のデータを変更するには、パーティション化された DML を使用します。