Charge globale d'entrepôt de données avec Autonomous Database

Autonomous Database configure et optimise votre base de données pour vous, en fonction de votre charge globale.

Caractéristiques d'une base de données avec une charge globale Data Warehouse :

  • Les données par défaut et les tablespaces temporaires de la base de données sont configurés automatiquement. L'ajout, la suppression ou la modification de tablespaces n'est pas autorisé. Autonomous Database crée automatiquement un tablespace ou plusieurs tablespaces en fonction de la taille de stockage.

  • Le jeu de caractères de base de données est Unicode AL32UTF8. Pour plus d'informations, reportez-vous à Choix d'un jeu de caractères pour Autonomous Database.

  • La compression est activée par défaut. Par défaut, Autonomous Database utilise la compression en colonnes hybride pour toutes les tables. Vous pouvez spécifier différentes méthodes de Compression pour les tables à l'aide de la clause de Compression dans les commandes CREATE TABLE ou ALTER TABLE.

  • Le cache de résultats Oracle Database est activé par défaut pour toutes les instructions SQL.

Accéder à une base de données :

  • Vous ne disposez pas d'un accès direct au noeud de base de données. Vous pouvez créer et supprimer des répertoires avec CREATE DIRECTORY et DROP DIRECTORY, comme décrit dans Création et gestion de répertoires sur Autonomous Database.

    Vous pouvez utiliser des procédures DBMS_CLOUD telles que DBMS_CLOUD.DELETE_FILE, DBMS_CLOUD.GET_OBJECT et DBMS_CLOUD.PUT_OBJECT avec des fichiers et des objets. Vous ne disposez pas d'un accès direct au système de fichiers local.

Exécution parallèle avec la charge globale Data Warehouse :

  • Le parallélisme est déterminé par le service de base de données. Pour plus d'informations, reportez-vous à Noms de service Database pour Autonomous Database. Pour plus d'informations sur la prise en charge du parallélisme pour chaque service de base de données, reportez-vous à .

  • Pour désactiver les opérations LMD parallèles dans votre session, utilisez la commande SQL suivante :

    ALTER SESSION DISABLE PARALLEL DML;

    Pour plus d'informations sur des opérations DML parallèles, reportez-vous au VLDB and Partitioning Guide.

Gérer les performances et la compression DML pour les charges de travail d'entrepôt de données

Par défaut, Autonomous Database avec des charges globales de data warehouse utilise la compression en colonnes hybride pour toutes les tables. Cela offre le meilleur taux de compression et des performances optimales pour les opérations de chargement par chemin direct telles que les chargements effectués à l'aide du package DBMS_CLOUD. Si vous effectuez des opérations LMD telles que UPDATE et MERGE sur vos tables, le taux de compression des lignes concernées peut diminuer, ce qui entraîne une augmentation de la taille des tables. Ces opérations peuvent également être plus lentes par rapport aux mêmes opérations sur une table non compressée.

Pour obtenir le meilleur taux de compression et des performances optimales, Oracle recommande d'utiliser des opérations en masse telles que les charges par chemin direct et les instructions CREATE TABLE AS SELECT. Toutefois, si votre charge globale nécessite des opérations LMD fréquentes telles que UPDATE et MERGE sur de grandes parties d'une table, vous pouvez créer ces tables en tant que tables non compressées pour améliorer les performances LMD. Par exemple, l'instruction suivante crée la table SALES en tant que table non compressée :

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 tout moment, vous pouvez utiliser l'instruction ALTER TABLE MOVE pour compresser ces tables sans affecter l'accès des requêtes. Par exemple, l'instruction suivante compresse la table SALES à l'aide de la compression en colonnes hybride.

ALTER TABLE sales MOVE COLUMN STORE COMPRESS FOR QUERY HIGH;

Créer des tables intermédiaires pour les charges globales d'entrepôt de données

Autonomous Database prend en charge les tables intermédiaires optimisées pour le chargement de données dans un data warehouse.

Une table intermédiaire est une table avec la propriété STAGING définie. Les caractéristiques suivantes s'appliquent :

  • Toute forme de compression est explicitement désactivée et interdite sur une table intermédiaire pour tout chargement de données. La commande ALTER TABLE COMPRESS n'est pas autorisée.

  • La définition de la propriété STAGING sur une table existante n'a pas d'impact sur le stockage des données existantes, mais a un impact sur les chargements de données futurs.

  • Autonomous Database utilise l'échantillonnage dynamique pour les statistiques des tables avec l'ensemble de propriétés intermédiaire et ne collecte pas de statistiques sur les tables intermédiaires.

  • La suppression de tables de transfert supprime immédiatement la table, en ignorant la corbeille. La définition du paramètre d'initialisation recyclebin sur la valeur ON n'active pas la corbeille.

Les caractéristiques des tables intermédiaires partitionnées Autonomous Database sont les suivantes :

  • Toute forme de compression est explicitement désactivée et interdite sur toutes les partitions et sous-partitions de la table.

  • Vous ne pouvez pas modifier les attributs par défaut de la table pour utiliser compress avec ALTER TABLE MODIFY DEFAULT ATTRIBUTES.

  • Vous ne pouvez pas effectuer d'opérations de maintenance de partition qui déplacent et compressent les données. Par exemple, les éléments suivants ne sont pas autorisés lorsque vous essayez d'appliquer la compression : ALTER TABLE avec MOVE PARTITION, MERGE PARTITIONS, SPLIT PARTITION ou SPLIT SUBPARTITION.

  • Vous ne pouvez pas repartitionner une table avec ALTER TABLE MODIFY PARTITION et indiquer une partition résultante à compresser.

Définissez les tables intermédiaires lorsque vous créez une table ou en modifiant une table existante comme suit :

  1. Créez une table avec la propriété STAGING.

    Par exemple :

    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. Modifiez une table existante pour définir la propriété STAGING.

    Par exemple :

    ALTER TABLE staging_table FOR STAGING;
  3. Vous pouvez vérifier la propriété STAGING pour une table à l'aide de l'une des vues suivantes : USER_TABLES, ALL_TABLES ou DBA_TABLES.

    Dans ces vues, la colonne STAGING indique la propriété de table intermédiaire, la valeur YES indique une table STAGING, la valeur NO est affichée pour toutes les autres tables.

Vous pouvez modifier une table pour enlever la propriété STAGING. Par exemple :

ALTER TABLE staging_table NOT FOR STAGING;

Pour modifier une table avec NOT FOR STAGING, tenez compte des points suivants :

  • Une fois que vous avez modifié une table avec NOT FOR STAGING, l'attribut de compression et les données existantes ne sont pas affectés et sont conservés comme non compressés jusqu'à ce que vous modifiiez explicitement la table et indiquiez la compression. Vous pouvez modifier la compression de table et ALTER TABLE COMPRESS est autorisé.

  • La modification d'une table avec NOT FOR STAGING ne déclenche pas la collecte de statistiques. Une fois que vous avez modifié la propriété de table avec NOT FOR STAGING, vous pouvez collecter des statistiques, manuellement ou automatiquement.

  • Une fois que vous avez modifié une table avec NOT FOR STAGING, lorsque la corbeille est activée, la suppression de la table la place dans la corbeille.