Database Migration Service は、Gemini for Google Cloud を コンバージョン ワークスペース に統合し、次の領域で変換プロセスを迅速化して改善します。
-
Gemini を活用した自動変換により、決定論的変換の結果を強化し、AI の力で PostgreSQL コードに必要な手動調整の数を大幅に削減します。
- 変換アシスタントを使用して、コードの説明可能性機能を提供します。これは、変換ロジックをより深く理解し、変換の問題の修正を提案し、変換されたコードを最適化するのに役立つ専用のプロンプトのセットです。
- Gemini の品質評価で変換されたコードを検証します。Gemini は、変換されたコードの正確性 と、ソースコードとの機能的な同等性を分析するのに役立ちます。
-
変換の問題の修正を迅速化します。これは、 Gemini コード変換の提案により、 Gemini モデルが変換の問題を修正する際に学習し、 ワークスペース内の他の欠陥のあるオブジェクトの変更を提案するメカニズムです。
この機能をコードの説明可能性と組み合わせることで、Gemini を活用したコード オブジェクトの変換をエンドツーエンドで完了できます。 詳細については、 変換の問題があるコード オブジェクトを修正するワークフローの例をご覧ください。
SQL コードとスキーマは、コンバージョン ワークスペースを作成するリージョンに保存されます。Gemini モデルでアシスト コードとスキーマ変換を使用する場合、コードとスキーマは他のリージョンで処理されることがあります。
Gemini for Google Cloud がデータを使用する方法とタイミングに関する説明をご覧ください。
費用
Database Migration Service コンバージョン ワークスペースで Gemini アシストを使用するには、Gemini for Google Cloud API を有効にする必要があります。 Gemini の料金が適用されます。詳細については、 Gemini for Google Cloud の料金をご覧ください。
始める前に
Database Migration Service で Gemini を活用した機能を使用するには、 プロジェクトで Gemini for Google Cloud を有効にします。
プロジェクトで Gemini for Google Cloud を有効にすると、 ワークスペース内の Gemini を活用したすべての変換機能を使用できます。
必要なロール
Gemini で強化された
変換機能を使用するために必要な権限を取得するには、プロジェクトに対する
Database Migration 管理者(roles/datamigration.admin)
ロールの付与を管理者に依頼してください。
ロールの付与の詳細については、 Identity and Access Management のドキュメントのアクセス権の管理をご覧ください。
この事前定義ロールには、 Gemini で強化された変換機能を使用するために必要な権限が含まれています。必要とされる正確な 権限については、 「必要な権限」セクションを開いてご確認ください。
必要な権限
Database Migration Service で異種 SQL Server 移行を実行するには、次の権限が必要です:
datamigration.*cloudaicompanion.entitlements.get
Gemini 自動変換を使用する
ソーススキーマを変換すると、Database Migration Service は決定論的変換ルールを使用して、PostgreSQL 構文の同等物を作成します。 自動変換では、決定論的結果の上に Gemini を活用した修正が統合され、変換の問題の数が減り、変換の品質が向上します。
Gemini を活用した修正で強化されたコード オブジェクトに対して、追加の品質評価と機能的な同等性評価を行うことができます。 詳細については、 Gemini の品質評価をご覧ください。
自動変換を使用するには、次の操作を行います。
- 新しいコンバージョン ワークスペースを作成します。最新の合理化されたエクスペリエンスを使用するには、すぐに アップグレードしてください。
- [コンバージョン ワークスペース] に移動し、ワークスペースを選択します。
- ワークスペースの自動変換を有効にします。
- ソースコードとスキーマを変換します。[ [Convert source]] をクリックします。
Database Migration Service は、変換で Gemini を活用した 拡張機能を自動的に使用します。ツリービューを使用して、Gemini で拡張されたオブジェクトを確認できます。
図 1.Gemini 拡張ステータスを含むソーススキーマ ツリービュー。(クリックして拡大)
ツリービューで、拡張されたオブジェクトを選択して、 拡張機能の詳細を自動変換によって表示します。Gemini によって導入された変更が気に入らない場合は、[代わりに決定論的コードを使用] をクリックして、オブジェクトを決定論的変換の結果に戻します。
図 2.コードとスキーマの拡張機能の詳細を確認できる Gemini を活用した自動変換パネル。(クリックして拡大)
自動変換を有効にする
自動変換を無効にした場合は、Gemini パネルで有効にできます。
- コンソール Google Cloud で、[**コンバージョン ワークスペース**]に移動し、ワークスペースを選択します。
- [pen_spark] [Gemini] をクリックします。
Gemini サイドパネルが開きます。
- [自動変換] チェックボックスをオンにして、[設定を保存] をクリックします。
スキーマを変換すると、コンバージョン ワークスペースで自動変換が行われるようになります。
- 省略可: [Gemini でソース オブジェクトを変換しますか?] ダイアログで [変換] をクリックします。
自動変換を有効にしても、変換されたオブジェクトは変更されません。 スキーマは後で再度変換できます。
自動変換を無効にする
自動変換を無効にするには、次の操作を行います。
- コンソール Google Cloud で、[**コンバージョン ワークスペース**]に移動し、ワークスペースを選択します。
- [pen_spark] [Gemini] をクリックします。
Gemini サイドパネルが開きます。
- [自動変換] チェックボックスをオフにして、[設定を保存] をクリックします。
スキーマを変換すると、コンバージョン ワークスペースで決定論的コードとスキーマ 変換が使用されるようになります。
- 省略可: [ソース オブジェクトを変換しますか?] ダイアログで
[変換] をクリックします。
自動変換を無効にしても、変換されたオブジェクトは変更されません。 変換結果を元に戻して決定論的変換ルールを使用する場合は、後でスキーマを再度変換できます。
Gemini 変換アシスタントを使用する
変換アシスタントは、オブジェクト変換ロジックをより深く理解し、コードを最適化して変換の問題を解決する方法についてアイデアを求めたり、スキーマにコメントを追加してデータベース オブジェクトを自己文書化したりするために使用できる専用のプロンプトのセットです。
変換アシスタントを有効にする
プロジェクトで Gemini for Google Cloud を有効にすると、変換アシスタントがデフォルトで有効になります。 変換アシスタントを無効にした場合は、ワークスペースで再度有効にできます。変換アシスタントを有効にするには、次の操作を行います。
- コンソール Google Cloud で、[**コンバージョン ワークスペース**]に移動し、ワークスペースを選択します。
- [pen_spark] [Gemini] をクリックします。
Gemini サイドパネルが開きます。
- [**変換アシスタント**] チェックボックスをオンにして、 [**設定を保存**] をクリックします。
変換アシスタントを無効にする
変換アシスタントを無効にするには、次の操作を行います。
- コンソール Google Cloud で、[**コンバージョン ワークスペース**]に移動し、ワークスペースを選択します。
- [pen_spark] [Gemini] をクリックします。
Gemini サイドパネルが開きます。
- [**変換アシスタント**] チェックボックスをオンにして、 [**設定を保存**] をクリックします。
オブジェクト変換問題の修正方法を表示
ルールベースのコードとスキーマ変換エンジンでは、Oracle から PostgreSQL へのオブジェクトの変換時に問題が発生することがあります。たとえば、PostgreSQL に直接相当するものがない Oracle 関数があります。 「オブジェクト変換問題の修正方法を表示」プロンプトを使用すると、変換の問題を修正できるコード変更の提案を取得できます。
このプロンプトは、変換の問題がある 編集可能なコード オブジェクト でのみ使用できます。コンバージョン ワークスペース内の他のタイプのオブジェクトでは、このプロンプトを表示できません。
このプロンプトを使用するには、次の操作を行います。
Google Cloud コンソールで、[**コンバージョン ワークスペース**] に移動します。
使用可能なコンバージョン ワークスペースのリストから、使用するコンバージョン ワークスペースを選択します。
コンバージョン ワークスペース エディタが開きます。
[Oracle] パネルで、Oracle オブジェクトのいずれかを選択します。
オブジェクトの詳細ビューで、
[アシスト] > [オブジェクト変換問題の修正方法を表示]を選択します。
プロンプトの結果を含むパネルが開きます。
提案された改善点を示す差分画面を確認します。結果が気に入ったら、[候補を挿入] ボタンを使用して、変換されたオブジェクトを更新できます。
欠陥のあるコード オブジェクトごとにこの手順を繰り返します。コード の提案を適用すると、 Gemini モデルがパターンを学習し、 ワークスペース内のすべての欠陥のあるオブジェクトに修正を伝播する方法を提案できます。
このオブジェクトの変換ロジックを表示
「このオブジェクトの変換ロジックを表示」プロンプトを使用すると、変換されたコードの動作をステップごとに説明できます。これには、新しいコードに適用されたベスト プラクティスの概要も含まれます。
オブジェクト変換ロジックの説明をリクエストするには、次の操作を行います。
Google Cloud コンソールで、[**コンバージョン ワークスペース**] に移動します。
使用可能なコンバージョン ワークスペースのリストから、使用するコンバージョン ワークスペースを選択します。
コンバージョン ワークスペース エディタが開きます。
[Oracle] パネルで、Oracle オブジェクトのいずれかを選択します。
オブジェクトの詳細ビューで、
[アシスト] > [このオブジェクトの変換ロジックを表示] を選択します。
プロンプトの結果を含むパネルが開きます。
このコードの最適化方法を表示
ルールベースのコードとスキーマ変換の結果は、技術的には正しい場合がありますが、PostgreSQL 環境向けに完全に最適化されていない可能性があります。「このコードの最適化方法を表示」プロンプトを使用すると、データベース オブジェクトのコード最適化の提案を取得できます。
このプロンプトを使用するには、次の操作を行います。
Google Cloud コンソールで、[**コンバージョン ワークスペース**] に移動します。
使用可能なコンバージョン ワークスペースのリストから、使用するコンバージョン ワークスペースを選択します。
コンバージョン ワークスペース エディタが開きます。
[Oracle] パネルで、Oracle オブジェクトのいずれかを選択します。
オブジェクトの詳細ビューで、
[Assist] > [Help me optimize this code] を選択します。
プロンプトの結果を含むパネルが開きます。
結果パネルで、説明を読み、コードを確認して、提案がニーズに沿っていることを確認します。結果が気に入ったら、[候補を挿入] ボタンを使用して、変換されたオブジェクトを更新できます。
このオブジェクトの目的を記述するコメントを追加
「このオブジェクトの目的を記述するコメントを追加」プロンプトは、スキーマを自己文書化するためにデータベース オブジェクトに追加できるコードコメントの提案を生成します。
このプロンプトを使用するには、次の操作を行います。
コンソール Google Cloud で、[**コンバージョン ワークスペース**] に移動します。
使用可能なコンバージョン ワークスペースのリストから、使用するコンバージョン ワークスペースを選択します。
コンバージョン ワークスペース エディタが開きます。
[Oracle] パネルで、Oracle オブジェクトのいずれかを選択します。
オブジェクトの詳細ビューで、
[Assist] > [このオブジェクトの目的を記述するコメントを追加] を選択します。
プロンプトの結果を含むパネルが開きます。
結果パネルで、説明を読み、コードを確認して、提案がニーズに沿っていることを確認します。結果が気に入ったら、[候補を挿入] ボタンを使用して、変換されたオブジェクトを更新できます。
Gemini の品質評価で変換品質を確保する
Gemini は、品質評価を使用してコードとスキーマ変換の出力を検証するのに役立ちます。これらの評価は、変換されたコードの機能的な同等性を検証することに重点を置いています(つまり、PostgreSQL コードがソース SQL Server コードと同じ結果を生成することを確認します)。ただし、レポートには変換の全体的な品質に関する詳細なフィードバックも含まれます。コードで検出された問題は、新しい変換の問題として報告されます。
ワークスペースの自動品質評価を構成することも、選択したオブジェクトのレポートを手動で実行することもできます。
自動品質評価を有効にする
対象となるコード オブジェクトに対して Gemini の品質評価を自動的に実行するように、コンバージョン ワークスペースを構成できます。 この機能を使用するには、 Gemini 自動変換も有効にする必要があります。
自動品質評価を構成するには、次の操作を行います。
- コンソール Google Cloud で、[**コンバージョン ワークスペース**]に移動し、ワークスペースを選択します。
- [pen_spark] [Gemini] をクリックします。
Gemini サイドパネルが開きます。
- [変換品質評価] チェックボックスをオンにして、 [設定を保存] をクリックします。
これで、Database Migration Service は、変換されたオブジェクトの品質評価レポートを自動的に作成します。
手動で品質評価レポートを実行する
Gemini 自動変換機能で変換されたサポート対象のコード オブジェクトに対して、オンデマンドで品質評価を実行できます。
手動で品質評価を実行するには:
- コンソール Google Cloud で、[**コンバージョン ワークスペース**]に移動し、ワークスペースを選択します。
-
コンバージョン ワークスペース エディタで、ソースパネルを使用して、Gemini で変換が拡張されたオブジェクト を選択します。
Augmented by Geminiフィルタを使用すると、簡単に移動できます。詳細については、 ソーススキーマ ビューでオブジェクトをフィルタするをご覧ください。 - [変換の詳細] パネルで、[品質評価 レポート] タブを選択し、[このコードの品質を評価] をクリックします。
- 評価が実行され、結果が [Quality assessment report] タブに表示されます。
品質評価の制限事項
- Gemini の品質評価は、 Gemini 自動変換機能で変換されたオブジェクトでのみサポートされます。
- スキーマ オブジェクトは品質評価でサポートされていません。
- 評価は主に機能的な同等性と全体的な品質に重点を置いています。 レポートにはパフォーマンステストは含まれません。
Gemini コード変換で変換の問題の修正を伝播する
ワークスペースで変換の問題を修正すると、Gemini モデルが修正から学習し、ワークスペース内の他の欠陥のあるオブジェクトの変更を提案できます。これにより、すべての編集を手動で行うことなく、複数のオブジェクトに修正を伝播できます。
Gemini 変換の提案を有効にする
プロジェクトで Gemini for Google Cloud を有効にすると、変換の提案がデフォルトで有効になります。 この機能を無効にした場合は、ワークスペースで再度有効にできます。変換アシスタントを有効にするには、次の操作を行います。
- コンソール Google Cloud で、[**コンバージョン ワークスペース**]に移動し、ワークスペースを選択します。
- [pen_spark] [Gemini] をクリックします。
Gemini サイドパネルが開きます。
- [**パターン マッチング**] チェックボックスをオンにして、 [**設定を保存**] をクリックします。
Gemini 変換の提案を無効にする
変換の提案を無効にするには、次の操作を行います。
- コンソール Google Cloud で、[**コンバージョン ワークスペース**]に移動し、ワークスペースを選択します。
- [pen_spark] [Gemini] をクリックします。
Gemini サイドパネルが開きます。
- [パターン マッチング] チェックボックスをオフにして、 [設定を保存] をクリックします。
Database Migration Service で Gemini 変換の提案を表示する
オブジェクトの問題を修正すると(SQL オブジェクトのコードを編集するか、 「 オブジェクト変換問題の修正方法を表示」プロンプトで提案された コードを適用する)、Gemini モデルが変更を分析します。十分な変更が行われると、Gemini インテグレーションによってプロンプトが表示され、さらなる編集が提案されます。
Gemini の提案にアクセスするには:
Google Cloud コンソールで、[**コンバージョン ワークスペース**] に移動します。
使用可能なコンバージョン ワークスペースのリストから、使用するコンバージョン ワークスペースを選択します。
コンバージョン ワークスペース エディタが開きます。
[Oracle] パネルで、生成された SQL を調整するオブジェクトを選択します。
オブジェクトで発生した変換の問題を修正し、コードの変更を保存します。 コードを手動で 編集することも、 「オブジェクト変換問題の修正方法を表示」プロンプトを使用することもできます。
Gemini モデルは、変換の問題がある他のオブジェクトに同様の更新を提案できるようになるまで、最新の修正を分析します。 Gemini モデルが十分な修正を分析すると、[Gemini の提案を確認] ダイアログが表示されます。
図 2.Gemini の問題の修正ダイアログ。 (クリックして拡大)
行った変更に基づいて AI が生成した提案を表示するには、[提案を確認] をクリックします。
Gemini 変換の提案を確認する
[Gemini の問題の修正] ページには、行ったコード変更に基づいて Gemini モデルによって生成された提案が表示されます。これらの提案には、他のオブジェクトに適用できる同様の変更が含まれています。 提案ごとに、提案を確認、変更、承認、無視できます。
[Gemini の問題の修正] ページには、オブジェクトのソースコードの 3 つのバリアントが表示されます。これらは [編集ビュー] メニューで選択できます。
- 元のソースコード(読み取り専用)
- 移行先のソースコードの下書き(読み取り専用)
- Gemini アシストで生成された移行先のソースコード(編集可能)
[オブジェクト] パネルには、Gemini モデルによって提案された問題と修正のリストが表示されます。
Gemini の提案を確認する手順は次のとおりです。
- オブジェクトをクリックして、関連する AI が提案した修正を表示します。
- Gemini モデルが提案したコードを確認して編集します。
次のいずれかを行います。
提案(編集を含む)を承認するには、[コードを承認] をクリックします。 変更がコンバージョン ワークスペース内のオブジェクトに適用され、オブジェクト リストのオブジェクトの状態が [保留中] から [承認済み] に変わります。
変更を適用せずに提案(編集を含む)を保持するには、別のオブジェクトに切り替えます。オブジェクトは [保留中] 状態のままになります。コードを編集して、後で提案を承認または無視できます。
保留中または承認済みの提案を無視する(編集を元に戻す)には、[コードを無視] をクリックします。オブジェクト リストのオブジェクトの状態が [保留中] から [無視] に変わります。変更が元に戻ります。 コードを編集して、後で適用できます。
Gemini の提案を閉じて、適用していない変更をすべて破棄する手順は次のとおりです。
- [Gemini の問題の修正] ページで、戻る矢印をクリックします。
[Gemini を閉じる] ダイアログで [閉じる] をクリックします。
現在の Gemini セッションが閉じます。提案ページに戻るには、 Gemini の提案に 再度アクセスします。
次のステップ
コンバージョン ワークスペースの操作方法を確認する。
Gemini アシストで変換の問題を修正する ワークフローの例に沿って操作する。