Carga de Trabalho do Data Warehouse com o Autonomous Database

O Autonomous Database configura e otimiza seu banco de dados para você, com base em sua carga de trabalho.

Características de um banco de dados com carga de trabalho do Data Warehouse:

  • Os tablespaces temporários e de dados padrão do banco de dados são configurados automaticamente. Não é permitido adicionar, remover ou modificar tablespaces. O Autonomous Database cria um tablespace ou vários tablespaces automaticamente, dependendo do tamanho do armazenamento.

  • O conjunto do caractere do banco de Dados é Unicode AL32UTF8. Consulte Escolher um Conjunto de Caracteres para Autonomous Database para obter mais informações.

  • A compactação está ativada por padrão. Por padrão, o Autonomous Database usa a compactação HCC (Hybrid Columnar Compression) para todas as tabelas. Você pode especificar diferentes métodos de compressão para suas tabelas usando a cláusula de compressão nos comandos CREATE TABLE ou ALTER TABLE.

  • O Cache de Resultados do Oracle Database é ativado por padrão para todas as instruções SQL.

Acessando um banco de dados:

  • Você não tem acesso direto ao nó do banco de dados. Você pode criar e eliminar diretórios com CREATE DIRECTORY e DROP DIRECTORY, conforme descrito em Criando e Gerenciando Diretórios no Autonomous Database.

    Você pode usar procedimentos DBMS_CLOUD, como DBMS_CLOUD.DELETE_FILE, DBMS_CLOUD.GET_OBJECT e DBMS_CLOUD.PUT_OBJECT, com arquivos e objetos. Você não terá acesso direto ao sistema de arquivos local.

Execução Paralela com carga de trabalho do Data Warehouse:

  • O paralelismo é determinado pelo serviço de banco de dados. Consulte Nomes de Serviço de Banco de Dados para Autonomous Database para obter mais informações. Para obter detalhes sobre suporte ao paralelismo para cada serviço de banco de dados.

  • Quando quiser desativar operações DML paralelas na sua sessão, use o seguinte comando SQL:

    ALTER SESSION DISABLE PARALLEL DML;

    Consulte VLDB e Guia de Particionamento para mais informações sobre operações DML paralelas.

Gerenciar Desempenho e Compactação DML para Cargas de Trabalho do Data Warehouse

Por padrão, o Autonomous Database com cargas de trabalho do Data Warehouse usa o Hybrid Columnar Compression para todas as tabelas. Isso oferece a melhor taxa de compactação e o melhor desempenho para operações de carga de caminho direto, como as cargas feitas usando o pacote DBMS_CLOUD. Se você executar operações DML como UPDATE e MERGE em suas tabelas, isso poderá fazer com que a taxa de compactação das linhas afetadas diminua, levando a tamanhos de tabela maiores. Essas operações também podem ter um desempenho mais lento em comparação com as mesmas operações em uma tabela descompactada.

Para obter a melhor taxa de compactação e o melhor desempenho, a Oracle recomenda o uso de operações em massa, como cargas de caminho direto e instruções CREATE TABLE AS SELECT. Mas, se a sua carga de trabalho exigir operações DML frequentes como UPDATE e MERGE em grandes partes de uma tabela, você poderá criar essas tabelas como tabelas descompactadas para obter melhor desempenho DML. Por exemplo, a instrução a seguir cria a tabela SALES como uma tabela descompactada:

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;

A qualquer momento, você pode usar a instrução ALTER TABLE MOVE para compactar essas tabelas sem afetar as consultas que as acessam. Por exemplo, a instrução a seguir compacta a tabela SALES usando a Compactação Colunar Híbrida.

ALTER TABLE sales MOVE COLUMN STORE COMPRESS FOR QUERY HIGH;

Criar Tabelas Intermediárias para Cargas de Trabalho do Data Warehouse

O Autonomous Database suporta tabelas de preparação otimizadas para carregar dados em um data warehouse.

Uma tabela intermediária é uma tabela com a propriedade STAGING definida. Isso se aplica às seguintes características:

  • Qualquer forma de compactação é explicitamente desativada e não permitida em uma tabela intermediária para qualquer carregamento de dados. O comando ALTER TABLE COMPRESS não é permitido.

  • A definição da propriedade STAGING em uma tabela existente não afeta o armazenamento de dados existentes, mas afeta os carregamentos de dados futuros.

  • O Autonomous Database usa amostragem dinâmica para estatísticas de tabelas com o conjunto de propriedades de preparação e não coleta estatísticas em tabelas de preparação.

  • Eliminar tabelas intermediárias remove imediatamente a tabela, ignorando a lixeira. Definir o parâmetro de inicialização recyclebin como o valor ON não ativa a lixeira.

As características das tabelas intermediárias particionadas do Autonomous Database incluem as anteriores, além das seguintes:

  • Qualquer forma de compactação é explicitamente desativada e não permitida em todas as partições e subpartições da tabela.

  • Você não pode alterar os atributos padrão da tabela para usar a compactação com ALTER TABLE MODIFY DEFAULT ATTRIBUTES.

  • Você não pode executar operações de manutenção de partição que movem dados e compactam os dados. Por exemplo, o seguinte não é permitido quando você tenta aplicar a compactação: ALTER TABLE com MOVE PARTITION, MERGE PARTITIONS, SPLIT PARTITION ou SPLIT SUBPARTITION.

  • Não é possível particionar uma tabela com ALTER TABLE MODIFY PARTITION e especificar qualquer partição resultante a ser compactada.

Defina as tabelas temporárias ao criar uma tabela ou alterando uma tabela existente da seguinte forma:

  1. Crie uma tabela com a propriedade STAGING.

    Por exemplo:

    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. Altere uma tabela existente para definir a propriedade STAGING.

    Por exemplo:

    ALTER TABLE staging_table FOR STAGING;
  3. Você pode verificar a propriedade STAGING de uma tabela usando uma das seguintes views: USER_TABLES, ALL_TABLES ou DBA_TABLES.

    Nessas exibições, a coluna STAGING indica a propriedade da tabela intermediária, um valor YES indica uma tabela STAGING, um valor NO é mostrado para todas as outras tabelas.

Você pode alterar uma tabela para remover a propriedade STAGING. Por exemplo:

ALTER TABLE staging_table NOT FOR STAGING;

Observe o seguinte para alterar uma tabela com NOT FOR STAGING:

  • Depois que você altera uma tabela com NOT FOR STAGING, o atributo de compactação e os dados existentes não são afetados e são mantidos como descompactados até que você altere explicitamente a tabela e especifique a compactação. Você pode alterar a compactação da tabela e o ALTER TABLE COMPRESS é permitido.

  • A alteração de uma tabela com NOT FOR STAGING não aciona a coleta de estatísticas. Depois de alterar a propriedade da tabela com NOT FOR STAGING, você poderá coletar estatísticas, manual ou automaticamente.

  • Depois de alterar uma tabela com NOT FOR STAGING, quando a lixeira estiver ativada, a eliminação da tabela colocará a tabela na lixeira.