OCI GoldenGateでのAIモデルの使用によるベクトル埋込みの作成

GoldenGate 26ai以上を使用して、データ・レプリケーション・デプロイメントでAIサービスを使用してベクトル埋込みを生成する方法について学習します。

概要

OCI GoldenGateには、GoldenGateプロセスが様々なプロバイダ(OCI Generative AI、OpenAI、Google Gemini、Voyage AI)のAIモデルと対話して、データ・レプリケーション・パイプライン内にベクトル埋込みを直接生成できるAIサービスが含まれています。

次のステップでは、AIモデルへの接続を設定し、それらを使用してReplicatでベクトル埋込みを生成する方法について説明します。

開始する前に

続行するには、次が必要です:

タスク1: 環境の設定

タスク2: AIモデルの構成

タスク3: 統合Extractの作成

統合Extractは、ソース・データベースに対する継続的な変更を取得します。

  1. デプロイメントの詳細ページで、「コンソールの起動」を選択します。

  2. 必要に応じて、ユーザー名およびデプロイメントの作成時に使用したパスワードにoggadminと入力し、「サインイン」を選択します。

  3. トランザクション データとチェックポイント テーブルを追加します。

    1. ナビゲーション・メニューを開き、「DB接続」を選択します。

    2. 「Connect to database SourceDB」を選択します。

    3. ナビゲーション・メニューで、「Trandata」を選択し、「Add Trandata」(プラス・アイコン)を選択します。

    4. 「スキーマ名」SRC_OCIGGLLと入力し、「送信」を選択します。

    5. 確認するには、「検索」フィールドにSRC_OCIGGLLと入力し、「検索」を選択します。

    6. ナビゲーション・メニューを開き、「DB接続」を選択します。

    7. 「Connect to database TargetDB」を選択します。

    8. ナビゲーション・メニューで、「チェックポイント」を選択し、「チェックポイントの追加」(プラス・アイコン)を選択します。

    9. 「チェックポイント表」"SRCMIRROR_OCIGGLL"."CHECKTABLE"と入力し、「発行」を選択します。

  4. Extractを追加します

    ノート:ソース表を指定するために使用できるパラメータの詳細は、追加の抽出パラメータ・オプションを参照してください。

    「Extractパラメータ」ページで、EXTTRAIL <trail-name>の下に次の行を挿入します:

    -- Capture DDL operations for listed schema tables
    ddl include mapped
    
    -- Add step-by-step history of to the report file. Useful when troubleshooting.
    ddloptions report
    
    -- Write capture stats per table to the report file daily.
    report at 00:01
    
    -- Rollover the report file weekly. Useful when IE runs
    -- without being stopped/started for long periods of time to
    -- keep the report files from becoming too large.
    reportrollover at 00:01 on Sunday
    
    -- Report total operations captured, and operations per second
    -- every 10 minutes.
    reportcount every 10 minutes, rate
    
    -- Table list for capture
    table SRC_OCIGGLL.*;
  5. 長時間実行トランザクションを確認します。ソース・データベースで次のスクリプトを実行します:

    select start_scn, start_time from gv$transaction where start_scn < (select max(start_scn) from dba_capture);

    問合せでなんらかの行が返された場合は、トランザクションのSCNを特定してから、トランザクションをコミットまたはロールバックする必要があります。

タスク4: 非統合Replicatの追加および実行

  1. Replicatを追加して実行します

    「パラメータ・ファイル」画面で、MAP *.*, TARGET *.*;を次のスクリプトに置き換えます:

    	-- Capture DDL operations for listed schema tables
     ddl include mapped
     --
     -- Add step-by-step history of ddl operations captured
     -- to the report file. Very useful when troubleshooting.
     ddloptions report
     --
     -- Write capture stats per table to the report file daily.
     report at 00:01
     --
     -- Rollover the report file weekly. Useful when PR runs
     -- without being stopped/started for long periods of time to
     -- keep the report files from becoming too large.
     reportrollover at 00:01 on Sunday
     --
     -- Report total operations captured, and operations per second
     -- every 10 minutes.
     reportcount every 10 minutes, rate
     --
     -- Table map list for apply
     MAP SRC_OCIGGLL.SRC_CITY, TARGET SRCMIRROR_OCIGGLL.SRC_CITY_VECTOR,
     COLMAP (
     USEDEFAULTS,
     CITY_EMBED = @AISERVICE(embed,'OCI_GenAI_TextEmbeddingSmall',CITY)
     );

    ノート

    @AISERVICE関数は、前に定義したAIモデル接続を使用して、CITY列に格納されたデータからベクトル埋込みを作成します。

  2. ソース・データベースへの挿入の実行:

    1. Oracle Cloudコンソールに戻り、ナビゲーション・メニューを使用して「Oracle AI Database」「Autonomous AI Transaction Processing」「SourceDB」の順に戻ります。

    2. SourceDBの詳細ページで、「データベース・アクション」「SQL」の順に選択します。

    3. 次の挿入を入力し、「スクリプトの実行」を選択します。

      		Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1000,'Houston',20,743113);
       Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1001,'Dallas',20,822416);
       Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1002,'San Francisco',21,157574);
       Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1003,'Los Angeles',21,743878);
       Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1004,'San Diego',21,840689);
       Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1005,'Chicago',23,616472);
       Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1006,'Memphis',23,580075);
       Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1007,'New York City',22,124434);
       Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1008,'Boston',22,275581);
       Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1009,'Washington D.C.',22,688002);
    4. OCI GoldenGateデプロイメント・コンソールで、「Extract name (UAEXT)」を選択し、「Statistics」を選択します。SRC_OCIGGLL.SRC_CITYが10個の挿入とともにリストされていることを確認します。

    5. 「概要」画面に戻り、Replicat名(REP)を選択し、「統計」を選択します。SRCMIRROR_OCIGGLL.SRC_CITYが10個の挿入とともにリストされていることを確認します。

    6. ターゲットのAutonomous AI Lakehouseの詳細ページに移動し、「データベース・アクション」「SQL」の順に選択します

    7. SQLでselect * from SRCMIRROR_OCIGGLL.SRC_CITY_VECTOR;を実行し、AIサービスを使用してOCI GoldenGateによって作成されたベクトル埋込みを含む結果を確認します。

SRCMIRROR_OCIGGLL.SRC_CITY_VECTOR表にはSRC_OCIGGLL.SRC_CITYからレプリケートされた行が含まれ、CITY_EMBED列には各都市に対して生成されたベクトル埋込みが含まれます。

トラブル・シューティング