自律型AIデータベースによるレイクハウス・ワークロード
Autonomous AI Databaseでは、ワークロードに基づいてデータベースを構成および最適化します。
レイクハウスのワークロードがあるデータベースの特性:
-
データベースのデフォルトのデータおよび一時表領域が自動的に構成されます。表領域の追加、削除、または変更は許可されません。Autonomous AI Databaseでは、ストレージ・サイズに応じて、1つの表領域または複数の表領域が自動的に作成されます。
-
データベース文字セットはUnicode
AL32UTF8です。詳細は、Autonomous AI Databaseの文字セットの選択を参照してください。 -
圧縮はデフォルトで有効になっています。Autonomous AI Databaseでは、デフォルトですべての表に対してハイブリッド列圧縮を使用します。
CREATE TABLEまたはALTER TABLEコマンドで圧縮句を使用して、表に別の圧縮方法を指定できます。 -
Oracle AI Database結果キャッシュは、すべてのSQL文に対してデフォルトで有効になっています。
データベースへのアクセス方法:
-
データベース・ノードには直接アクセスできません。Autonomous AI Databaseでのディレクトリの作成および管理で説明されているように、
CREATE DIRECTORYおよびDROP DIRECTORYでディレクトリを作成および削除できます。DBMS_CLOUDプロシージャ(DBMS_CLOUD.DELETE_FILE、DBMS_CLOUD.GET_OBJECT、DBMS_CLOUD.PUT_OBJECTなど)は、ファイルおよびオブジェクトで使用できます。ローカル・ファイル・システムには直接アクセスできません。
Lakehouseワークロードを使用したパラレル実行:
-
パラレル化はデータベース・サービスによって決定されます。各データベース・サービスの並列化サポートの詳細は、Autonomous AIデータベースのデータベース・サービス名を参照してください。
-
セッションでパラレルDML操作を無効にする場合は、次のSQLコマンドを使用します。
ALTER SESSION DISABLE PARALLEL DML;パラレルDML操作の詳細は、「VLDBおよびパーティショニング・ガイド」を参照してください。
レイクハウス・ワークロードのDMLパフォーマンスおよび圧縮の管理
Autonomous AI Database with Lakehouseのワークロードでは、すべてのテーブルにハイブリッド・コラム圧縮がデフォルトで使用されます。これにより、DBMS_CLOUDパッケージを使用して実行されるロードなどのダイレクト・パス・ロード操作で、最高の圧縮率と最適なパフォーマンスを得ることができます。表に対してUPDATEやMERGEなどのDML操作を実行する場合、これらの操作によって、影響を受ける行の圧縮率が低下し、結果として表のサイズが大きくなる可能性があります。これらの操作では、未圧縮の表に対する同じ操作と比較してパフォーマンスが低下する可能性もあります。
最適な圧縮率と最適なパフォーマンスを得るには、Oracleでは、ダイレクト・パス・ロードやCREATE TABLE AS SELECT文などのバルク操作を使用することをお薦めします。ただし、ワークロードで表の大部分に対してUPDATEやMERGEなどのDML操作が頻繁に必要とされる場合、未圧縮の表としてこれらの表を作成すると、DMLパフォーマンスが向上します。たとえば、次の文では、未圧縮の表としてSALES表を作成しています。
CREATE TABLE sales (
prod_id NUMBER NOT NULL,
cust_id NUMBER NOT NULL,
time_id DATE NOT NULL,
channel_id NUMBER NOT NULL,
promo_id NUMBER NOT NULL,
quantity_sold NUMBER(10,2) NOT NULL,
amount_sold NUMBER(10,2) NOT NULL)
NOCOMPRESS;どの時点でも、ALTER TABLE MOVE文を使用して、表にアクセスする問合せに影響を与えることなく、これらの表を圧縮できます。たとえば、次の文で、Hybrid Columnar圧縮を使用してSALES表を圧縮しています。
ALTER TABLE sales MOVE COLUMN STORE COMPRESS FOR QUERY HIGH;レイクハウス・ワークロードのステージング表の作成
Autonomous AI Databaseは、レイクハウスへのデータのロード用に最適化されたステージング表をサポートしています。
ステージング表は、STAGINGプロパティが設定された表です。これは、次の特性に適用されます。
-
データ・ロードのステージング表では、任意の形式の圧縮が明示的にオフになり、許可されません。コマンド
ALTER TABLE COMPRESSは使用できません。 -
既存の表に
STAGINGプロパティを設定しても、既存のデータの格納には影響しませんが、将来のデータ・ロードには影響しません。 -
Autonomous AI Databaseでは、ステージング・プロパティが設定された表の統計に動的サンプリングが使用され、ステージング表の統計は収集されません。
-
ステージング表を削除すると、表はすぐに削除され、ごみ箱はバイパスされます。
recyclebin初期化パラメータを値ONに設定すると、ごみ箱は有効になりません。
Autonomous AI Databaseのパーティション化されたステージング表の特性には、上記に加えて次のものが含まれます。
-
表のすべてのパーティションおよびサブパーティションで、圧縮の形式は明示的にオフになり、許可されません。
-
ALTER TABLE MODIFY DEFAULT ATTRIBUTESでcompressを使用するように表のデフォルト属性を変更することはできません。 -
データを移動してデータを圧縮するパーティション・メンテナンス操作を実行することはできません。たとえば、圧縮を適用しようとすると、
MOVE PARTITION、MERGE PARTITIONS、SPLIT PARTITIONまたはSPLIT SUBPARTITIONのALTER TABLEは許可されません。 -
ALTER TABLE MODIFY PARTITIONを使用して表を再パーティション化し、圧縮する結果パーティションを指定することはできません。
表の作成時または既存の表の変更時に、次のようにステージング表を定義します。
-
STAGINGプロパティを使用して表を作成します。たとえば:
CREATE TABLE staging_table (col1 number, col2 varchar2(100)) FOR STAGING; CREATE TABLE part_staging_table (col1 number, col2 varchar2(100)) PARTITION BYRANGE (col1) (PARTITION p1 VALUESLESS THAN (100), PARTITION pmax VALUESLESS THAN (MAXVALUE)) FOR STAGING; -
既存の表を変更して、
STAGINGプロパティを設定します。たとえば:
ALTER TABLE staging_table FOR STAGING; -
USER_TABLES、ALL_TABLESまたはDBA_TABLESのいずれかのビューを使用して、表のSTAGINGプロパティを検証できます。これらのビューでは、
STAGING列はステージング表プロパティを示し、値YESはSTAGING表を示し、値NOは他のすべての表に対して表示されます。
表を変更して、STAGINGプロパティを削除できます。次に例を示します。
ALTER TABLE staging_table NOT FOR STAGING;NOT FOR STAGINGを使用して表を変更する場合は、次の点に注意してください。
-
NOT FOR STAGINGを使用して表を変更すると、圧縮属性および既存のデータは影響を受けず、表を明示的に変更して圧縮を指定するまで圧縮解除されたままになります。表の圧縮を変更でき、ALTER TABLE COMPRESSが許可されます。 -
NOT FOR STAGINGを使用して表を変更しても、統計収集はトリガーされません。NOT FOR STAGINGを使用して表プロパティを変更した後、統計を手動または自動で収集できます。 -
NOT FOR STAGINGを使用して表を変更した後、ごみ箱が有効になっているときに表を削除すると、その表がごみ箱に格納されます。