このトピックでは、PolarDB for AIを使用して、AIモデルの推論結果を含むAI拡張テーブル (AAT) を生成する方法について説明します。 AATは、さまざまなシナリオで使用して、データに関する洞察を得て、情報に基づいた意思決定を行うのに役立ちます。
AATとは何ですか
AATは、AIモデルの推論結果を1つ以上の列に含むテーブルです。 例:
図1の表では、TripID列が主キーであり、Airline、Flight、AirportFrom、AirportTo、DayOfWeek、Time、およびLength列には、各フライトに関する情報が含まれています。 図2の表は、図1の表のAATである。 テーブルの結果列には、AIで生成された結果が含まれます。 AATにはAIモデルのデータと推論結果が含まれています。 PolarDBデータベースに保存されているAATを使用することで、旅行者はフライトが遅れる可能性があるかどうかを確認でき、航空会社はフライトスケジュールを最適化して時間厳守を改善できます。
図 1. オリジナルテーブル
図2. AAT
リレーショナルデータベースにAATを導入すると、効率が向上します。 たとえば、AATに保存されているデータを使用して、ユーザーグループの分類、販売金額の予測、AI生成コンテンツの取得を簡単に行うことができます。 AATは通常の外部テーブルと同じ方法で使用されます
AATを使用したAIモデルとデータベースの接続
次の例は、AATの使用方法を示しています。
コールドデータアーカイブ機能を有効にします。 詳細については、「コールドデータアーカイブの有効化」をご参照ください。
AIモデルがデータベースに頻繁にデータを書き込まないようにするため、PolarDBはAATを外部テーブルとしてObject Storage Service (OSS) に保存します。 したがって、AATを使用する前に、コールドデータアーカイブ機能を有効にする必要があります。
polar4aiという名前のデータベースを作成します。 自動的に生成されるAATは、デフォルトでpolar4aiデータベースに格納される。 データベースを作成するときは、utf8mb4文字セットを選択します。 承認されたデータベースアカウントは、PolarDB for AIで使用されるアカウントと同じである必要があります。 また、アカウントに読み取りおよび書き込み権限を付与する必要があります。
次のSQL文を実行してAIモデルを作成します。
/*polar4ai*/ CREATE MODEL airlines_gbm_copy1 WITH (model_class='lightgbm', x_cols ='Airline,Flight,AirportFrom,AirportTo,DayOfWeek,Time,Length', y_cols='Delay', model_parameter=(boosting_type='gbdt', n_estimators=100, max_depth=8, num_leaves=256)) AS (SELECT * FROM airlines_train)データベース内のモデルを照会します。
/*polar4ai*/SHOW MODELS;次の出力が返されます。

作成したモデルを使用してオフライン予測タスクを実行し、AATを生成します。
/*polar4ai*/SELECT TripID,Delay FROM PREDICT ( MODEL airlines_gbm_copy1, SELECT * FROM airlines_train_1000_copy1) WITH (s_cols='TripID,Delay', x_cols = 'Airline,Flight,AirportFrom,AirportTo,DayOfWeek,Time,Length', y_cols='Delay', primary_key='TripID', mode='async',into_type='db') INTO lightgbm_v2_predict82201;上記のステートメントでは、
lightgbm_v2_predict82201は自動的に作成されるAATの名前で、TripIDはAATの主キーです。 上記のステートメントの実行が完了すると、タスクIDが返されます。 例:babc6d66-xxxx-yyyy-a4b8-1b1426ce8614オフラインタスクのステータスを表示します。
タスクIDを使用してタスクの状態を確認します。 タスクが完了状態の場合、AIモデルはデータ推論を完了しています。
/*polar4ai*/SHOW TASK `babc6d66-xxxx-yyyy-a4b8-1b1426ce8614`次の出力が返されます。

polar4aiデータベースで自動的に生成されるAATのスキーマを照会します。
SHOW CREATE TABLE polar4ai.lightgbm_v2_predict82201;次の出力が返されます。
CREATE TABLE `lightgbm_v2_predict82201` ( `TripID` bigint(20) NOT NULL, `Delay` bigint(20) DEFAULT NULL, `result` text, PRIMARY KEY (`TripID`) ) ENGINE=CSV DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci /*!99990 800020204 NULL_MARKER='NULL' */ CONNECTION='default_oss_server'AATにおけるTripIDおよびDelayのタイプおよび長さは、元のテーブルと同じである。 結果列には、AIモデルの推論結果が含まれ、AATに書き込まれます。
AAT内のデータの1,000行を照会します。
SELECT * FROM polar4ai.lightgbm_v2_predict82201 LIMIT 1000;次の出力が返されます。

上記のクエリ結果は、新しく生成された結果列に予測結果とその確率値が含まれることを示しています。
データベース内のテーブルにAATを参加させます。
lightgbm_v2_predict82201テーブルは、データベース内の他のテーブルと同様に使用できます。 このテーブルは、結合操作でも使用できます。 例:SELECT * FROM airlines_train_1000_copy1, polar4ai.lightgbm_v2_predict82204 WHERE airlines_train_1000_copy1.TripID=polar4ai.lightgbm_v2_predict82204.TripID AND airlines_train_1000_copy1.Delay=1次の出力が返されます。
