機械翻訳について

Autonomous Databaseを使用したデータ・ウェアハウス・ワークロード

Autonomous Databaseは、ワークロードに基づいてデータベースを構成および最適化します。

データ・ウェアハウス・ワークロードを使用する「データベース」の特性:

  • データベースのデフォルトのデータおよび一時表領域は自動的に構成されます。 表領域の追加、削除、または変更は許可されていません。 Autonomous Databaseでは、ストレージ・サイズに応じて1つの表領域または複数の表領域が自動的に作成されます。

  • データベース文字セットはUnicode AL32UTF8です。 詳細については、「Autonomous Databaseの文字セットの選択」を参照してください。

  • 圧縮はデフォルトで有効です。 Autonomous Databaseでは、デフォルトですべての表にハイブリッド列圧縮が使用されます。 CREATE TABLEまたはALTER TABLEコマンドで圧縮句を使用すると、表に異なる圧縮メソッドを指定できます。

  • Oracle Database結果キャッシュは、すべてのSQL文に対してデフォルトで有効です。

データベースへのアクセス:

  • データベース・ノードへの直接アクセスがありません。 「Autonomous Databaseでのディレクトリの作成および管理」の説明に従って、CREATE DIRECTORYDROP DIRECTORYを使用してディレクトリを作成およびドロップできます。

    ファイルおよびオブジェクトとともに、DBMS_CLOUD.DELETE_FILEDBMS_CLOUD.GET_OBJECTDBMS_CLOUD.PUT_OBJECTなどのDBMS_CLOUDプロシージャを使用できます。 ローカル・ファイル・システムへの直接アクセスがありません。

データ・ウェアハウス・ワークロードでのパラレル実行:

データ・ウェアハウス・ワークロードのDMLパフォーマンスおよび圧縮の管理

データ・ウェアハウス・ワークロードを使用するAutonomous Databaseでは、デフォルトですべての表にハイブリッド列圧縮が使用されます。 これにより、DBMS_CLOUDパッケージを使用したロードのようなダイレクト・パス・ロード操作では、圧縮率と最適なパフォーマンスが得られます。 表に対してUPDATEMERGEなどのDML操作を実行すると、影響を受ける行の圧縮率が低下し、表のサイズが大きくなります。 これらの操作は、圧縮されていない表での同じ操作に比べて速度が低下する場合もあります。

最適な圧縮率と最適なパフォーマンスを得るために、Oracleでは「ダイレクト・パス・ロード」文やCREATE TABLE AS SELECT文などの一括操作を使用することをお薦めします。 ただし、このワークロードが表の大部分であるUPDATEMERGEなどの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文を使用してそれらの表を圧縮することができます。 たとえば、次の文は、ハイブリッド列圧縮を使用して表SALESを圧縮します。

ALTER TABLE sales MOVE COLUMN STORE COMPRESS FOR QUERY HIGH;

データ・ウェアハウス・ワークロードのステージング表の作成

Autonomous Databaseは、データ・ウェアハウスへのデータのロード用に最適化されたステージング表をサポートしています。

ステージング表は、STAGINGプロパティが設定されている表です。 これにより、次の特性が適用されます:

  • あらゆる圧縮形式は、データ・ロードのステージング表で明示的にオフになり、禁止されます。 コマンドALTER TABLE COMPRESSは使用できません。

  • 既存の表にSTAGINGプロパティを設定しても、既存のデータのストレージには影響しませんが、将来のデータ・ロードに影響します。

  • Autonomous Databaseは、ステージング・プロパティが設定されている表の統計に動的統計を使用し、ステージング表の統計を収集しません。

  • ステージング表を削除すると、その表はごみ箱をバイパスしてただちに削除されます。 recyclebin初期化パラメータを値ONに設定しても、ごみ箱は有効になりません。

Autonomous Databaseパーティション・ステージング表の特性には、前述の内容に加えて次のものが含まれます:

  • すべての圧縮形式は明示的にオフになり、すべての表パーティションおよびサブパーティションでは禁止されます。

  • ALTER TABLE MODIFY DEFAULT ATTRIBUTESでcompressを使用するように表のデフォルト属性を変更することはできません。

  • データを移動し、データを圧縮するパーティション・メンテナンス操作は実行できません。 たとえば、圧縮を適用しようとすると、次は許可されません: ALTER TABLEMOVE PARTITION, MERGE PARTITIONS, SPLIT PARTITION、またはSPLIT SUBPARTITION

  • ALTER TABLE MODIFY PARTITIONを使用して表を再パーティション化し、圧縮する結果パーティションを指定することはできません。

ステージング表は、表の作成時または既存の表の変更時に次のように定義します:

  1. 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;
  2. 既存の表を変更して、STAGINGプロパティを設定します。

    たとえば:

    ALTER TABLE staging_table FOR STAGING;
  3. 次のいずれかのビューを使用して、表のSTAGINGプロパティを確認できます: USER_TABLESALL_TABLES、またはDBA_TABLES

    これらのビューでは、STAGING列はステージング表プロパティを示し、値YESSTAGING表を示し、値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を使用して表を変更した後、ごみ箱を有効にした場合、その表はごみ箱に配置されます。