Gemini in Database Migration Service を使用した PostgreSQL への移行の迅速化

Tanya Sharma
Strategic Cloud Engineer, Google Cloud
※この投稿は米国時間 2026 年 8 月 12 日に、Google Cloud blog に投稿されたものの抄訳です。
次のようなシナリオを考えてみましょう。Oracle や SQL Server などの既存の商用データベースから、オープンソースの PostgreSQL や AlloyDB for PostgreSQL などのフルマネージド サービスにコア アプリケーションを移行するとします。
最初のフェーズは順調に進みます。スキーマが変換され、テーブルにデータが入力され、データ移行パイプラインが数テラバイトのデータを数時間で転送します。プロジェクトは予定より早く進んでいるようです。
そのとき、チームはボトルネックに直面します。
既存のデータベースには、何百ものストアド プロシージャ、複雑なトリガー、そして PL/SQL や T-SQL など独自の SQL 言語で記述されたカスタム関数が埋め込まれています。これらのルーチンには、トランザクションの検証、注文処理、カスタム レポートの処理など、長年にわたる重要なビジネス ロジックが含まれています。
モダナイゼーション プロジェクトは急に行き詰まります。数千行に及ぶ手続き型ロジックの変換には、2 つの言語に関する専門知識、数か月にわたる手作業での書き換えが必要となり、高確率で変換エラーが伴います。このコード変換は、データベース移行の「ラスト ワンマイル」のボトルネックであり、移行における最も複雑な部分です。
幸いなことに、このラスト ワンマイル問題は、最近の AI の進歩によって解決できます。Database Migration Service(DMS)には、Gemini を活用した AI によるコード変換が含まれています。移行ワークフローに生成 AI を直接組み込むことで、ストアド プロシージャ、トリガー、カスタム関数を、より高速かつ正確に PostgreSQL PL/pgSQL コードに変換できます。
ストアド プロシージャの変換に関する課題
商用データベース エンジンでは、ストアド プロシージャ、ユーザー定義関数、パッケージ本体、条件付きロジックに、ベンダー固有の構文が使用されています。このロジックを PostgreSQL PL/pgSQL に変換するには、変数の定義、例外処理ブロック、カーソルループ、組み込み関数のマッピングが必要になります。
何百ものストアド プロシージャを含む複雑なエンタープライズ スキーマを移行する場合、たいていは手動でのコード変換に数か月のエンジニアリング作業が必要になります。データベース チームは、以前のロジックを 1 行ずつ解析し、条件分岐を実装し直して、エンジン間のデータ型変換を検証する必要があります。
DMS での AI によるコード変換
Gemini in Database Migration Service は、Google Cloud コンソール内で直接、この変換作業を迅速化します。DMS は、スキーマを自動的に変換するとともに、AI 生成のコードを提案して、ソース言語と PostgreSQL の構造上の違いを説明します。
PL/pgSQL に変換されたコードは、元のソースコードと並べて表示されます。データベース チームは提案内容をリアルタイムで確認、編集、検証できます。


図 1: Database Migration Service のインターフェースに、変換前後のコードと Gemini によるインラインの説明が表示されている。
AI の統合が重要である理由
主要ベンダーのほとんどの AI アプリや AI ツールには、SQL コードなどのコードを生成、変換する機能があります。しかし、汎用の AI チャットツールが提供するスニペットの変換機能では、エンタープライズ データベースの変換には不十分です。Gemini in Database Migration Service には、以下の重要な利点があります。
-
スキーマの完全なコンテキスト: Gemini in DMS は、コード スニペットを個別に評価するのではなく、移行プロジェクト全体にわたり、テーブルの関係、データ型、依存ビュー、プロシージャ間参照などのデータベース コンテキストを総合的に分析します。
-
エンタープライズ向けのセキュリティとプライバシー: コード変換は、厳密に Google Cloud プロジェクトの境界と IAM ガバナンスの範囲内で実行されるため、独自のビジネス ロジックと知的財産を保護できます。
-
統合された実行ワークスペース: DMS を使用すると、何百ものファイルにわたる手動でのコピーと貼り付けが不要になります。単一のコンソール内で、並べて表示されたコードの違いと AI によるインラインの説明を確認し、必要に応じてコードを編集したうえで、検証済みの PL/pgSQL ルーティンをターゲット データベースに直接デプロイできます。
-
決定論的な精度と AI コンパイル: DMS は決定論的なコンパイラ ルールによる 1 対 1 のマッピング(標準的な DDL 変換、スカラー関数、明確に定義された構文変換など)と、複雑な手続き型ブロックのための Gemini の文脈的統合を組み合わせることで、モデルのドリフトを防ぎ、正確で予測可能な変換を保証します。
Oracle PL/SQL から PostgreSQL への変換
顧客の合計注文額を算出し、独自の NVL 関数と DECODE 関数を使用して段階別の割引を適用する Oracle PL/SQL ストアド プロシージャを考えてみましょう。当初のワークフローでは、NVL を COALESCE に手動でマッピングし、DECODE ステートメントを標準の CASE 式に書き換え、WHEN NO_DATA_FOUND THEN などの例外ブロックを調整する必要がありました。
DMS で移行評価を実行すると、Gemini がソース プロシージャを分析し、ネイティブの PostgreSQL PL/pgSQL コードを生成します。
ソース: Oracle PL/SQL
ターゲット: PostgreSQL PL/pgSQL(Gemini in DMS で変換)
Gemini は、生成された SQL とともに、NVL が COALESCE に変換された理由と、Oracle の DECODE 関数が PostgreSQL で明示的な CASE ブロックに変換された方法について、詳しい説明をインラインで表示します。


図 2: Gemini in DMS を活用したエンドツーエンドのデータベース コード変換パイプライン。
スキーマの完全な管理と検証の維持
セキュリティ、透明性、コードの精度は、データベースのモダナイゼーションにおいて依然として中心的な要素です。Gemini in DMS は、厳密に Google Cloud の確立されたセキュリティ境界内で動作し、コードをプロジェクト内に限定して公開します。
変換と検証のプロセスは、信頼性を保証するため、構造化されたワークフローに沿って行われます。
-
スキーマ コンテキストの自動取得: DMS 変換ワークスペースを設定すると、テーブル スキーマ、データ型、外部キー制約、プロシージャ間の依存関係など、ソース データベースの全メタデータが自動的に解析されます。Gemini では、このプロジェクト全体のコンテキストを参照してコードが生成されるため、依存オブジェクトの定義を手動で指定する必要はありません。
-
構文と依存関係の自動検証: コードの生成時、DMS はターゲットとなる PostgreSQL の構文ルールに照らして検証パーサーを実行します。検証ステータス インジケーター(変換済み、警告、要対応など)が各オブジェクトに割り当てられるため、手動での確認が必要なルーティンはすぐにわかります。
-
インタラクティブな評価状態: スキーマの変更はすべて完全に管理できます。変換ワークスペース内で、ターゲット データベースに変更を適用する前に、コードを並べて違いを確認したり、AI によるインラインの説明を確認したり、PL/pgSQL コードを直接編集したりできます。
-
デプロイと検証のステージング: コードがワークスペース検証に合格したら、変換されたスキーマと関数をターゲットのステージング インスタンス(Cloud SQL や AlloyDB など)に適用し、本番環境への切り替え前に機能の実行とパフォーマンス テストを行うことができます。
データベースのモダナイゼーションの効率化
Database Migration Service の AI によるコード変換により、データベース チームは以前のデータベース ロジックを数か月ではなく数日で変換できます。データベース管理者とアプリケーション開発者は、貴重な時間を費やしてコードを最初から書き直す代わりに、新しい機能の追加、パフォーマンスのテスト、アプリケーションのモダナイゼーションに注力できます。
Oracle と SQL Server の一般的な変換シナリオと、DMS がそれらを PostgreSQL に変換する方法の代表的な例については、新しい Gemini に習う PostgreSQL 動画シリーズをご覧ください。

データベース移行に関する悩みを解消し、以前のデータベース ロジックをシームレスに変換する方法を Gemini に教えてもらいましょう。
Database Migration Service を使ってみる
データベースの変換を始めるには、Database Migration Service コンソール(https://console.cloud.google.com/dms)で移行評価を実行するか、異種間移行ガイド(https://cloud.google.com/database-migration)をお読みください。
- Google Cloud、戦略的クラウド エンジニア、Tanya Sharma


