Carico di lavoro del data warehouse con Autonomous Database

Autonomous Database configura e ottimizza automaticamente il tuo database in base al tuo carico di lavoro.

Caratteristiche di un database con carico di lavoro Data Warehouse:

  • I dati predefiniti e le tablespace temporanee per il database vengono configurati automaticamente. Non è consentito aggiungere, rimuovere o modificare tablespace. Autonomous Database crea automaticamente una o più tablespace a seconda della dimensione di storage.

  • Il set di caratteri del database è Unicode AL32UTF8. Per ulteriori informazioni, vedere Scegliere un set di caratteri per Autonomous Database.

  • La compressione è abilitata per impostazione predefinita. Per impostazione predefinita, Autonomous Database utilizza Hybrid Columnar Compression per tutte le tabelle. È possibile specificare metodi di compressione diversi per le tabelle utilizzando la clausola di compressione nei comandi CREATE TABLE o ALTER TABLE.

  • La cache dei risultati di Oracle Database è abilitata per impostazione predefinita per tutte le istruzioni SQL.

Accesso a un database:

  • Non si dispone dell'accesso diretto al nodo del database. È possibile creare ed eliminare le directory con CREATE DIRECTORY e DROP DIRECTORY, come descritto in Creazione e gestione delle directory su Autonomous Database.

    È possibile utilizzare le procedure DBMS_CLOUD, ad esempio DBMS_CLOUD.DELETE_FILE, DBMS_CLOUD.GET_OBJECT e DBMS_CLOUD.PUT_OBJECT, con file e oggetti. Non si dispone dell'accesso diretto al file system locale.

Esecuzione parallela con il carico di lavoro del data warehouse:

  • Il parallelismo viene determinato dal servizio di database. Per ulteriori informazioni, vedere Nomi dei servizi di database per Autonomous Database. Per i dettagli sul supporto del parallelismo per ogni servizio di database.

  • Quando si desidera disabilitare le operazioni DML parallele nella sessione, utilizzare il seguente comando SQL:

    ALTER SESSION DISABLE PARALLEL DML;

    Per ulteriori informazioni sulle operazioni DML parallele, vedere VLDB and Partitioning Guide.

Gestisci prestazioni e compressione DML per i carichi di lavoro del data warehouse

Per impostazione predefinita, Autonomous Database con carichi di lavoro Data Warehouse utilizza Hybrid Columnar Compression per tutte le tabelle. Ciò offre il miglior rapporto di compressione e prestazioni ottimali per le operazioni di carico con percorso diretto, come i carichi eseguiti utilizzando il pacchetto DBMS_CLOUD. Se si eseguono operazioni DML come UPDATE e MERGE sulle tabelle, il rapporto di compressione per le righe interessate potrebbe diminuire portando a dimensioni di tabella maggiori. Queste operazioni possono anche essere più lente rispetto alle stesse operazioni su una tabella non compressa.

Per ottenere il miglior rapporto di compressione e prestazioni ottimali, Oracle consiglia di utilizzare operazioni in blocco come le istruzioni direct-path load e CREATE TABLE AS SELECT. Tuttavia, se il carico di lavoro richiede operazioni DML frequenti come UPDATE e MERGE su grandi parti di una tabella, è possibile creare tali tabelle come tabelle non compresse per ottenere prestazioni DML migliori. Ad esempio, la seguente istruzione crea la tabella SALES come tabella non compressa:

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;

In qualsiasi momento è possibile utilizzare l'istruzione ALTER TABLE MOVE per comprimere queste tabelle senza influire sulle query che vi accedono. Ad esempio, l'istruzione seguente comprime la tabella SALES utilizzando Hybrid Columnar Compression.

ALTER TABLE sales MOVE COLUMN STORE COMPRESS FOR QUERY HIGH;

Crea tabelle di staging per carichi di lavoro data warehouse

Autonomous Database supporta tabelle di staging ottimizzate per il caricamento dei dati in un data warehouse.

Una tabella intermedia è una tabella con la proprietà STAGING impostata. Si applicano le seguenti caratteristiche:

  • Qualsiasi forma di compressione viene esplicitamente disattivata e non consentita in una tabella intermedia per qualsiasi caricamento dati. Il comando ALTER TABLE COMPRESS non è consentito.

  • L'impostazione della proprietà STAGING su una tabella esistente non influisce sulla memorizzazione dei dati esistenti, ma influisce sui caricamenti futuri dei dati.

  • Autonomous Database utilizza il campionamento dinamico per le statistiche per le tabelle con il set di proprietà di staging e non raccoglie le statistiche sulle tabelle di staging.

  • L'eliminazione delle tabelle intermedie rimuove immediatamente la tabella, ignorando il cestino. L'impostazione del parametro di inizializzazione recyclebin sul valore ON non abilita il cestino.

Le caratteristiche delle tabelle di staging partizionate di Autonomous Database includono quanto riportato sopra e quanto riportato di seguito.

  • Qualsiasi forma di compressione viene esplicitamente disattivata e non consentita su tutte le partizioni e sottopartizioni della tabella.

  • Non è possibile modificare gli attributi predefiniti della tabella per utilizzare la compressione con ALTER TABLE MODIFY DEFAULT ATTRIBUTES.

  • Non è possibile eseguire operazioni di manutenzione delle partizioni che spostano i dati e li comprimono. Ad esempio, quando si tenta di applicare la compressione, non sono consentiti i seguenti elementi: ALTER TABLE con MOVE PARTITION, MERGE PARTITIONS, SPLIT PARTITION o SPLIT SUBPARTITION.

  • Non è possibile ripartizionare una tabella con ALTER TABLE MODIFY PARTITION e specificare qualsiasi partizione risultante da comprimere.

Definire le tabelle di staging quando si crea una tabella o modificando una tabella esistente come indicato di seguito.

  1. Creare una tabella con la proprietà STAGING.

    Ad esempio:

    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. Modificare una tabella esistente per impostare la proprietà STAGING.

    Ad esempio:

    ALTER TABLE staging_table FOR STAGING;
  3. È possibile verificare la proprietà STAGING per una tabella utilizzando una delle viste seguenti: USER_TABLES, ALL_TABLES o DBA_TABLES.

    In queste viste, la colonna STAGING indica la proprietà della tabella intermedia, il valore YES indica una tabella STAGING e il valore NO viene visualizzato per tutte le altre tabelle.

È possibile modificare una tabella per rimuovere la proprietà STAGING. Ad esempio:

ALTER TABLE staging_table NOT FOR STAGING;

Per modificare una tabella con NOT FOR STAGING, tenere presente quanto riportato di seguito.

  • Dopo aver modificato una tabella con NOT FOR STAGING, l'attributo di compressione e i dati esistenti non vengono interessati e vengono mantenuti come non compressi finché non si modifica esplicitamente la tabella e si specifica la compressione. È possibile modificare la compressione della tabella e ALTER TABLE COMPRESS è consentito.

  • La modifica di una tabella con NOT FOR STAGING non attiva la raccolta delle statistiche. Dopo aver modificato la proprietà della tabella con NOT FOR STAGING, è possibile raccogliere le statistiche manualmente o automaticamente.

  • Dopo aver modificato una tabella con NOT FOR STAGING, quando il cestino è abilitato a rilasciare la tabella, la tabella viene inserita nel cestino.