Autonomous Databaseでのデータ・ウェアハウス・ワークロード
Autonomous Databaseは、ワークロードに基づいてデータベースを構成および最適化します。
データ・ウェアハウス・ワークロードがあるデータベースの特性:
-
データベースのデフォルトのデータおよび一時表領域が自動的に構成されます。表領域の追加、削除、または変更は許可されません。Autonomous Databaseは、ストレージ・サイズに応じて、1つの表領域または複数の表領域を自動的に作成します。
-
データベース・キャラクタ・セットはUnicode
AL32UTF8
です。詳細は、Autonomous Databaseの文字セットの選択を参照してください。 -
圧縮はデフォルトで有効になっています。Autonomous Databaseでは、デフォルトですべての表に対してハイブリッド列圧縮を使用します。
CREATE TABLE
またはALTER TABLE
コマンドで圧縮句を使用して、表に様々な圧縮方式を指定できます。 -
Oracle Database結果キャッシュは、すべてのSQL文に対してデフォルトで有効です。
データベースへのアクセス方法:
-
データベース・ノードには直接アクセスできません。「Autonomous Databaseでのディレクトリの作成および管理」で説明されているように、
CREATE DIRECTORY
およびDROP DIRECTORY
を使用してディレクトリを作成および削除できます。ファイルやオブジェクトには、
DBMS_CLOUD.DELETE_FILE
、DBMS_CLOUD.GET_OBJECT
、DBMS_CLOUD.PUT_OBJECT
などのDBMS_CLOUD
プロシージャを使用できます。ローカル・ファイル・システムには直接アクセスできません。
データ・ウェアハウスのワークロードを使用したパラレル実行:
-
並列性は、データベース・サービスによって決まります。各データベース・サービスの並列性サポートの詳細は、Autonomous Databaseのデータベース・サービス名を参照してください。
-
セッションでパラレルDML操作を無効にする場合は、次のSQLコマンドを使用します。
ALTER SESSION DISABLE PARALLEL DML;
パラレルDMLの操作の詳細は、『VLDBおよびパーティショニング・ガイド』を参照してください。
- Data WarehouseワークロードのDMLパフォーマンスと圧縮の管理
- データ・ウェアハウス・ワークロードのステージング表の作成
Autonomous Databaseでは、データ・ウェアハウスへのデータのロード用に最適化されたステージング表がサポートされています。
データ・ウェアハウス・ワークロードでのDMLのパフォーマンスと圧縮を管理
データ・ウェアハウス・ワークロードでのAutonomous Databaseでは、デフォルトですべての表に対してハイブリッド列圧縮を使用します。これにより、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
文を使用して、表にアクセスする問合せに影響を与えることなく、これらの表を圧縮できます。たとえば、次の文で、ハイブリッド列圧縮を使用して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を使用するように表のデフォルト属性を変更することはできません。 -
データの移動と圧縮を伴うパーティション・メンテナンス操作を実行することはできません。たとえば、圧縮を適用しようとすると、
MOVE PARTITION
、MERGE PARTITIONS
、SPLIT PARTITION
またはSPLIT SUBPARTITION
を含むALTER TABLE
は許可されません。 -
ALTER TABLE MODIFY PARTITION
を使用して表を再パーティション化して、圧縮する結果パーティションを指定することはできません。
表の作成時または既存の表の変更時に、次のようにステージング表を定義します。
表を変更して、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
を使用して表を変更した後、ごみ箱の削除を有効にすると、その表がごみ箱に置かれます。