Carga de trabajo de Data Warehouse con Autonomous Database

Autonomous Database configura y optimiza su base de datos en función de su carga de trabajo.

Características de una base de datos con carga de trabajo de Data Warehouse:

  • Los datos por defecto y los tablespaces temporales de la base de datos se configuran automáticamente. No está permitida la adición, eliminación ni modificación de tablespaces. Autonomous Database crea un tablespace o varios tablespaces automáticamente según el tamaño de almacenamiento.

  • El juego de caracteres de la base de datos es Unicode AL32UTF8. Consulte Selección de juego de caracteres para Autonomous Database para obtener más información.

  • La compresión está activada por defecto. Autonomous Database utiliza la compresión de columnas híbrida para todas las tablas por defecto. Puede especificar métodos de compresión diferentes para las tablas mediante la cláusula de compresión en los comandos CREATE TABLE o ALTER TABLE.

  • La caché de resultados de Oracle Database está activada por defecto para todas las sentencias SQL.

Acceso a una base de datos:

  • No tiene acceso directo al nodo de base de datos. Puede crear y borrar directorios con CREATE DIRECTORY y DROP DIRECTORY, como se describe en Creación y gestión de directorios en Autonomous Database.

    Puede utilizar los procedimientos de DBMS_CLOUD, como DBMS_CLOUD.DELETE_FILE, DBMS_CLOUD.GET_OBJECT y DBMS_CLOUD.PUT_OBJECT con archivos y objetos. No tiene acceso directo al sistema de archivos local.

Ejecución en paralelo con carga de trabajo de Data Warehouse:

  • El paralelo lo determina el servicio de base de datos. Consulte Nombres de servicios de base de datos para Autonomous Data Warehouse para obtener más información sobre el soporte de paralelismo para cada servicio de base de datos.

  • Cuando desee desactivar las operaciones DML en paralelo en la sesión, utilice el siguiente comando SQL:

    ALTER SESSION DISABLE PARALLEL DML;

    Consulte VLDB and Partitioning Guide para obtener más información sobre las operaciones DML paralelas.

Gestión del rendimiento y la compresión de DML para cargas de trabajo de Data Warehouse

Autonomous Database con cargas de trabajo de Data Warehouse utiliza la compresión de columnas híbrida para todas las tablas por defecto. Esto proporciona el mejor ratio de compresión y rendimiento óptimo para operaciones de carga de ruta directa, como las cargas realizadas mediante el paquete DBMS_CLOUD. Si realiza operaciones DML como UPDATE y MERGE en las tablas, puede que el ratio de compresión de las filas afectadas disminuya, lo que puede aumentar el tamaño de las tablas. Estas operaciones también pueden tener un rendimiento más lento en comparación con las mismas operaciones en una tabla sin comprimir.

Para obtener el mejor ratio de compresión y rendimiento óptimo, Oracle recomienda utilizar operaciones masivas como direct-path load y sentencias CREATE TABLE AS SELECT. Sin embargo, si la carga de trabajo necesita operaciones DML frecuentes como UPDATE y MERGE en partes grandes de una tabla, puede crear esas tablas como tablas no comprimidas para lograr un mejor rendimiento de DML. Por ejemplo, con la siguiente sentencia se crea la tabla SALES como una tabla no comprimida:

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;

En cualquier punto en el tiempo, puede utilizar la sentencia ALTER TABLE MOVE para comprimir estas tablas sin que las consultas que acceden a ellas se vean afectadas. Por ejemplo, con la siguiente sentencia se comprime la tabla SALES mediante la compresión de columnas híbrida.

ALTER TABLE sales MOVE COLUMN STORE COMPRESS FOR QUERY HIGH;

Creación de tablas temporales para cargas de trabajo de Data Warehouse

Autonomous Database soporta tablas temporales optimizadas para cargar datos en un almacén de datos.

Una tabla temporal es una tabla con el juego de propiedades STAGING. Se aplican las características siguientes:

  • Cualquier tipo de compresión se activa y no se permite explícitamente en una tabla temporal para cualquier carga de datos. El comando ALTER TABLE COMPRESS no está permitido.

  • La configuración de la propiedad STAGING en una tabla existente no afecta al almacenamiento de datos existentes, pero afecta a las cargas de datos futuras.

  • Autonomous Database utiliza el ejemplo dinámico para estadísticas de tablas con el juego de propiedades temporales y no recopila estadísticas en tablas temporales.

  • Al borrar tablas temporales, se elimina inmediatamente la tabla, omitiendo la papelera de reciclaje. Al definir el parámetro de inicialización recyclebin en el valor ON, no se activa la papelera de reciclaje.

Las características de las tablas temporales particionadas de Autonomous Database incluyen lo anterior, además de lo siguiente:

  • Todas las formas de compresión se desactivan y no se permiten explícitamente en todas las particiones y subparticiones de la tabla.

  • No puede cambiar los atributos por defecto de la tabla para utilizar la compresión con ALTER TABLE MODIFY DEFAULT ATTRIBUTES.

  • No puede realizar operaciones de mantenimiento de particiones que muevan datos y compriman los datos. Por ejemplo, al intentar aplicar la compresión no se permiten los siguientes elementos: ALTER TABLE con MOVE PARTITION, MERGE PARTITIONS, SPLIT PARTITION ni SPLIT SUBPARTITION.

  • No puede reconfigurar la partición de una tabla con ALTER TABLE MODIFY PARTITION ni especificar que se comprima cualquier partición resultante.

Defina las tablas temporales al crear una tabla o al modificar una existente de la siguiente forma:

  1. Cree una tabla con la propiedad STAGING.

    Por ejemplo:

    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. Cambie una tabla existente para definir la propiedad STAGING.

    Por ejemplo:

    ALTER TABLE staging_table FOR STAGING;
  3. Puede verificar la propiedad STAGING de una tabla mediante una de las siguientes vistas: USER_TABLES, ALL_TABLES o DBA_TABLES.

    En estas vistas, la columna STAGING indica la propiedad de tabla temporal, un valor YES indica una tabla STAGING, un valor NO se muestra para el resto de tablas.

Puede modificar una tabla para eliminar la propiedad STAGING. Por ejemplo:

ALTER TABLE staging_table NOT FOR STAGING;

Tenga en cuenta lo siguiente para modificar una tabla con NOT FOR STAGING:

  • Después de modificar una tabla con NOT FOR STAGING, el atributo de compresión y los datos existentes no se afectan y se mantienen como no comprimidos hasta que modifique explícitamente la tabla y especifique la compresión. Puede cambiar la compresión de tabla y se permite ALTER TABLE COMPRESS.

  • La modificación de una tabla con NOT FOR STAGING no dispara la recopilación de estadísticas. Después de cambiar la propiedad de tabla con NOT FOR STAGING, puede recopilar estadísticas, de forma manual o automática.

  • Después de modificar una tabla con NOT FOR STAGING, cuando la papelera de reciclaje esté activada, al borrar la tabla, esta se coloca en la misma.