Database Migration Service の Gemini によりデータベースのモダナイゼーションを加速
Google Cloud Japan Team
※この投稿は米国時間 2024 年 4 月 12 日に、Google Cloud blog に投稿されたものの抄訳です。
昨年の Google Cloud Next ‘23 で、Google は Database Migration Service(DMS)で Oracle から PostgreSQL への移行をサポートすることを発表しました。これにより、Oracle から PostgreSQL へのスムーズな移行を直感的かつ効率的に行えるようになりました。さらに、この移行の最も時間のかかるフェーズでわずらわしさを軽減するために、統合されたコードおよびスキーマ変換が導入されたことも発表しました。
今週開催された Google Cloud Next ‘24 では、Gemini for Google Cloud を発表しました。これは、Gemini in Databases を含む、Google の Gemini モデル ファミリーをベースとした新世代の AI アシスト機能です。
加えて、Gemini in Databases の主な機能であるアシスト付きのコードおよびスキーマ変換のプレビュー版を発表しました。これにより、Google Cloud での Oracle データベースから PostgreSQL データベースへのモダナイゼーションを加速させることができます。最後に、Gemini in Databases の主な機能である、Gemini アシストのコード説明機能を発表しました。この機能により、コード変換が簡素化され、デベロッパーは PostgreSQL 言語に習熟できるようになります。それでは詳しく見ていきましょう。
Gemini アシストのコードおよびスキーマ変換
Oracle PL/SQL から PostgreSQL へのコードとスキーマの移行は、構文、データ型、手続き構造などの点で両者の間に本質的な違いがあるため、非常に困難になることがあります。また、組み込み関数、トランザクション処理メカニズム、システム固有のオブジェクトも明確に異なっているため、変換プロセスがさらに複雑になります。データを移行するとき、デベロッパーは、エラー処理、セキュリティ モデル、手続き型言語の仕様の違いに細心の注意を払って対処する必要があります。
さらに、Cloud SQL または AlloyDB for PostgreSQL を導入する場合は、これらの相違点を乗り越えることが不可欠です。また、移行の大部分は自動コード変換によって処理できますが、最後の段階で手動による介入とユーザーからのフィードバックが必要になることがよくあります。Database Migration Service では、Gemini が手動による介入を基にトレーニングされ、ユーザーが行った編集、特定のコードパターンと変換の複雑さに関するリアルタイムの推奨事項に対するユーザーの応答、コードベース全体の他の共通点に基づいて学習します。
たとえば、PostgreSQL に直接相当するものがない Oracle Bulk Collect について考えてみましょう。DMS 変換ワークスペースでは、SQL コードを調整する作業と、Bulk Collect を PostgreSQL の「For」「In」「Loop」ステートメントに変換する作業は手動プロセスです。しかし、コードが手動で変更されると、Gemini は他の該当箇所を識別し、学習した内容に基づいて追加の編集を提案できるようになります。
Gemini の説明機能について
データベースを、馴染みのない新しい環境に合わせてモダナイズする場合、Gemini の説明機能が役立ちます。この拡張機能を使用すると、シンプルな自然言語構造を使用して、次のような質問を Database Migration Service に尋ねることができます。
-
PostgreSQL 言語を十分に理解していない状態で変換の問題を解決するにはどうすればよいですか?
-
ソースがその特定の方法で PostgreSQL 言語に変換されたのはなぜですか?
-
AlloyDB または Cloud SQL for PostgreSQL エンジンを最大限に活用するには、移行先コードをどのように最適化すればよいですか?
-
後で参照できるようターゲット コードにインライン コメントを追加するにはどうすればよいですか?
前の例に戻りましょう。PostgreSQL 以外のデベロッパーの場合、Bulk Collect に相当するものを見つけるのに時間がかかることがあります。Gemini の説明機能を使用すれば、Gemini に「この問題を解決するにはどうすればよいですか?」と尋ねるだけで、問題に関する有益な情報、解決方法、さらには出発点として使用できる修正済みコードを入手できます。
データベースをモダナイズし、PostgreSQL のマネージド サービスを利用して費用の削減、柔軟性とパフォーマンスの向上、ベンダー ロックインの回避を実現したいとお考えの場合、Gemini の説明機能によってすばやく目的を達成できます。
こちらのフォームに記入すると、今すぐ Gemini の説明機能のプレビュー版にご登録いただけます。
使ってみる
Database Migration Service による移行は簡単です。Google Cloud コンソールで [データベースの移行] ページに移動し、新しい移行ジョブを作成してから、以下の手順を行います。
-
移行元の接続プロファイルを作成します。これには移行元データベースの情報が含まれます。接続プロファイルは、後で別の移行にも使用できます。
-
移行元の Oracle スキーマと PL/SQL コードを、互換性のある SQL と PostgreSQL スキーマに自動的に変換するコンバージョン ワークスペースを作成します。
-
例外が見つかり、注意が必要な場合は、その例外を修正し、改良した SQL を保存できます。
-
保存されると、Gemini は編集内容を使用してモデルをトレーニングします。十分なトレーニング データが蓄積された場合、提案ダイアログが表示されます。
-
Gemini による提案を確認し、承諾または拒否します。
-
変換済みのスキーマ オブジェクトと SQL コードを、移行先の Cloud SQL の PostgreSQL インスタンスに適用します。
-
移行ジョブを作成して、前に作成したコンバージョン ワークスペースと接続プロファイルを選択します。
-
移行ジョブをテストします。準備ができたらいつでも移行を開始できます。
移行ジョブが開始されると、DMS はデータの最初のスナップショットを取得し、新しい変更が発生するとその変更をレプリケートします。ユーザーが移行の完了を決定し、ターゲット データベースにカットオーバーするまで、移行ジョブはソースデータのレプリケーションを繰り返します。
DMS をご利用のお客様の声
「データベースの移行は、複雑で複数のステップから成るプロセスです。モダナイゼーションにとって重要ですが、業務の混乱につながる重大なリスクを伴います。Google の Database Migration Service はこのプロセスをシームレスにするために、Gemini アシストのコード変換など、移行のダウンタイムを最小限に抑えることができる主要な機能を 1 か所で提供しています。Google と Sabre はこのプロセスにおいて連携することで、Sabre のデータベースのモダナイゼーションを推進し、実際のテストを通じて Database Migration Service を強化するために協力しています。」- Sabre、プラットフォームおよびクラウド エンジニアリング担当シニア バイス プレジデント Jeff Carroll 氏
「Google Database Migration Service と、パートナーの Nordcloud のおかげで、概念実証は成功しました。当社は、10 TB の POS データベース全体を Oracle から AlloyDB に移行し、変換することができました。バックフィル プロセスはかなり効率的に実施できました。全般的に、変換とデータ移行の両方において自動化のレベルが非常に高かったことに驚きました。」- Bison、ソフトウェア エンジニアリング責任者
詳細を確認し、データベースの移行を開始する
Database Migration Service の Gemini アシストによる移行は、データベース移行ツールの進化における大きな一歩です。コード変換プロセスを学習して適応し、継続的に改良できる機能によって、移行時の負担が軽減されるだけでなく、将来の効率的な移行にも備えることができます。Oracle から PostgreSQL への移行に着手する場合は、Database Migration Service の Gemini によって、費用、時間、リスクを軽減し、移行を成功させることができます。
詳細については、ドキュメントをご確認ください。こちらの Database Migration Service Qwiklab でトレーニングを始めることもできます。また、このコンバージョン ワークスペースの紹介動画もご覧いただけます。Oracle から PostgreSQL への移行に対応した新しい Database Migration Service の利用を開始するには、コンソールの [データベースの移行] ページにアクセスしてください。