Data Warehouse-Workload mit Autonomous Database

Autonomous Database konfiguriert und optimiert die Datenbank je nach Workload für Sie.

Merkmale einer Datenbank mit Data Warehouse-Workload:

  • Die standardmäßigen Data und Temporary Tablespaces für die Datenbank werden automatisch konfiguriert. Das Hinzufügen, Entfernen oder Ändern von Tablespaces ist nicht zulässig. Autonomous Database erstellt je nach Speichergröße automatisch einen oder mehrere Tablespaces.

  • Der Datenbankzeichensatz ist Unicode AL32UTF8. Weitere Informationen finden Sie unter Zeichensatz für Autonomous Database auswählen.

  • Die Unterdrückung ist standardmäßig aktiviert. Autonomous Database verwendet standardmäßig für alle Tabellen die Hybridspaltenkomprimierung. Sie können verschiedene Kompressionsmethoden für Tabellen mit der Kompressionsklausel in den Befehlen CREATE TABLE oder ALTER TABLE angeben.

  • Oracle Database Result Cache ist standardmäßig für alle SQL-Anweisungen aktiviert.

Auf eine Datenbank zugreifen:

  • Sie haben keinen direkten Zugriff auf den Datenbankknoten. Sie können Verzeichnisse mit CREATE DIRECTORY und DROP DIRECTORY erstellen und löschen, wie unter Verzeichnisse in Autonomous Database erstellen und verwalten beschrieben.

    Sie können DBMS_CLOUD-Verfahren wie DBMS_CLOUD.DELETE_FILE, DBMS_CLOUD.GET_OBJECT und DBMS_CLOUD.PUT_OBJECT mit Dateien und Objekten verwenden. Sie können nicht direkt auf das lokale Dateisystem zugreifen.

Parallel Execution mit Data Warehouse-Workload:

  • Die Parallelität wird durch den Datenbankservice bestimmt. Weitere Informationen finden Sie unter Datenbankservice-Namen für Autonomous Database. Details zur Parallelitätsunterstützung für jeden Datenbankservice.

  • Wenn Sie parallele DML-Vorgänge in Ihrer Session deaktivieren möchten, verwenden Sie den folgenden SQL-Befehl:

    ALTER SESSION DISABLE PARALLEL DML;

    Weitere Informationen über parallele DML-Vorgänge finden Sie in der Dokumentation zu VLDB und Partitionierung.

DML-Performance und -Komprimierung für Data Warehouse-Workloads verwalten

Autonomous Database mit Data Warehouse-Workloads verwendet standardmäßig Hybridspaltenkomprimierung für alle Tabellen. Dies bietet das beste Komprimierungsverhältnis und optimale Performance für direkte Pfadladevorgänge, wie die mit dem Package DBMS_CLOUD ausgeführten Ladevorgänge. Wenn Sie DML-Vorgänge wie UPDATE und MERGE für Ihre Tabellen ausführen, kann dies dazu führen, dass das Komprimierungsverhältnis für die betroffenen Zeilen verringert wird, was zu größeren Tabellengrößen führt. Diese Vorgänge können auch im Vergleich zu denselben Vorgängen an einer unkomprimierten Tabelle langsamer ausgeführt werden.

Für das beste Komprimierungsverhältnis und optimale Performance empfiehlt Oracle die Verwendung von Bulkvorgängen wie direkten Pfadladevorgängen und CREATE TABLE AS SELECT-Anweisungen. Wenn Ihre Workload jedoch häufige DML-Vorgänge wie UPDATE und MERGE für große Teile einer Tabelle erfordert, können Sie diese Tabellen als unkomprimierte Tabellen erstellen, um eine bessere DML-Performance zu erzielen. Beispiel: Die folgende Anweisung erstellt die Tabelle SALES als unkomprimierte Tabelle:

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;

Sie können diese Tabellen jederzeit mit der Anweisung ALTER TABLE MOVE komprimieren, ohne dass sich dies auf Abfragen auswirkt, die auf sie zugreifen. Beispiel: Die folgende Anweisung komprimiert die Tabelle SALES mit der Hybridspaltenkomprimierung.

ALTER TABLE sales MOVE COLUMN STORE COMPRESS FOR QUERY HIGH;

Staging-Tabellen für Data Warehouse-Workloads erstellen

Autonomous Database unterstützt Staging-Tabellen, die für das Laden von Daten in ein Data Warehouse optimiert sind.

Eine Staging-Tabelle ist eine Tabelle, in der die Eigenschaft STAGING festgelegt ist. Dadurch weist die Tabelle die folgenden Merkmale auf:

  • Bei einem Laden von Daten in einer Staging-Tabelle ist jede Form der Komprimierung explizit deaktiviert und nicht zulässig. Der Befehl ALTER TABLE COMPRESS ist nicht zulässig.

  • Das Festlegen der Eigenschaft STAGING für eine vorhandene Tabelle hat keine Auswirkungen auf die Speicherung vorhandener Daten, wirkt sich jedoch auf zukünftige Dataloads jedoch nicht aus.

  • Autonomous Database verwendet für Tabellen, bei denen die Eigenschaft "Staging" festgelegt ist, dynamisches Sampling für Statistiken und erfasst keine Statistiken für Staging-Tabellen.

  • Wenn Sie Staging-Tabellen löschen, wird die Tabelle sofort entfernt und der Papierkorb umgangen. Wenn Sie den Initialisierungsparameter recyclebin auf den Wert ON setzen, wird der Papierkorb nicht aktiviert.

Partitionierte Staging-Tabellen von Autonomous Database umfassen neben den oben genannten die folgenden Merkmale:

  • In allen Partitionen und Unterpartitionen der Tabelle ist jede Form der Komprimierung explizit deaktiviert und nicht zulässig.

  • Sie können die Standardattribute der Tabelle nicht mit ALTER TABLE MODIFY DEFAULT ATTRIBUTES ändern, um die Komprimierung zu verwenden.

  • Partitionswartungsvorgänge, bei denen Daten verschoben und komprimiert werden, sind nicht möglich. Beispiel: Die folgenden Vorgänge sind nicht zulässig, wenn Sie versuchen, die Komprimierung anzuwenden: ALTER TABLE mit MOVE PARTITION, MERGE PARTITIONS, SPLIT PARTITION oder SPLIT SUBPARTITION.

  • Sie können eine Tabelle nicht mit ALTER TABLE MODIFY PARTITION neu partitionieren und die resultierende Partition komprimieren.

So definieren Sie Staging-Tabellen beim Erstellen einer Tabelle oder ändern eine vorhandene Tabelle:

  1. Erstellen Sie eine Tabelle mit der Eigenschaft STAGING.

    Beispiele:

    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. Ändern Sie eine vorhandene Tabelle, um die Eigenschaft STAGING festzulegen.

    Beispiele:

    ALTER TABLE staging_table FOR STAGING;
  3. Sie können die Eigenschaft STAGING für eine Tabelle mit einer der folgenden Ansichten prüfen: USER_TABLES, ALL_TABLES oder DBA_TABLES.

    In diesen Ansichten gibt die Spalte STAGING die Staging-Tabelleneigenschaft an, ein Wert YES gibt eine STAGING-Tabelle an, ein Wert NO wird für alle anderen Tabellen angezeigt.

Sie können eine Tabelle ändern, um die Eigenschaft STAGING zu entfernen. Beispiele:

ALTER TABLE staging_table NOT FOR STAGING;

Beachten Sie Folgendes, wenn Sie eine Tabelle mit NOT FOR STAGING ändern:

  • Nachdem Sie eine Tabelle mit NOT FOR STAGING geändert haben, sind das Komprimierungsattribut und die vorhandenen Daten davon nicht betroffen und werden so lange unkomprimiert beibehalten, bis Sie die Tabelle explizit ändern und die Komprimierung angeben. Sie können die Tabellenkomprimierung ändern, und ALTER TABLE COMPRESS ist zulässig.

  • Wenn Sie eine Tabelle mit NOT FOR STAGING ändern, wird die Erfassung von Statistiken nicht ausgelöst. Nach dem Ändern der Tabelleneigenschaften mit NOT FOR STAGING können Sie Statistiken entweder manuell oder automatisch erfassen.

  • Nachdem Sie eine Tabelle mit NOT FOR STAGING geändert haben, wird die Tabelle beim Löschen in den Papierkorb verschoben, wenn der Papierkorb aktiviert ist.