Carga de Trabalho do Lakehouse com o Autonomous AI Database

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

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

  • 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 AI 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 o Autonomous AI Database para obter mais informações.

  • A compactação está ativada por padrão. O Autonomous AI Database usa a compactação colunar híbrida para todas as tabelas por padrão. 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 AI 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 Lakehouse:

  • O paralelismo é determinado pelo serviço de banco de dados. Consulte Nomes de Serviço de Banco de Dados para o Autonomous AI Database para obter mais informações. Para obter detalhes sobre suporte a 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 Lakehouse

O Autonomous AI Database com cargas de trabalho Lakehouse usa a compactação colunar híbrida para todas as tabelas por padrão. 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 Lakehouse

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

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 AI 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 AI 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.